Omnisend · Capability

Omnisend REST API — Contacts

Omnisend Contacts capability. Manage contact records, including create-or-update by email/phone, fetch by ID, list with filters, update by ID, and tag bulk-add/remove. Self-contained Naftiko capability covering one Omnisend business surface.

Omnisend REST API — Contacts is a Naftiko capability published by Omnisend, one of 9 capabilities the APIs.io network indexes for this provider. It bundles 2 operations across the GET and POST methods rooted at /v1/contacts.

The capability includes 1 read-only operation and 1 state-changing operation. Lead operation: List Omnisend contacts. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Omnisend, Contacts, and Email Marketing.

Run with Naftiko OmnisendContactsEmail Marketing

What You Can Do

GET
Listcontacts
/v1/contacts
POST
Createorupdatecontact
/v1/contacts

MCP Tools

omnisend-list-contacts

List Omnisend contacts

read-only idempotent
omnisend-upsert-contact

Create or update an Omnisend contact

idempotent

Capability Spec

contacts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Omnisend REST API — Contacts
  description: 'Omnisend Contacts capability. Manage contact records, including create-or-update by email/phone, fetch by ID, list with filters, update by ID, and tag bulk-add/remove. Self-contained Naftiko capability covering one Omnisend business surface.'
  tags:
    - Omnisend
    - Contacts
    - Email Marketing
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
  - namespace: env
    keys:
      OMNISEND_API_KEY: OMNISEND_API_KEY
capability:
  consumes:
    - type: http
      namespace: contacts
      baseUri: https://api.omnisend.com/v5
      description: Omnisend Contacts business capability. Self-contained, no shared references.
      resources:
        - name: contacts
          path: /contacts
          operations:
            - name: listContacts
              method: GET
              description: List contacts with pagination and filters
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: limit
                  in: query
                  type: integer
                - name: 'paging.cursors.after'
                  in: query
                  type: string
                - name: email
                  in: query
                  type: string
                - name: phone
                  in: query
                  type: string
                - name: status
                  in: query
                  type: string
                - name: tag
                  in: query
                  type: string
                - name: segmentID
                  in: query
                  type: string
                - name: updatedAtFrom
                  in: query
                  type: string
            - name: createOrUpdateContact
              method: POST
              description: Create or update a contact by email/phone identifier
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
            - name: updateContactByEmail
              method: PATCH
              description: Update contact by email
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
        - name: contact-by-id
          path: /contacts/{contactID}
          operations:
            - name: getContact
              method: GET
              description: Get a contact by ID
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: contactID
                  in: path
                  type: string
                  required: true
            - name: updateContactById
              method: PATCH
              description: Update contact by ID
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: contactID
                  in: path
                  type: string
                  required: true
                - name: body
                  in: body
                  type: object
                  required: true
        - name: contacts-tags
          path: /contacts/tags
          operations:
            - name: addContactTags
              method: POST
              description: Add tags to contacts in bulk
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
            - name: removeContactTags
              method: DELETE
              description: Remove tags from contacts in bulk
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
      authentication:
        type: apikey
        key: X-API-KEY
        value: '{{env.OMNISEND_API_KEY}}'
        placement: header
  exposes:
    - type: rest
      namespace: contacts-rest
      port: 8080
      description: REST adapter for Omnisend Contacts.
      resources:
        - path: /v1/contacts
          name: contacts
          description: REST surface for contacts.
          operations:
            - method: GET
              name: listContacts
              call: contacts.listContacts
              with:
                limit: rest.query.limit
              outputParameters:
                - type: object
                  mapping: $.
            - method: POST
              name: createOrUpdateContact
              call: contacts.createOrUpdateContact
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: contacts-mcp
      port: 9090
      transport: http
      description: MCP adapter for Omnisend Contacts.
      tools:
        - name: omnisend-list-contacts
          description: List Omnisend contacts
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: contacts.listContacts
          with:
            limit: tools.limit
          outputParameters:
            - type: object
              mapping: $.
        - name: omnisend-upsert-contact
          description: Create or update an Omnisend contact
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: contacts.createOrUpdateContact
          with:
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.