Omnisend Contacts & Tags
For online stores that email and text through Omnisend: look up a shopper by email or phone, see their email and SMS consent, add or update subscribers with custom properties, and tag whole groups (a list of emails, phones or a segment) so the right automation picks them up.
Connect this API to an AI agent Browse all specs
What you can do with Omnisend Contacts & Tags via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /contacts |
listContacts | List or find contacts by email, phone, status, segment or tag |
| POST | /contacts |
upsertContact | Add a contact, or update it if the email or phone exists |
| PATCH | /contacts |
updateContactByEmail | Update the contact with a given email address |
| GET | /contacts/{id} |
getContact | Get a contact with consent status, tags and custom properties |
| PATCH | /contacts/{id} |
updateContact | Update a contact by its Omnisend id |
| POST | /contacts/tags |
addTagsToContacts | Add tags to contacts by id, email, phone or segment |
Authentication
omnisendApiKey
API key — sent as the Authorization header
Omnisend API key sent in the Authorization header as Omnisend-API-Key <your key>. Save the whole value, including the Omnisend-API-Key prefix, as the credential.
How to get a credential
- In Omnisend, open Store settings > API keys (app.omnisend.com/integrations/api-keys).
- Click Create API key, name it (e.g.
VX Agents). - Under permissions, give Contacts read and write access.
- Copy the key and save it as
Omnisend-API-Key <key>.
Permissions used
| Permission | Operations |
|---|---|
Contacts: read (contacts.read) |
listContacts, getContact |
Contacts: write (contacts.write) |
upsertContact, updateContactByEmail, updateContact, addTagsToContacts |
Common errors
- 401 Unauthorized: the header is missing the
Omnisend-API-Keyprefix, or the key was deleted. Re-create the key and save it with the prefix. - 403 Forbidden: the key has no Contacts permission. Edit the key's permissions.
- 400 Bad Request: invalid filter combination (e.g.
tagwithstatus, orupdatedAtFromwith other filters), a missingOmnisend-Versionheader, or a phone not in E.164 format. - 404 Not Found: no contact with that id or email.
- 429 Too Many Requests: limit is 400 requests per minute per endpoint; wait and retry.
Store the key as a VX Agents credential so it is never pasted into chat.
Usage guide
Setup
- Add an API key credential with the value
Omnisend-API-Key <your key>(Store settings > API keys, Contacts read + write). It is sent in theAuthorizationheader. - Every call sends
Omnisend-Version: 2026-03-15; it is preset, leave it as is.
Look up a shopper
listContactswithemailorphone(E.164, e.g.+14155550100) to find one contact, or withtag,status(subscribed,unsubscribed,nonSubscribed) orsegmentIDto list a group.updatedAtFrom(RFC 3339) lists recent changes but cannot be combined with the other filters, andtagcannot be combined withstatus.getContactwith the contactidfor identifiers, per-channel status (email,sms), tags andcustomProperties.- Page with
limit(up to 250) and theaftercursor frompaging.cursors.after.
Add or update subscribers
Show the user the change and wait for confirmation: subscribing someone makes them eligible for marketing messages.
upsertContactcreates or updates by email/phone. Body:identifiers: [{"type": "email", "id": "[email protected]", "channels": {"email": {"status": "subscribed"}}}]plusfirstName,lastName,tags,customProperties, address fields. Only marksubscribedwhen the shopper actually opted in.updateContactByEmail(queryemail) orupdateContact(pathid) change an existing contact; send only the fields that change.
Tag a group
addTagsToContacts with tags (1-100) and any of contactIDs, emails, phones (up to 250 each) or a segmentID. Tagging runs asynchronously, so new tags can take a moment to show; unknown emails/phones are ignored. Tags often start automations, so confirm first.
Good to know
- Phone numbers are E.164; dates are ISO 8601 / RFC 3339;
birthdateisYYYY-MM-DD. - Rate limit is 400 requests per minute per endpoint.
- This spec cannot delete contacts or remove tags.
Source: Omnisend API reference (https://api-docs.omnisend.com/reference/overview), checked 2026-10-21.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Omnisend Contacts & Tags” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.