What this page is: Step by step from an Account API key to a proven first call to the Marketing Communications Block API (lists, templates, campaigns).
How far to trust this page: the build checked 0 names, paths, tools, scopes and error codes against the real product (0 do not match). Not yet reviewed claim by claim.
Updated 2026-10-22 15:05 UTCRecently updated pages
Connect to the Marketing Communications Block API
What you are looking at: the shortest path to a working first call to the Marketing Communications Block API, which manages workspaces, lists, subscribers, templates and campaigns. Marketing Motor Blocks have no SMTP login or API key of their own; this API, authenticated with an Account API key, is how you use them.
1. Create an Account API key
In the dashboard open Settings → API Access, find Account API Keys and choose Create API Key. Copy the full ak_live_… value when it is shown.
export MOTORICAL_API_KEY="ak_live_YOUR_KEY"
2. Find your workspace ID
A workspace (also called a tenant) holds your lists and campaigns. This call needs only the key:
curl -sS "https://api.motorical.com/api/comm/tenant" \
-H "Authorization: ApiKey $MOTORICAL_API_KEY" | jq .
Copy data.tenantId, or pick an id from data.workspaces:
export COMM_TENANT_ID="YOUR_WORKSPACE_ID"
You can also copy it in the dashboard under Comm → Workspaces.
3. Prove it works
curl -sS "https://motorical.com/comm-api/api/lists" \
-H "Authorization: ApiKey $MOTORICAL_API_KEY" \
-H "X-Tenant-Id: $COMM_TENANT_ID" \
-H "Accept: application/json" | jq .
You are connected when the response has "success": true. An empty list is fine: it means you have none yet.
If it does not work
| You see | Meaning |
|---|---|
400 Missing X-Tenant-Id | Add the workspace header. |
401 | The key is wrong, masked, or not an Account API key. |
403 | The workspace ID does not belong to this account. |
4. Move on
- Overview and Campaigns.
- Communications API reference: headers, errors and request details.
All Marketing Communications Block API calls
These 87 calls are generated from the API definition at build time. Type in the box to filter.
| Method | Endpoint | What it does |
|---|---|---|
GET | /api/comm/tenant | Discover or provision Communications workspaces |
GET | /comm-api/api/analytics/overview | Get Communications analytics overview |
GET | /comm-api/api/campaigns | List campaigns |
POST | /comm-api/api/campaigns | Create a campaign |
DELETE | /comm-api/api/campaigns/cleanup | Cleanup deleted campaigns |
GET | /comm-api/api/campaigns/deleted | List deleted campaigns |
GET | /comm-api/api/campaigns/{id} | Get campaign details |
DELETE | /comm-api/api/campaigns/{id} | Delete a campaign |
GET | /comm-api/api/campaigns/{id}/analytics | Get campaign analytics |
POST | /comm-api/api/campaigns/{id}/cancel | Cancel a campaign |
GET | /comm-api/api/campaigns/{id}/click-breakdown | Get click breakdown |
GET | /comm-api/api/campaigns/{id}/clicks | List campaign clicks |
POST | /comm-api/api/campaigns/{id}/compile | Compile campaign content and audience |
GET | /comm-api/api/campaigns/{id}/events | List campaign events |
DELETE | /comm-api/api/campaigns/{id}/permanent | Permanently delete a campaign |
GET | /comm-api/api/campaigns/{id}/recipient-consent | Get campaign recipient consent status |
GET | /comm-api/api/campaigns/{id}/recipients | List campaign recipients |
PATCH | /comm-api/api/campaigns/{id}/restore | Restore a campaign |
POST | /comm-api/api/campaigns/{id}/schedule | Schedule a campaign |
PATCH | /comm-api/api/campaigns/{id}/settings | Update campaign settings |
GET | /comm-api/api/campaigns/{id}/stats | Get campaign stats |
GET | /comm-api/api/consent-events | List consent events |
GET | /comm-api/api/consent-events/analytics | Get consent-event analytics |
POST | /comm-api/api/contacts/upsert | Create or update a contact |
DELETE | /comm-api/api/contacts/{id} | Delete a contact |
PUT | /comm-api/api/contacts/{id}/resubscribe | Resubscribe a contact |
POST | /comm-api/api/contacts/{id}/unsubscribe | Unsubscribe a contact |
GET | /comm-api/api/gdpr/export | Export GDPR data |
GET | /comm-api/api/health | Communications API health |
GET | /comm-api/api/lists | List contact lists |
POST | /comm-api/api/lists | Create a contact list |
DELETE | /comm-api/api/lists | Bulk delete contact lists |
POST | /comm-api/api/lists/from-filter | Create a smart list from filters |
PATCH | /comm-api/api/lists/{id} | Update a contact list |
DELETE | /comm-api/api/lists/{id} | Delete a contact list |
GET | /comm-api/api/lists/{id}/contacts | List contacts in a list |
POST | /comm-api/api/lists/{id}/contacts | Add contacts to a list |
GET | /comm-api/api/lists/{id}/contacts/export | Export list contacts |
POST | /comm-api/api/lists/{id}/contacts/import | Import list contacts from CSV |
DELETE | /comm-api/api/lists/{id}/contacts/{contactId} | Remove a contact from a list |
GET | /comm-api/api/recipients | Search recipients |
POST | /comm-api/api/recipients/bulk-delete | Bulk delete recipients |
POST | /comm-api/api/recipients/bulk-delete-by-filter | Bulk delete recipients matching a filter |
POST | /comm-api/api/recipients/bulk-move | Bulk move recipients |
GET | /comm-api/api/recipients/campaigns | List recipient campaign groupings |
DELETE | /comm-api/api/recipients/cleanup | Cleanup deleted recipients |
GET | /comm-api/api/recipients/deleted | List deleted recipients |
POST | /comm-api/api/recipients/export | Export recipients |
GET | /comm-api/api/recipients/facets | List recipient filter facets |
POST | /comm-api/api/recipients/filter | Filter recipients |
POST | /comm-api/api/recipients/restore | Restore recipients |
DELETE | /comm-api/api/recipients/{id}/permanent | Permanently delete a recipient |
PATCH | /comm-api/api/recipients/{id}/restore | Restore a recipient |
GET | /comm-api/api/settings/consent | Get current workspace consent settings |
PATCH | /comm-api/api/settings/consent | Update current workspace consent settings |
GET | /comm-api/api/settings/open-tracking | Get current workspace open-tracking settings |
PATCH | /comm-api/api/settings/open-tracking | Update current workspace open-tracking settings |
GET | /comm-api/api/suppressions | List suppressions |
POST | /comm-api/api/suppressions | Add a suppression |
POST | /comm-api/api/suppressions/bulk | Bulk import suppressions |
POST | /comm-api/api/suppressions/import-bounces | Import bounces into suppressions |
GET | /comm-api/api/suppressions/stats | Get suppression stats |
DELETE | /comm-api/api/suppressions/{id} | Remove a suppression |
GET | /comm-api/api/templates | List templates |
POST | /comm-api/api/templates | Create a template |
DELETE | /comm-api/api/templates | Bulk delete templates |
POST | /comm-api/api/templates/validate | Validate a template without saving |
GET | /comm-api/api/templates/{id} | Get a template |
PATCH | /comm-api/api/templates/{id} | Update a template |
DELETE | /comm-api/api/templates/{id} | Delete a template |
GET | /comm-api/api/tracking/events | Search tracking events |
GET | /comm-api/api/tracking/export | Export tracking events |
GET | /comm-api/api/tracking/stats | Get tracking stats |
GET | /comm-api/api/unsubscribe-analytics | Get unsubscribe analytics |
GET | /comm-api/api/unsubscribe-events | List unsubscribe events |
GET | /comm-api/api/unsubscribe-trends | Get unsubscribe trends |
GET | /comm-api/api/workspaces | List Communications workspaces |
POST | /comm-api/api/workspaces | Create a Communications workspace |
GET | /comm-api/api/workspaces/current/motor-blocks | List marketing Motor Blocks assigned to the workspace |
PATCH | /comm-api/api/workspaces/{id} | Update a Communications workspace |
GET | /comm-api/api/workspaces/{id}/motor-blocks | List Motor Blocks assigned to a workspace |
PUT | /comm-api/api/workspaces/{id}/motor-blocks | Replace workspace Motor Block assignments |
POST | /comm-api/api/workspaces/{id}/motor-blocks/from-domain | Resolve a sending domain to a companion marketing Motor Block |
GET | /comm-api/api/workspaces/{id}/settings/consent | Get workspace consent settings |
PATCH | /comm-api/api/workspaces/{id}/settings/consent | Update workspace consent settings |
GET | /comm-api/api/workspaces/{id}/settings/open-tracking | Get workspace open-tracking settings |
PATCH | /comm-api/api/workspaces/{id}/settings/open-tracking | Update workspace open-tracking settings |