Skip to content
PUT
/v1/addresses/{address}/consent
curl --request PUT \
--url https://api.proxymail.qa/v1/addresses/k7f2x9ab12cd%40mailclub.dev/consent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "marketing": "opted_in", "prechecked": true, "double_opt_in": "confirmed", "at": "2026-04-15T12:00:00Z" }'

What the address agreed to at sign-up: marketing (opted_in or declined), prechecked (the box was ticked when the form loaded) and double_opt_in (confirmed or pending; it confirms itself when the verify link is used). Give only what changed. /checks then judges marketing email by the rules where the persona lives (its country): marketing_consent, prechecked_consent, double_opt_in, unsubscribe_deadline, postal_address, sender_identity, minor_marketing, misleading_subject and ad_label, for the EU and EEA, UK, US, Canada, Australia, New Zealand, Switzerland, Japan, South Korea, Singapore and Hong Kong, each naming its official source. A test aid, not legal advice. In Labs: answers 403 until the key’s creator switches on Marketing and offer emails in Account settings → Labs.

address
required
string format: email

The test address, URL-encoded. A variant also works: capitals, or a +tag (k7f2x9ab12cd+o’brien@mailclub.dev). It acts on the plain address; waiting on a +tag variant, or listing its messages, only finds mail sent to that variant.

Example

k7f2x9ab12cd@mailclub.dev
Media typeapplication/json
object
marketing
string | null
Allowed values: opted_in declined
prechecked
boolean
double_opt_in
string | null
Allowed values: confirmed pending
at

When. Default: now.

string format: date-time

Its consent as recorded

Media typeapplication/json
object
address
string
marketing
string | null
Allowed values: opted_in declined
prechecked
boolean | null
at
string | null format: date-time
double_opt_in
string | null
Allowed values: confirmed pending
double_opt_in_at
string | null format: date-time
via
string | null
Allowed values: form app extension agent api
country

The persona’s country, which decides the rules.

string | null

Example

{
"marketing": "opted_in",
"double_opt_in": "confirmed",
"via": "form"
}

An error

Media typeapplication/json
object
error
string
message
string

Example generated

{
"error": "example",
"message": "example"
}

An error

Media typeapplication/json
object
error
string
message
string

Example generated

{
"error": "example",
"message": "example"
}