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:writeEdit 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_idstringrequiredcontact_idstringrequiredstatusstringrequired- 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
- 400
- bad_request
- 404
- not_found
- 429
- rate_limited