Contacts

Canonical request fields, permissions, and MCP coverage generated from the Sendbound API.

This page uses the same generated contract as the OpenAPI download and remote MCP server. Project API keys never grant access to another project's resources. See the inbound guide for receiving setup, webhook payloads, signatures, retries, and attachments.

This reference is generated from the API’s routes and request validators. Download the OpenAPI specification. JSON bodies go directly to the API; MCP tools use a body object and a query object.

Generated request examples contain placeholders. Replace addresses, URLs, resource IDs and other placeholder values before sending. Conditional rules and refinements are enforced by the API at runtime.

GET/contacts

list (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: list_contacts

ParameterLocationRequiredType
limitqueryNostring
cursorqueryNostring
searchqueryNostring
subscribedqueryNostring
sortqueryNostring
dirqueryNostring
tagIdqueryNostring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts

create (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: create_contact

Request body: application/json

FieldRequiredType / constraints
emailYesstring, email
dataNo / conditionalobject
subscribedNo / conditionalboolean
Complete request JSON Schema
{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "format": "email"
    },
    "data": {
      "type": "object",
      "additionalProperties": {}
    },
    "subscribed": {
      "type": "boolean"
    }
  },
  "required": [
    "email"
  ],
  "additionalProperties": false
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/export

export Contacts (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_export_contacts

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/fields

get Available Fields (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_get_available_fields

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/suppressions

list Suppressions (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_list_suppressions

ParameterLocationRequiredType
typequeryNostring
pagequeryNostring
pageSizequeryNostring
searchqueryNostring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/suppressions

add Suppression (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_add_suppression

Request body: application/json

FieldRequiredType / constraints
emailNo / conditionalJSON
reasonNo / conditionalJSON
Complete request JSON Schema
{
  "type": "object",
  "properties": {
    "email": {},
    "reason": {}
  },
  "additionalProperties": true
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 201, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

DELETE/contacts/suppressions/:contactId

remove Suppression (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_remove_suppression

ParameterLocationRequiredType
contactIdpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/suppressions/stats

suppression Stats (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_suppression_stats

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/suppressions/export

export Suppressions (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_export_suppressions

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/fields/:field/values

get Field Values (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_get_field_values

ParameterLocationRequiredType
fieldpathYesstring
limitqueryNostring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/:id

get (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: get_contact

ParameterLocationRequiredType
idpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

PATCH/contacts/:id

update (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: update_contact

ParameterLocationRequiredType
idpathYesstring

Request body: application/json

FieldRequiredType / constraints
emailNo / conditionalstring, email
dataNo / conditionalobject
subscribedNo / conditionalboolean
Complete request JSON Schema
{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "format": "email"
    },
    "data": {
      "type": "object",
      "additionalProperties": {}
    },
    "subscribed": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

DELETE/contacts/:id

delete (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: delete_contact

ParameterLocationRequiredType
idpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 204, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/:id/tags

add Tags (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_add_tags

ParameterLocationRequiredType
idpathYesstring

Request body: application/json

FieldRequiredType / constraints
tagIdsNo / conditionalJSON
Complete request JSON Schema
{
  "type": "object",
  "properties": {
    "tagIds": {}
  },
  "additionalProperties": true
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

DELETE/contacts/:id/tags/:tagId

remove Tag (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_remove_tag

ParameterLocationRequiredType
idpathYesstring
tagIdpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 204, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/:id/emails

get Emails (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_get_emails

ParameterLocationRequiredType
idpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/public/:id

get Public (contacts)

Authentication: Public/application-specific authentication; see the flow-specific guide.

MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.

ParameterLocationRequiredType
idpathYesstring

Public/token-authenticated application flow. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/public/:id/subscribe

subscribe Public (contacts)

Authentication: Public/application-specific authentication; see the flow-specific guide.

MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.

ParameterLocationRequiredType
idpathYesstring

Public/token-authenticated application flow. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/public/:id/unsubscribe

unsubscribe Public (contacts)

Authentication: Public/application-specific authentication; see the flow-specific guide.

MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.

ParameterLocationRequiredType
idpathYesstring

Public/token-authenticated application flow. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/lookup

lookup (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_lookup

Request body: application/json

FieldRequiredType / constraints
emailsNo / conditionalJSON
Complete request JSON Schema
{
  "type": "object",
  "properties": {
    "emails": {}
  },
  "additionalProperties": true
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/import

import Csv (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_import_csv

Request body: multipart/form-data

FieldRequiredType / constraints
fileYesstring, binary
Complete request JSON Schema
{
  "type": "object",
  "required": [
    "file"
  ],
  "properties": {
    "file": {
      "type": "string",
      "format": "binary"
    }
  }
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 202, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/import/:jobId

get Import Status (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_get_import_status

ParameterLocationRequiredType
jobIdpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/fields/:field/usage

get Field Usage (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_get_field_usage

ParameterLocationRequiredType
fieldpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

DELETE/contacts/fields/:field

delete Field (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_delete_field

ParameterLocationRequiredType
fieldpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/bulk-subscribe

bulk Subscribe (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_bulk_subscribe

Request body: application/json

See the complete schema below for union/conditional input, or additional JSON fields. The server applies its runtime validation.

Complete request JSON Schema
{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "ids"
          ]
        },
        "contactIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "minItems": 1,
          "maxItems": 1000
        }
      },
      "required": [
        "mode",
        "contactIds"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "query"
          ]
        },
        "filter": {
          "type": "object",
          "properties": {
            "search": {
              "type": "string",
              "maxLength": 255
            },
            "subscribed": {
              "type": "boolean"
            },
            "tagId": {
              "type": "string",
              "format": "uuid"
            }
          },
          "additionalProperties": false,
          "default": {}
        },
        "excludeIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "maxItems": 10000
        }
      },
      "required": [
        "mode"
      ],
      "additionalProperties": false
    }
  ]
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 202, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/bulk-unsubscribe

bulk Unsubscribe (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_bulk_unsubscribe

Request body: application/json

See the complete schema below for union/conditional input, or additional JSON fields. The server applies its runtime validation.

Complete request JSON Schema
{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "ids"
          ]
        },
        "contactIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "minItems": 1,
          "maxItems": 1000
        }
      },
      "required": [
        "mode",
        "contactIds"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "query"
          ]
        },
        "filter": {
          "type": "object",
          "properties": {
            "search": {
              "type": "string",
              "maxLength": 255
            },
            "subscribed": {
              "type": "boolean"
            },
            "tagId": {
              "type": "string",
              "format": "uuid"
            }
          },
          "additionalProperties": false,
          "default": {}
        },
        "excludeIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "maxItems": 10000
        }
      },
      "required": [
        "mode"
      ],
      "additionalProperties": false
    }
  ]
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 202, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

POST/contacts/bulk-delete

bulk Delete (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_bulk_delete

Request body: application/json

See the complete schema below for union/conditional input, or additional JSON fields. The server applies its runtime validation.

Complete request JSON Schema
{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "ids"
          ]
        },
        "contactIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "minItems": 1,
          "maxItems": 1000
        }
      },
      "required": [
        "mode",
        "contactIds"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "query"
          ]
        },
        "filter": {
          "type": "object",
          "properties": {
            "search": {
              "type": "string",
              "maxLength": 255
            },
            "subscribed": {
              "type": "boolean"
            },
            "tagId": {
              "type": "string",
              "format": "uuid"
            }
          },
          "additionalProperties": false,
          "default": {}
        },
        "excludeIds": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "maxItems": 10000
        }
      },
      "required": [
        "mode"
      ],
      "additionalProperties": false
    }
  ]
}

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 202, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

GET/contacts/bulk/:jobId

get Bulk Action Status (contacts)

Authentication: Secret project API key. Resources are scoped to that project.

MCP: contacts_get_bulk_action_status

ParameterLocationRequiredType
jobIdpathYesstring

Project-scoped customer operation. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.

Response codes: 200, 400, 401, 403, 404, 429, 500, 503. Errors do not imply that an uncertain send is safe to repeat. A successful sending response confirms API acceptance, not inbox delivery.

Select an endpoint
to see request details