Endpoints
| Method | Path | Description |
|---|
| GET | /v1/comms/lists | List all marketing lists for the workspace. |
| POST | /v1/comms/lists | Create a new list. |
| GET | /v1/comms/lists/:id | Retrieve list details by ID. |
| PATCH | /v1/comms/lists/:id | Update list name or settings. |
| DELETE | /v1/comms/lists/:id | Delete a list and all its members. |
| GET | /v1/comms/lists/:id/members | List members of a list. |
| POST | /v1/comms/lists/:id/members | Add member(s) to a list. |
| GET | /v1/comms/lists/:id/members/:memberId | Get a specific member. |
| PATCH | /v1/comms/lists/:id/members/:memberId | Update member status. |
| DELETE | /v1/comms/lists/:id/members/:memberId | Remove a member from a list. |
Workspace-scoped API keys are required. Read routes need comms:read; create/update routes require comms:write; deletion requires comms:delete.
Key concepts
- Lists are collections of people (subscribers) used for marketing campaigns.
- Members are people subscribed to a list, with status tracking (subscribed, unsubscribed, cleaned, bounced).
- Source indicates how the list or member was created (
manual, import, api, form, signup_form).
- Double opt-in can be enabled per list for GDPR compliance.
- Lists are used as targets for email/SMS campaigns in the marketing module.
Member statuses
| Status | Description |
|---|
subscribed | Active subscriber receiving campaigns. |
unsubscribed | Manually unsubscribed, won’t receive campaigns. |
cleaned | Removed due to inactivity or data hygiene. |
bounced | Email bounced, won’t receive campaigns. |