Skip to content

Reference / List members

Sign up to list

POST/api/v1/lists/{id}/members

Signs an address up to the list, with proof of consent. The contact is created if it does not exist.

With status pending (the default on lists with double opt-in), the person receives a confirmation email and is added when they confirm. With subscribed, the person is added immediately – you then certify that consent exists.

Anyone who has previously unsubscribed always gets a confirmation email, whatever you send: no integration can sign someone up again against their will. Addresses that bounce, have made a spam complaint, are deleted or are suppressed give 409 blocked.

Responds 201 when something changed and 200 when the person was already a member (or has just been sent a confirmation email – a new one is sent no sooner than ten minutes later).

Scope

  • contacts:write Edit contacts – the person behind the key must be editor or higher.

Path parameters

idstringrequired
The list's ID.

Body

JSON, Content-Type: application/json. Unknown fields return 422.

emailstringrequired
The email address.at most 254 characters
first_namestring | null
First name. Only fills in what is missing on an existing contact.at most 100 characters
last_namestring | null
Last name.at most 100 characters
companystring | null
at most 200 characters
statusstring
subscribed: added immediately. pending: a confirmation email is sent and the person is added when they confirm. Default: the list's own mode. Anyone who has previously unsubscribed always receives a confirmation email.subscribedpending
consentobjectrequired
The proof of consent. Saved in the consent log.
consent.textstringrequired
Exactly the text the person agreed to.at least 10 characters · at most 5000 characters
consent.sourcestring
Where it happened.at most 200 characters
consent.ipstring
The person's IP address (not your server's).at most 45 characters
consent.user_agentstring
The person's browser.at most 255 characters

Retrying a request

Feel free to send the Idempotency-Key header (e.g. a UUID). If the same request is sent again with the same key within 24 hours, the first response is returned, without anything being done twice. Batch and idempotency

Response

201 The result (200 if nothing changed).

list_idstringrequired
contact_idstringrequired
statusstringrequired
pending: a confirmation email has been sent (or was just sent) and the person joins when they confirm.subscribedpending
confirmation_sentbooleanrequired
A confirmation email was sent just now.
created_contactbooleanrequired
The contact did not exist and was created.

Errors