Skip to main content
POST
Record email opt-in

Authorizations

Authorization
string
header
required

API key authentication via Bearer token

Headers

idempotency-key
string

Key that makes this request safe to retry. Reuse the same value when retrying a request that may already have succeeded — the original response is replayed with an Idempotency-Replay: true header. Use a new value for a new operation.

Required string length: 1 - 255
Example:

"9f8c2b1a-4d3e-4a6b-8c1d-2e3f4a5b6c7d"

Body

application/json
email
string<email>
required

The recipient address

basis
enum<string>
required

How the recipient agreed: express_consent means they said yes to marketing email (a ticked box, a spoken or written yes); confirmed_opt_in means they then also confirmed it by email (double opt-in). A purchased, scraped or cold-outreach address qualifies under neither.

Available options:
express_consent,
confirmed_opt_in
source
enum<string>
required

Where the recipient agreed: web_form (a website sign-up form), checkout (checkout or booking), in_person, phone (a phone call), email (an email from the recipient), paper_form, or other.

Available options:
web_form,
checkout,
in_person,
phone,
email,
paper_form,
other
capturedOn
string<date>
required

The date the recipient agreed (YYYY-MM-DD), in their own calendar. It can be long before you record it, but not in the future.

Example:

"2026-09-01"

evidence
string
required

Where the proof of this opt-in is kept: a form URL, a signed-sheet reference, a booking or order ID. Required, up to 1000 characters.

Required string length: 1 - 1000
Example:

"https://example.com/newsletter-signup"

Response

Email opt-in recorded successfully

data
object
required
meta
object
Last modified on October 6, 2026