Complete API catalog
Customer operations, request validators, authentication, and matching MCP tools generated from the backend.
This catalog covers customer data operations and session-authenticated account operations. It does not turn administrator routes or provider callbacks into a public API. See Coverage & Permissions for the classification of every backend route.
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.
/ai/composecompose (ai)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: ai_compose
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
prompt | No / conditional | JSON |
tone | No / conditional | JSON |
emailType | No / conditional | JSON |
existingHtml | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"prompt": {},
"tone": {},
"emailType": {},
"existingHtml": {}
},
"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.
/ai/rewriterewrite (ai)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: ai_rewrite
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
html | No / conditional | JSON |
mode | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"html": {},
"mode": {}
},
"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.
/ai/subject-linessubject Lines (ai)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: ai_subject_lines
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
emailHtml | No / conditional | JSON |
campaignName | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"emailHtml": {},
"campaignName": {}
},
"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.
/ai/preview-textpreview Text (ai)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: ai_preview_text
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
emailHtml | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"emailHtml": {}
},
"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.
/ai/spam-checkspam Check (ai)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: ai_spam_check
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
subject | No / conditional | JSON |
html | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"subject": {},
"html": {}
},
"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.
/ai/segment-rulessegment Rules (ai)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: ai_segment_rules
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
prompt | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"prompt": {}
},
"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.
/ai/campaign-debriefcampaign Debrief (ai)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: ai_campaign_debrief
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
campaignId | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"campaignId": {}
},
"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.
/ai/send-timesend Time (ai)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: ai_send_time
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.
/v1/tracktrack (v1)
Authentication: Public tracking key; never use a secret key in browser code.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
event | Yes | string |
email | Yes | string, email |
subscribed | No / conditional | boolean |
data | No / conditional | union |
Complete request JSON Schema
{
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
},
"email": {
"type": "string",
"format": "email"
},
"subscribed": {
"type": "boolean"
},
"data": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"enum": [
"null"
],
"nullable": true
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "array",
"items": {}
},
{
"type": "object",
"additionalProperties": {}
}
]
}
},
"required": [
"event",
"email"
],
"additionalProperties": false
}Browser tracking only; not a private project API. 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.
/v1/sendsend (v1)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: send_email
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
to | Yes | union |
subject | No / conditional | string |
body | No / conditional | string |
template | No / conditional | string, uuid |
subscribed | No / conditional | boolean |
name | No / conditional | string |
from | No / conditional | union |
reply | No / conditional | string, email |
cc | No / conditional | union |
bcc | No / conditional | union |
text | No / conditional | string |
headers | No / conditional | object |
data | No / conditional | union |
attachments | No / conditional | array |
Complete request JSON Schema
{
"type": "object",
"properties": {
"to": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[^\\r\\n]*$"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[^\\r\\n]*$"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
}
]
}
}
]
},
"subject": {
"type": "string",
"minLength": 1,
"maxLength": 998,
"pattern": "^[^\\r\\n]*$"
},
"body": {
"type": "string",
"minLength": 1
},
"template": {
"type": "string",
"format": "uuid"
},
"subscribed": {
"type": "boolean"
},
"name": {
"type": "string"
},
"from": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[^\\r\\n]*$"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
}
]
},
"reply": {
"type": "string",
"format": "email"
},
"cc": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
}
]
}
}
]
},
"bcc": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
}
]
}
}
]
},
"text": {
"type": "string"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 998,
"pattern": "^[^\\r\\n]*$"
}
},
"data": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"enum": [
"null"
],
"nullable": true
},
{
"type": "string",
"format": "date-time"
}
]
},
{
"type": "array",
"items": {}
},
{
"type": "object",
"additionalProperties": {}
}
]
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[^\\r\\n\"]+$"
},
"content": {
"type": "string",
"minLength": 1
},
"contentType": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"contentId": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[^<>\\r\\n]+$"
},
"disposition": {
"type": "string",
"enum": [
"attachment",
"inline"
],
"default": "attachment"
}
},
"required": [
"filename",
"content",
"contentType"
],
"additionalProperties": false
},
"maxItems": 10
}
},
"required": [
"to"
],
"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.
/v1/verifyverify (v1)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: actions_verify
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | Yes | string, email |
Complete request JSON Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
}
},
"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.
/activityget Activities (activity)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: activity_get_activities
| Parameter | Location | Required | Type |
|---|---|---|---|
limit | query | No | string |
cursor | query | No | string |
contactId | query | No | string |
startDate | query | No | string |
endDate | query | No | string |
types | query | No | string |
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.
/activity/statsget Stats (activity)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: activity_get_stats
| Parameter | Location | Required | Type |
|---|---|---|---|
startDate | query | No | string |
endDate | query | No | string |
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.
/activity/recent-countget Recent Count (activity)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: activity_get_recent_count
| Parameter | Location | Required | Type |
|---|---|---|---|
minutes | query | No | string |
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.
/activity/typesget Types (activity)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: activity_get_types
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.
/activity/upcomingget Upcoming (activity)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: activity_get_upcoming
| Parameter | Location | Required | Type |
|---|---|---|---|
limit | query | No | string |
daysAhead | query | No | string |
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.
/analytics/timeseriesget Time Series (analytics)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: analytics_get_time_series
| Parameter | Location | Required | Type |
|---|---|---|---|
startDate | query | No | string |
endDate | query | No | string |
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.
/analytics/top-campaignsget Top Campaigns (analytics)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: analytics_get_top_campaigns
| Parameter | Location | Required | Type |
|---|---|---|---|
limit | query | No | string |
startDate | query | No | string |
endDate | query | No | string |
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.
/analytics/campaign-statsget Campaign Stats (analytics)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: analytics_get_campaign_stats
| Parameter | Location | Required | Type |
|---|---|---|---|
startDate | query | No | string |
endDate | query | No | string |
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.
/analytics/top-eventsget Top Events (analytics)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: analytics_get_top_events
| Parameter | Location | Required | Type |
|---|---|---|---|
limit | query | No | string |
startDate | query | No | string |
endDate | query | No | string |
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.
/api-keyslist (api-keys)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/api-keyscreate (api-keys)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | Yes | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"required": [
"name"
],
"additionalProperties": false
}Account/security operation requires a dashboard user session. 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.
/api-keys/usageusage (api-keys)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/api-keys/:idrevoke (api-keys)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/auth/loginlogin (auth)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | Yes | string, email |
password | Yes | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"password": {
"type": "string",
"minLength": 6
}
},
"required": [
"email",
"password"
],
"additionalProperties": false
}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.
/auth/signupsignup (auth)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | Yes | string, email |
password | Yes | string |
firstName | Yes | string |
lastName | Yes | string |
company | Yes | string |
cf-turnstile-response | No / conditional | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"password": {
"type": "string",
"minLength": 6
},
"firstName": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"lastName": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"company": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"cf-turnstile-response": {
"type": "string"
}
},
"required": [
"email",
"password",
"firstName",
"lastName",
"company"
],
"additionalProperties": false
}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.
/auth/logoutlogout (auth)
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.
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.
/auth/oauth-configoauth Config (auth)
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.
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.
/auth/verify-emailverify Email (auth)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
token | No / conditional | string |
code | No / conditional | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 64,
"maxLength": 64
},
"code": {
"type": "string",
"minLength": 6,
"maxLength": 6,
"pattern": "^\\d{6}$"
}
},
"additionalProperties": false
}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.
/auth/request-verificationrequest Verification (auth)
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.
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.
/auth/request-password-resetrequest Password Reset (auth)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | Yes | string, email |
Complete request JSON Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
}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.
/auth/reset-passwordreset Password (auth)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
token | Yes | string |
newPassword | Yes | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 64,
"maxLength": 64
},
"newPassword": {
"type": "string",
"minLength": 6
}
},
"required": [
"token",
"newPassword"
],
"additionalProperties": false
}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.
/auth/magic-link/requestrequest Magic Link (auth)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | Yes | string, email |
Complete request JSON Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
}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.
/auth/magic-link/verifyverify Magic Link (auth)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
token | Yes | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 64,
"maxLength": 64
}
},
"required": [
"token"
],
"additionalProperties": false
}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.
/campaignscreate (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: create_campaign
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | Yes | string |
description | No / conditional | string |
subject | Yes | string |
body | Yes | string |
from | Yes | string, email |
fromName | No / conditional | string, nullable |
replyTo | No / conditional | string, email, nullable |
type | No / conditional | string (TRANSACTIONAL, MARKETING, HEADLESS) |
audienceType | Yes | string (ALL, FILTERED, SEGMENT) |
audienceCondition | No / conditional | object |
segmentId | No / conditional | string, uuid |
isABTest | No / conditional | boolean |
abVariantSubject | No / conditional | string |
abVariantBody | No / conditional | string |
abSplitPercent | No / conditional | integer |
abTestDuration | No / conditional | integer |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"subject": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"from": {
"type": "string",
"format": "email"
},
"fromName": {
"type": "string",
"maxLength": 100,
"nullable": true
},
"replyTo": {
"type": "string",
"format": "email",
"nullable": true
},
"type": {
"type": "string",
"enum": [
"TRANSACTIONAL",
"MARKETING",
"HEADLESS"
],
"default": "MARKETING"
},
"audienceType": {
"type": "string",
"enum": [
"ALL",
"FILTERED",
"SEGMENT"
]
},
"audienceCondition": {
"type": "object",
"properties": {
"logic": {
"type": "string",
"enum": [
"AND",
"OR"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"filters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1
},
"operator": {
"type": "string",
"enum": [
"equals",
"notEquals",
"contains",
"notContains",
"greaterThan",
"lessThan",
"greaterThanOrEqual",
"lessThanOrEqual",
"exists",
"notExists",
"within",
"olderThan",
"triggered",
"triggeredWithin",
"triggeredOlderThan",
"notTriggered",
"notTriggeredWithin",
"memberOfSegment",
"notMemberOfSegment"
]
},
"value": {},
"unit": {
"type": "string",
"enum": [
"days",
"hours",
"minutes"
]
}
},
"required": [
"field",
"operator"
],
"additionalProperties": false
}
},
"conditions": {}
},
"required": [
"filters"
],
"additionalProperties": false
},
"minItems": 1
}
},
"required": [
"logic",
"groups"
],
"additionalProperties": false
},
"segmentId": {
"type": "string",
"format": "uuid"
},
"isABTest": {
"type": "boolean"
},
"abVariantSubject": {
"type": "string",
"minLength": 1
},
"abVariantBody": {
"type": "string",
"minLength": 1
},
"abSplitPercent": {
"type": "integer",
"minimum": 1,
"maximum": 99
},
"abTestDuration": {
"type": "integer",
"minimum": 1,
"maximum": 168
}
},
"required": [
"name",
"subject",
"body",
"from",
"audienceType"
],
"additionalProperties": false
}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.
/campaignslist (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_campaigns
| Parameter | Location | Required | Type |
|---|---|---|---|
status | query | No | string |
search | query | No | string |
page | query | No | string |
pageSize | query | No | string |
sort | query | No | string |
dir | query | No | string |
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.
/campaigns/bulk-updatebulk Update (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: campaigns_bulk_update
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
ids | Yes | array |
delete | No / conditional | boolean |
Complete request JSON Schema
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"minItems": 1,
"maxItems": 1000
},
"delete": {
"type": "boolean"
}
},
"required": [
"ids"
],
"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.
/campaigns/:idget (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: get_campaign
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/campaigns/:idupdate (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: campaigns_update
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | No / conditional | string |
description | No / conditional | string |
subject | No / conditional | string |
body | No / conditional | string |
from | No / conditional | string |
fromName | No / conditional | string, nullable |
replyTo | No / conditional | string, nullable |
type | No / conditional | string (TRANSACTIONAL, MARKETING, HEADLESS) |
audienceType | No / conditional | string (ALL, FILTERED, SEGMENT) |
audienceCondition | No / conditional | object |
segmentId | No / conditional | string |
isABTest | No / conditional | boolean |
abVariantSubject | No / conditional | string, nullable |
abVariantBody | No / conditional | string, nullable |
abSplitPercent | No / conditional | integer |
abTestDuration | No / conditional | integer |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"subject": {
"type": "string"
},
"body": {
"type": "string"
},
"from": {
"type": "string"
},
"fromName": {
"type": "string",
"maxLength": 100,
"nullable": true
},
"replyTo": {
"type": "string",
"nullable": true
},
"type": {
"type": "string",
"enum": [
"TRANSACTIONAL",
"MARKETING",
"HEADLESS"
]
},
"audienceType": {
"type": "string",
"enum": [
"ALL",
"FILTERED",
"SEGMENT"
]
},
"audienceCondition": {
"type": "object",
"properties": {
"logic": {
"type": "string",
"enum": [
"AND",
"OR"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"filters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1
},
"operator": {
"type": "string",
"enum": [
"equals",
"notEquals",
"contains",
"notContains",
"greaterThan",
"lessThan",
"greaterThanOrEqual",
"lessThanOrEqual",
"exists",
"notExists",
"within",
"olderThan",
"triggered",
"triggeredWithin",
"triggeredOlderThan",
"notTriggered",
"notTriggeredWithin",
"memberOfSegment",
"notMemberOfSegment"
]
},
"value": {},
"unit": {
"type": "string",
"enum": [
"days",
"hours",
"minutes"
]
}
},
"required": [
"field",
"operator"
],
"additionalProperties": false
}
},
"conditions": {}
},
"required": [
"filters"
],
"additionalProperties": false
},
"minItems": 1
}
},
"required": [
"logic",
"groups"
],
"additionalProperties": false
},
"segmentId": {
"type": "string"
},
"isABTest": {
"type": "boolean"
},
"abVariantSubject": {
"type": "string",
"minLength": 1,
"nullable": true
},
"abVariantBody": {
"type": "string",
"minLength": 1,
"nullable": true
},
"abSplitPercent": {
"type": "integer",
"minimum": 1,
"maximum": 99
},
"abTestDuration": {
"type": "integer",
"minimum": 1,
"maximum": 168
}
},
"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.
/campaigns/:iddelete (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: campaigns_delete
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/campaigns/:id/duplicateduplicate (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: campaigns_duplicate
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/campaigns/:id/sendsend (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: send_campaign
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
scheduledFor | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"scheduledFor": {}
},
"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.
/campaigns/:id/cancelcancel (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: cancel_campaign
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/campaigns/:id/statsstats (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: get_campaign_stats
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/campaigns/:id/pick-winnerpick Winner (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: campaigns_pick_winner
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
variant | Yes | string (A, B) |
Complete request JSON Schema
{
"type": "object",
"properties": {
"variant": {
"type": "string",
"enum": [
"A",
"B"
]
}
},
"required": [
"variant"
],
"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.
/campaigns/:id/analyticsanalytics (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: campaigns_analytics
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/campaigns/:id/testsend Test (campaigns)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: campaigns_send_test
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | Yes | string, email |
Complete request JSON Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
}
},
"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.
/configget Config (config)
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.
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.
/contactslist (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_contacts
| Parameter | Location | Required | Type |
|---|---|---|---|
limit | query | No | string |
cursor | query | No | string |
search | query | No | string |
subscribed | query | No | string |
sort | query | No | string |
dir | query | No | string |
tagId | query | No | string |
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.
/contactscreate (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: create_contact
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | Yes | string, email |
data | No / conditional | object |
subscribed | No / conditional | boolean |
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.
/contacts/exportexport 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.
/contacts/fieldsget 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.
/contacts/suppressionslist Suppressions (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_list_suppressions
| Parameter | Location | Required | Type |
|---|---|---|---|
type | query | No | string |
page | query | No | string |
pageSize | query | No | string |
search | query | No | string |
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.
/contacts/suppressionsadd Suppression (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_add_suppression
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | No / conditional | JSON |
reason | No / conditional | JSON |
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.
/contacts/suppressions/:contactIdremove Suppression (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_remove_suppression
| Parameter | Location | Required | Type |
|---|---|---|---|
contactId | path | Yes | string |
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.
/contacts/suppressions/statssuppression 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.
/contacts/suppressions/exportexport 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.
/contacts/fields/:field/valuesget Field Values (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_get_field_values
| Parameter | Location | Required | Type |
|---|---|---|---|
field | path | Yes | string |
limit | query | No | string |
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.
/contacts/:idget (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: get_contact
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/contacts/:idupdate (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: update_contact
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | No / conditional | string, email |
data | No / conditional | object |
subscribed | No / conditional | boolean |
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.
/contacts/:iddelete (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: delete_contact
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/contacts/:id/tags/:tagIdremove Tag (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_remove_tag
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
tagId | path | Yes | string |
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.
/contacts/:id/emailsget Emails (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_get_emails
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/contacts/public/:idget 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.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/contacts/public/:id/subscribesubscribe 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.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/contacts/public/:id/unsubscribeunsubscribe 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.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/contacts/lookuplookup (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_lookup
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
emails | No / conditional | JSON |
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.
/contacts/importimport Csv (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_import_csv
Request body: multipart/form-data
| Field | Required | Type / constraints |
|---|---|---|
file | Yes | string, 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.
/contacts/import/:jobIdget Import Status (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_get_import_status
| Parameter | Location | Required | Type |
|---|---|---|---|
jobId | path | Yes | string |
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.
/contacts/fields/:field/usageget Field Usage (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_get_field_usage
| Parameter | Location | Required | Type |
|---|---|---|---|
field | path | Yes | string |
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.
/contacts/fields/:fielddelete Field (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_delete_field
| Parameter | Location | Required | Type |
|---|---|---|---|
field | path | Yes | string |
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.
/contacts/bulk-subscribebulk 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.
/contacts/bulk-unsubscribebulk 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.
/contacts/bulk-deletebulk 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.
/contacts/bulk/:jobIdget Bulk Action Status (contacts)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: contacts_get_bulk_action_status
| Parameter | Location | Required | Type |
|---|---|---|---|
jobId | path | Yes | string |
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.
/dedicated-ipslist (dedicated-ips)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: dedicated_ips_list
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.
/dedicated-ipscreate (dedicated-ips)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: dedicated_ips_create
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
ip | No / conditional | JSON |
notes | No / conditional | JSON |
dailySendCap | No / conditional | JSON |
warmupTarget | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"ip": {},
"notes": {},
"dailySendCap": {},
"warmupTarget": {}
},
"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.
/dedicated-ips/:idupdate (dedicated-ips)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: dedicated_ips_update
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
status | No / conditional | JSON |
notes | No / conditional | JSON |
advanceDays | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"status": {},
"notes": {},
"advanceDays": {}
},
"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.
/dedicated-ips/:idremove (dedicated-ips)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: dedicated_ips_remove
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/developer/smtp/testtest Smtp Send (developer)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
projectId | Yes | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"projectId": {}
},
"required": [
"projectId"
],
"additionalProperties": true
}Account/security operation requires a dashboard user session. 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.
/v2/domainTemplates/providers/sendbound.com/services/email-sendingget Email Template (v2/domainTemplates/providers/sendbound.com/services)
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.
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.
/domainslist Domains (domains)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_domains
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.
/domainsadd Domain (domains)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: add_domain
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
domain | Yes | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 3,
"maxLength": 253
}
},
"required": [
"domain"
],
"additionalProperties": false
}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.
/domains/project/:projectIdget Project Domains (domains)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: domains_get_project_domains
| Parameter | Location | Required | Type |
|---|---|---|---|
projectId | path | Yes | string |
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.
/domains/:idget Domain (domains)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: domains_get_domain
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/domains/:idremove Domain (domains)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: domains_remove_domain
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/domains/:id/verifycheck Verification (domains)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: verify_domain
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/domains/:id/dns-checkcheck Dns (domains)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: domains_check_dns
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/domains/:id/toggletoggle Feature (domains)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: domains_toggle_feature
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
feature | No / conditional | JSON |
enabled | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"feature": {},
"enabled": {}
},
"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.
/emails/batchbatch Send (emails)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: batch_send_email
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
emails | Yes | array |
Complete request JSON Schema
{
"type": "object",
"properties": {
"emails": {
"type": "array",
"items": {
"type": "object",
"properties": {
"to": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
}
]
}
}
]
},
"from": {
"anyOf": [
{
"type": "string",
"format": "email"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"email"
],
"additionalProperties": false
}
]
},
"subject": {
"type": "string"
},
"body": {
"type": "string"
},
"template": {
"type": "string"
},
"data": {
"type": "object",
"additionalProperties": {}
},
"reply": {
"type": "string",
"format": "email"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"content": {
"type": "string"
},
"contentType": {
"type": "string"
}
},
"required": [
"filename",
"content",
"contentType"
],
"additionalProperties": false
}
},
"subscribed": {
"type": "boolean"
}
},
"required": [
"to",
"from"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 100
}
},
"required": [
"emails"
],
"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.
/emailslist (emails)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_emails
| Parameter | Location | Required | Type |
|---|---|---|---|
cursor | query | No | string |
search | query | No | string |
status | query | No | string |
source | query | No | string |
startDate | query | No | string |
endDate | query | No | string |
limit | query | No | string |
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.
/emails/inboundlist Inbound (emails)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_inbound_emails
| Parameter | Location | Required | Type |
|---|---|---|---|
cursor | query | No | string |
search | query | No | string |
startDate | query | No | string |
endDate | query | No | string |
limit | query | No | string |
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.
/emails/:id/attachments/:attachmentIddownload Inbound Attachment (emails)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: download_inbound_attachment
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
attachmentId | path | Yes | string |
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.
/emails/:idget One (emails)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: get_email
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/events/tracktrack (events)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: events_track
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | Yes | JSON |
contactId | No / conditional | JSON |
emailId | No / conditional | JSON |
data | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"contactId": {},
"emailId": {},
"data": {}
},
"required": [
"name"
],
"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.
/eventslist (events)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: events_list
| Parameter | Location | Required | Type |
|---|---|---|---|
eventName | query | No | string |
limit | query | No | string |
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.
/events/statsstats (events)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: events_stats
| Parameter | Location | Required | Type |
|---|---|---|---|
startDate | query | No | string |
endDate | query | No | string |
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.
/events/contact/:contactIdget Contact Events (events)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: events_get_contact_events
| Parameter | Location | Required | Type |
|---|---|---|---|
contactId | path | Yes | string |
limit | query | No | string |
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.
/events/namesget Event Names (events)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: events_get_event_names
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.
/events/:eventName/usageget Event Usage (events)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: events_get_event_usage
| Parameter | Location | Required | Type |
|---|---|---|---|
eventName | path | Yes | string |
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.
/events/:eventNamedelete Event (events)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: events_delete_event
| Parameter | Location | Required | Type |
|---|---|---|---|
eventName | path | Yes | string |
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.
/integrations/mailchimp/importimport Mailchimp (integrations)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
apiKey | No / conditional | JSON |
audienceId | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"apiKey": {},
"audienceId": {}
},
"additionalProperties": true
}Third-party credentials: use the authenticated dashboard/API, not AI tool arguments. 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.
/integrations/klaviyo/importimport Klaviyo (integrations)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
apiKey | No / conditional | JSON |
listId | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"apiKey": {},
"listId": {}
},
"additionalProperties": true
}Third-party credentials: use the authenticated dashboard/API, not AI tool arguments. 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.
/integrations/convertkit/importimport Convert Kit (integrations)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
apiKey | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"apiKey": {}
},
"additionalProperties": true
}Third-party credentials: use the authenticated dashboard/API, not AI tool arguments. 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.
/integrations/brevo/importimport Brevo (integrations)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
apiKey | No / conditional | JSON |
listId | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"apiKey": {},
"listId": {}
},
"additionalProperties": true
}Third-party credentials: use the authenticated dashboard/API, not AI tool arguments. 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.
/integrations/hubspot/importimport Hub Spot (integrations)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
accessToken | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"accessToken": {}
},
"additionalProperties": true
}Third-party credentials: use the authenticated dashboard/API, not AI tool arguments. 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.
/logslist (logs)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: logs_list
| Parameter | Location | Required | Type |
|---|---|---|---|
limit | query | No | string |
cursor | query | No | string |
startDate | query | No | string |
search | query | No | string |
method | query | No | string |
status | query | No | string |
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.
/projects/@me/preference-pageget Preference Page ()
Authentication: Secret project API key. Resources are scoped to that project.
MCP: preferences_get_preference_page
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.
/projects/@me/preference-pageupdate Preference Page ()
Authentication: Secret project API key. Resources are scoped to that project.
MCP: preferences_update_preference_page
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
{
"type": "object",
"properties": {},
"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.
/preferences/:contactIdget ()
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.
| Parameter | Location | Required | Type |
|---|---|---|---|
contactId | path | Yes | string |
token | query | No | string |
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.
/preferences/:contactIdupdate ()
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.
| Parameter | Location | Required | Type |
|---|---|---|---|
contactId | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
token | No / conditional | JSON |
groupId | No / conditional | JSON |
subscribed | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"token": {},
"groupId": {},
"subscribed": {}
},
"additionalProperties": true
}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.
/preferences/:contactId/unsubscribe-allunsubscribe All ()
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.
| Parameter | Location | Required | Type |
|---|---|---|---|
contactId | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
token | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"token": {}
},
"additionalProperties": true
}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.
/unsubscribe-groupslist Groups ()
Authentication: Secret project API key. Resources are scoped to that project.
MCP: preferences_list_groups
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.
/unsubscribe-groupscreate Group ()
Authentication: Secret project API key. Resources are scoped to that project.
MCP: preferences_create_group
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | No / conditional | JSON |
description | No / conditional | JSON |
isDefault | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"description": {},
"isDefault": {}
},
"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.
/unsubscribe-groups/:idupdate Group ()
Authentication: Secret project API key. Resources are scoped to that project.
MCP: preferences_update_group
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | No / conditional | JSON |
description | No / conditional | JSON |
isDefault | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"description": {},
"isDefault": {}
},
"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.
/unsubscribe-groups/:iddelete Group ()
Authentication: Secret project API key. Resources are scoped to that project.
MCP: preferences_delete_group
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/projects/@me/smtp/credentialsget Smtp Credentials (projects)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Project configuration/credential boundary; use the authenticated API/dashboard. 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.
/projects/@me/smtpupdate Smtp Settings (projects)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
X-Project-Id | header | No | string |
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
{
"type": "object",
"properties": {},
"additionalProperties": true
}Account/security operation requires a dashboard user session. 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.
/projects/@me/smtp/testtest Smtp Settings (projects)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: projects_test_smtp_settings
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.
/projects/@me/deliverabilityget Deliverability (projects)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: projects_get_deliverability
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.
/projects/:id/setup-stateget Setup State (projects)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/projects/:id/securityget Security Metrics (projects)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/projects/:id/membersget Members (projects)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/projects/:id/membersadd Member (projects)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
id | path | Yes | string |
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
email | Yes | string, email |
role | No / conditional | string (ADMIN, MEMBER) |
Complete request JSON Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"role": {
"type": "string",
"enum": [
"ADMIN",
"MEMBER"
],
"default": "MEMBER"
}
},
"required": [
"email"
],
"additionalProperties": false
}Account/security operation requires a dashboard user session. 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.
/projects/:id/members/:userIdupdate Member Role (projects)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
id | path | Yes | string |
userId | path | Yes | string |
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
role | Yes | string (ADMIN, MEMBER) |
Complete request JSON Schema
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"ADMIN",
"MEMBER"
]
}
},
"required": [
"role"
],
"additionalProperties": false
}Account/security operation requires a dashboard user session. 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.
/projects/:id/members/:userIdremove Member (projects)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
id | path | Yes | string |
userId | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/segmentslist (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_segments
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.
/segmentscreate (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: create_segment
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | Yes | JSON |
description | No / conditional | JSON |
type | No / conditional | JSON |
condition | No / conditional | JSON |
trackMembership | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"description": {},
"type": {},
"condition": {},
"trackMembership": {}
},
"required": [
"name"
],
"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.
/segments/:idget (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: get_segment
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/segments/:idupdate (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: segments_update
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | No / conditional | JSON |
description | No / conditional | JSON |
condition | No / conditional | JSON |
trackMembership | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"description": {},
"condition": {},
"trackMembership": {}
},
"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.
/segments/:iddelete (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: delete_segment
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/segments/:id/contactsget Contacts (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: segments_get_contacts
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
page | query | No | string |
pageSize | query | No | string |
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.
/segments/:id/membersadd Members (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: segments_add_members
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
emails | No / conditional | JSON |
createMissing | No / conditional | JSON |
subscribed | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"emails": {},
"createMissing": {},
"subscribed": {}
},
"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.
/segments/:id/membersremove Members (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: segments_remove_members
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/segments/:id/computecompute (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: segments_compute
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/segments/:id/refreshrefresh (segments)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: segments_refresh
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/sso/configget Config (sso)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Project configuration/credential boundary; use the authenticated API/dashboard. 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.
/sso/configureconfigure (sso)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
X-Project-Id | header | No | string |
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": {
"protocol": {
"type": "string",
"enum": [
"oidc"
]
},
"issuerUrl": {
"type": "string",
"format": "uri"
},
"clientId": {
"type": "string",
"minLength": 1
},
"clientSecret": {
"type": "string"
},
"domain": {
"type": "string",
"minLength": 1,
"pattern": "^[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,}$"
}
},
"required": [
"protocol",
"issuerUrl",
"clientId",
"domain"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"protocol": {
"type": "string",
"enum": [
"saml"
]
},
"samlEntryPoint": {
"type": "string",
"format": "uri"
},
"samlCertificate": {
"type": "string",
"minLength": 1
},
"samlIssuer": {
"type": "string"
},
"domain": {
"type": "string",
"minLength": 1,
"pattern": "^[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,}$"
}
},
"required": [
"protocol",
"samlEntryPoint",
"samlCertificate",
"domain"
],
"additionalProperties": false
}
]
}Account/security operation requires a dashboard user session. 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.
/sso/verify-domainverify Domain (sso)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/sso/set-requireset Require (sso)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
requireSso | Yes | boolean |
Complete request JSON Schema
{
"type": "object",
"properties": {
"requireSso": {
"type": "boolean"
}
},
"required": [
"requireSso"
],
"additionalProperties": false
}Account/security operation requires a dashboard user session. 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.
/sso/disabledisable (sso)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/sso/saml/metadatasaml Metadata (sso)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
Project configuration/credential boundary; use the authenticated API/dashboard. 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.
/sso/checkcheck (sso)
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.
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.
/sso/initiateinitiate (sso)
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.
Public/token-authenticated application flow. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.
Response codes: 302, 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.
/sso/saml/callbacksaml Callback (sso)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
RelayState | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"RelayState": {}
},
"additionalProperties": true
}Public/token-authenticated application flow. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.
Response codes: 302, 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.
/sso/callbackcallback (sso)
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.
| Parameter | Location | Required | Type |
|---|---|---|---|
code | query | No | string |
state | query | No | string |
error | query | No | string |
error_description | query | No | string |
Public/token-authenticated application flow. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.
Response codes: 302, 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.
/templateslist (templates)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_templates
| Parameter | Location | Required | Type |
|---|---|---|---|
page | query | No | string |
pageSize | query | No | string |
search | query | No | string |
type | query | No | string |
sort | query | No | string |
dir | query | No | string |
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.
/templatescreate (templates)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: create_template
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | Yes | JSON |
description | No / conditional | JSON |
subject | Yes | JSON |
body | Yes | JSON |
from | Yes | JSON |
fromName | No / conditional | JSON |
replyTo | No / conditional | JSON |
type | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"description": {},
"subject": {},
"body": {},
"from": {},
"fromName": {},
"replyTo": {},
"type": {}
},
"required": [
"name",
"subject",
"body",
"from"
],
"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.
/templates/:idget (templates)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: get_template
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/templates/:idupdate (templates)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: update_template
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | No / conditional | JSON |
description | No / conditional | JSON |
subject | No / conditional | JSON |
body | No / conditional | JSON |
from | No / conditional | JSON |
fromName | No / conditional | JSON |
replyTo | No / conditional | JSON |
type | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"description": {},
"subject": {},
"body": {},
"from": {},
"fromName": {},
"replyTo": {},
"type": {}
},
"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.
/templates/:iddelete (templates)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: delete_template
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/templates/bulk-updatebulk Update (templates)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: templates_bulk_update
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
ids | Yes | array |
delete | No / conditional | boolean |
Complete request JSON Schema
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"minItems": 1,
"maxItems": 1000
},
"delete": {
"type": "boolean"
}
},
"required": [
"ids"
],
"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.
/templates/:id/duplicateduplicate (templates)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: templates_duplicate
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/templates/:id/usageget Usage (templates)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: templates_get_usage
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/templates/convertconvert (templates)
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.
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
format | No / conditional | JSON |
content | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"format": {},
"content": {}
},
"additionalProperties": true
}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.
/unsubscribe/:idone Click (unsubscribe)
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.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/unsubscribe/:idredirect (unsubscribe)
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.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Public/token-authenticated application flow. Server enforces project ownership and additional cross-field validation. IDs are UUIDs, not prefixed placeholders.
Response codes: 302, 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.
/uploads/imageupload Image (uploads)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: uploads_upload_image
Request body: multipart/form-data
| Field | Required | Type / constraints |
|---|---|---|
image | Yes | string, binary |
Complete request JSON Schema
{
"type": "object",
"required": [
"image"
],
"properties": {
"image": {
"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: 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.
/webhookslist (webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_webhooks
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.
/webhookscreate (webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: create_webhook
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
url | Yes | string |
description | No / conditional | string |
events | No / conditional | array |
inboundDomain | No / conditional | string, nullable |
inboundPattern | No / conditional | string, nullable |
enabled | No / conditional | boolean |
Complete request JSON Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"maxLength": 500
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"email.sent",
"email.opened",
"email.clicked",
"email.bounced",
"email.complained",
"email.unsubscribed",
"email.received",
"contact.created",
"contact.updated",
"contact.subscribed",
"contact.unsubscribed",
"contact.deleted",
"campaign.scheduled",
"campaign.sent",
"campaign.cancelled"
]
}
},
"inboundDomain": {
"type": "string",
"maxLength": 253,
"nullable": true
},
"inboundPattern": {
"type": "string",
"maxLength": 64,
"nullable": true
},
"enabled": {
"type": "boolean"
}
},
"required": [
"url"
],
"additionalProperties": false
}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.
/webhooks/:idget (webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: get_webhook
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/webhooks/:idupdate (webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: update_webhook
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
url | No / conditional | string |
description | No / conditional | string |
events | No / conditional | array |
inboundDomain | No / conditional | string, nullable |
inboundPattern | No / conditional | string, nullable |
enabled | No / conditional | boolean |
rotateSecret | No / conditional | boolean |
Complete request JSON Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"maxLength": 500
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"email.sent",
"email.opened",
"email.clicked",
"email.bounced",
"email.complained",
"email.unsubscribed",
"email.received",
"contact.created",
"contact.updated",
"contact.subscribed",
"contact.unsubscribed",
"contact.deleted",
"campaign.scheduled",
"campaign.sent",
"campaign.cancelled"
]
}
},
"inboundDomain": {
"type": "string",
"maxLength": 253,
"nullable": true
},
"inboundPattern": {
"type": "string",
"maxLength": 64,
"nullable": true
},
"enabled": {
"type": "boolean"
},
"rotateSecret": {
"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.
/webhooks/:iddelete (webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: delete_webhook
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/webhooks/:id/deliveriesdeliveries (webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: list_webhook_deliveries
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/webhooks/:id/testtest (webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: test_webhook
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
event | No / conditional | string (test, email.received) |
recipient | No / conditional | string, email |
Complete request JSON Schema
{
"type": "object",
"properties": {
"event": {
"type": "string",
"enum": [
"test",
"email.received"
]
},
"recipient": {
"type": "string",
"maxLength": 320,
"format": "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.
/users/@meme (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projectsme Projects (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projectscreate Project (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | Yes | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"name"
],
"additionalProperties": false
}Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:idupdate Project (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | No / conditional | string |
tracking | No / conditional | string (ENABLED, DISABLED, MARKETING_ONLY) |
language | No / conditional | string |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"tracking": {
"type": "string",
"enum": [
"ENABLED",
"DISABLED",
"MARKETING_ONLY"
]
},
"language": {
"type": "string",
"pattern": "^[a-z]{2}(-[A-Z]{2})?$"
}
},
"additionalProperties": false
}Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:iddelete Project (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/secretget Project Secret (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/regenerate-keysregenerate Project Keys (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/checkoutcreate Checkout Session (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
currency | query | No | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/checkout-embeddedcreate Embedded Checkout Session (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
currency | query | No | string |
plan | query | No | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/subscribecreate Inline Subscription (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
plan | query | No | string |
currency | query | No | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/subscribe/activateactivate Subscription (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
plan | query | No | string |
pmId | query | No | string |
currency | query | No | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/change-planchange Plan (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
plan | query | No | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/addon/:addonIdremove Addon (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
addonId | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/billing-portalcreate Billing Portal Session (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/billing-limitsget Billing Limits (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/billing-limitsupdate Billing Limits (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
workflows | Yes | integer, nullable |
campaigns | Yes | integer, nullable |
transactional | Yes | integer, nullable |
inbound | Yes | integer, nullable |
Complete request JSON Schema
{
"type": "object",
"properties": {
"workflows": {
"type": "integer",
"exclusiveMinimum": true,
"minimum": 0,
"nullable": true
},
"campaigns": {
"type": "integer",
"exclusiveMinimum": true,
"minimum": 0,
"nullable": true
},
"transactional": {
"type": "integer",
"exclusiveMinimum": true,
"minimum": 0,
"nullable": true
},
"inbound": {
"type": "integer",
"exclusiveMinimum": true,
"minimum": 0,
"nullable": true
}
},
"required": [
"workflows",
"campaigns",
"transactional",
"inbound"
],
"additionalProperties": false
}Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/billing-dailyget Billing Daily (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/billing-consumptionget Billing Consumption (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/billing-invoicesget Billing Invoices (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/subscription-statusget Subscription Status (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/payment-methodget Payment Method (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/payment-methodupdate Payment Method (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
paymentMethodId | Yes | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"paymentMethodId": {}
},
"required": [
"paymentMethodId"
],
"additionalProperties": true
}Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/cancel-subscriptioncancel Subscription (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/reactivate-subscriptionreactivate Subscription (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/setup-intentcreate Setup Intent (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/securityget Security Health (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/users/@me/projects/:id/resetreset Project (users)
Authentication: Dashboard user session; API keys cannot perform this account/security operation.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
X-Project-Id | header | No | string |
Account/security operation requires a dashboard user session. 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.
/warmuplist (warmup)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: warmup_list
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.
/warmupcreate (warmup)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: warmup_create
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
domain | No / conditional | JSON |
fromAddress | No / conditional | JSON |
toAddresses | No / conditional | JSON |
maxLimit | No / conditional | JSON |
rampupDays | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"domain": {},
"fromAddress": {},
"toAddresses": {},
"maxLimit": {},
"rampupDays": {}
},
"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.
/warmup/:idget (warmup)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: warmup_get
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/warmup/:idupdate (warmup)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: warmup_update
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
enabled | No / conditional | JSON |
toAddresses | No / conditional | JSON |
maxLimit | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"enabled": {},
"toAddresses": {},
"maxLimit": {}
},
"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.
/warmup/:idremove (warmup)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: warmup_remove
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/warmup/:id/advanceadvance (warmup)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: warmup_advance
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/workflowslist (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_list
| Parameter | Location | Required | Type |
|---|---|---|---|
page | query | No | string |
pageSize | query | No | string |
search | query | No | string |
sort | query | No | string |
dir | query | No | string |
status | query | No | string |
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.
/workflowscreate (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_create
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | Yes | JSON |
description | No / conditional | JSON |
triggerType | No / conditional | JSON |
eventName | No / conditional | JSON |
cronExpression | No / conditional | JSON |
enabled | No / conditional | JSON |
allowReentry | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"description": {},
"triggerType": {},
"eventName": {},
"cronExpression": {},
"enabled": {},
"allowReentry": {}
},
"required": [
"name"
],
"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.
/workflows/fieldsget Available Fields (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_get_available_fields
| Parameter | Location | Required | Type |
|---|---|---|---|
eventName | query | No | string |
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.
/workflows/bulk-updatebulk Update (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_bulk_update
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
ids | Yes | array |
delete | No / conditional | boolean |
enabled | No / conditional | boolean |
Complete request JSON Schema
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"minItems": 1,
"maxItems": 1000
},
"delete": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"ids"
],
"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.
/workflows/:id/ai-generategenerate With Ai (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_generate_with_ai
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
prompt | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"prompt": {}
},
"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.
/workflows/:idget (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_get
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/workflows/:idupdate (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_update
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | No / conditional | JSON |
description | No / conditional | JSON |
triggerType | No / conditional | JSON |
triggerConfig | No / conditional | JSON |
enabled | No / conditional | JSON |
allowReentry | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"description": {},
"triggerType": {},
"triggerConfig": {},
"enabled": {},
"allowReentry": {}
},
"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.
/workflows/:iddelete (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_delete
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/workflows/:id/duplicateduplicate (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_duplicate
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/workflows/:id/stepsadd Step (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_add_step
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
type | No / conditional | JSON |
name | No / conditional | JSON |
position | No / conditional | JSON |
config | No / conditional | JSON |
templateId | No / conditional | JSON |
autoConnect | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"type": {},
"name": {},
"position": {},
"config": {},
"templateId": {},
"autoConnect": {}
},
"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.
/workflows/:id/steps/:stepIdupdate Step (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_update_step
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
stepId | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
name | No / conditional | JSON |
position | No / conditional | JSON |
config | No / conditional | JSON |
templateId | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"name": {},
"position": {},
"config": {},
"templateId": {}
},
"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.
/workflows/:id/steps/:stepIddelete Step (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_delete_step
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
stepId | path | Yes | string |
splice | query | No | string |
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.
/workflows/:id/transitionscreate Transition (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_create_transition
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
fromStepId | No / conditional | JSON |
toStepId | No / conditional | JSON |
condition | No / conditional | JSON |
priority | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"fromStepId": {},
"toStepId": {},
"condition": {},
"priority": {}
},
"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.
/workflows/:id/transitions/:transitionId/insert-stepinsert Step On Transition (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_insert_step_on_transition
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
transitionId | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
type | No / conditional | JSON |
name | No / conditional | JSON |
position | No / conditional | JSON |
config | No / conditional | JSON |
templateId | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"type": {},
"name": {},
"position": {},
"config": {},
"templateId": {}
},
"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.
/workflows/:id/transitions/:transitionIddelete Transition (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_delete_transition
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
transitionId | path | Yes | string |
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.
/workflows/:id/executionsstart Execution (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_start_execution
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
contactId | Yes | JSON |
context | No / conditional | JSON |
Complete request JSON Schema
{
"type": "object",
"properties": {
"contactId": {},
"context": {}
},
"required": [
"contactId"
],
"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.
/workflows/:id/executionslist Executions (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_list_executions
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
page | query | No | string |
pageSize | query | No | string |
status | query | No | string |
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.
/workflows/:id/executions/:executionIdget Execution (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_get_execution
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
executionId | path | Yes | string |
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.
/workflows/:id/executions/:executionIdcancel Execution (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_cancel_execution
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
executionId | path | Yes | string |
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.
/workflows/:id/executions/cancel-allcancel All Executions (workflows)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: workflows_cancel_all_executions
| Parameter | Location | Required | Type |
|---|---|---|---|
id | path | Yes | string |
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.
/projects/:projectId/webhookslist (projects/:projectId/webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
projectId | path | Yes | string |
Dashboard alias; MCP uses canonical /webhooks. 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.
/projects/:projectId/webhookscreate (projects/:projectId/webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
projectId | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
url | Yes | string |
description | No / conditional | string |
events | No / conditional | array |
inboundDomain | No / conditional | string, nullable |
inboundPattern | No / conditional | string, nullable |
enabled | No / conditional | boolean |
Complete request JSON Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"maxLength": 500
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"email.sent",
"email.opened",
"email.clicked",
"email.bounced",
"email.complained",
"email.unsubscribed",
"email.received",
"contact.created",
"contact.updated",
"contact.subscribed",
"contact.unsubscribed",
"contact.deleted",
"campaign.scheduled",
"campaign.sent",
"campaign.cancelled"
]
}
},
"inboundDomain": {
"type": "string",
"maxLength": 253,
"nullable": true
},
"inboundPattern": {
"type": "string",
"maxLength": 64,
"nullable": true
},
"enabled": {
"type": "boolean"
}
},
"required": [
"url"
],
"additionalProperties": false
}Dashboard alias; MCP uses canonical /webhooks. 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.
/projects/:projectId/webhooks/:idget (projects/:projectId/webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
projectId | path | Yes | string |
id | path | Yes | string |
Dashboard alias; MCP uses canonical /webhooks. 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.
/projects/:projectId/webhooks/:idupdate (projects/:projectId/webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
projectId | path | Yes | string |
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
url | No / conditional | string |
description | No / conditional | string |
events | No / conditional | array |
inboundDomain | No / conditional | string, nullable |
inboundPattern | No / conditional | string, nullable |
enabled | No / conditional | boolean |
rotateSecret | No / conditional | boolean |
Complete request JSON Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"maxLength": 500
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"email.sent",
"email.opened",
"email.clicked",
"email.bounced",
"email.complained",
"email.unsubscribed",
"email.received",
"contact.created",
"contact.updated",
"contact.subscribed",
"contact.unsubscribed",
"contact.deleted",
"campaign.scheduled",
"campaign.sent",
"campaign.cancelled"
]
}
},
"inboundDomain": {
"type": "string",
"maxLength": 253,
"nullable": true
},
"inboundPattern": {
"type": "string",
"maxLength": 64,
"nullable": true
},
"enabled": {
"type": "boolean"
},
"rotateSecret": {
"type": "boolean"
}
},
"additionalProperties": false
}Dashboard alias; MCP uses canonical /webhooks. 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.
/projects/:projectId/webhooks/:iddelete (projects/:projectId/webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
projectId | path | Yes | string |
id | path | Yes | string |
Dashboard alias; MCP uses canonical /webhooks. 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.
/projects/:projectId/webhooks/:id/deliveriesdeliveries (projects/:projectId/webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
projectId | path | Yes | string |
id | path | Yes | string |
Dashboard alias; MCP uses canonical /webhooks. 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.
/projects/:projectId/webhooks/:id/testtest (projects/:projectId/webhooks)
Authentication: Secret project API key. Resources are scoped to that project.
MCP: Not exposed through remote MCP; account administration, credentials, browser tracking, and dashboard aliases retain their own authorization.
| Parameter | Location | Required | Type |
|---|---|---|---|
projectId | path | Yes | string |
id | path | Yes | string |
Request body: application/json
| Field | Required | Type / constraints |
|---|---|---|
event | No / conditional | string (test, email.received) |
recipient | No / conditional | string, email |
Complete request JSON Schema
{
"type": "object",
"properties": {
"event": {
"type": "string",
"enum": [
"test",
"email.received"
]
},
"recipient": {
"type": "string",
"maxLength": 320,
"format": "email"
}
},
"additionalProperties": false
}Dashboard alias; MCP uses canonical /webhooks. 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.