Project API

Lists API

Manage audiences and their membership.

View as Markdown ↗

Project key. Acts in the project the key belongs to. An all-access key works too — name the project with an X-Project-Id header. How keys and scopes work.

Endpoints

GET/v1/lists
POST/v1/lists
GET/v1/lists/{id}
PATCH/v1/lists/{id}
DELETE/v1/lists/{id}
GET/v1/lists/{id}/contacts
POST/v1/lists/{id}/contacts
DELETE/v1/lists/{id}/contacts/{contact_id}

Create & manage

Body parameters

namestringrequired

Display name for the list.

descriptionstringoptional

Optional description.

double_optinbooleanoptional

Require email confirmation for new members. Defaults to false. See double opt-in below.

cURL
curl -X POST https://emailbump.com/api/v1/lists \
  -H "Authorization: Bearer ebk_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Newsletter", "double_optin": true }'

Membership

Add a contact by id or email (this fires any list-join automations):

cURL
curl -X POST https://emailbump.com/api/v1/lists/LIST_ID/contacts \
  -H "Authorization: Bearer ebk_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "email": "[email protected]" }'

You can also add a contact to lists when you create it, via list_ids on POST /v1/contacts.

Double opt-in

Set double_optin: true on a list to require confirmed subscription. It's a per-list setting — each list confirms independently; there's no single global confirmation.

  • Adding a contact to a double-opt-in list enrols them as pending and emails them a confirmation link (subject: "Please confirm your subscription to {list name}").
  • They become an active member — and the list-join automation fires — only when they click the link. Re-adding a contact who is already pending or confirmed does not re-send.
  • Campaigns to the list send only to confirmed members; pending and per-list unsubscribed contacts are excluded.
  • Confirmation and per-list unsubscribe are hosted pages (/list-confirm/{token}, /list-unsubscribe/{token}) — no extra API calls needed.