Error
A valid request URL is required to generate request examples{
"contact": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"email": "<string>",
"avatar_url": "<string>",
"locale": "en",
"identified": true,
"email_verified": true,
"attribution": {
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>",
"referrer": "<string>",
"landing_page": "<string>"
},
"first_seen_at": "2023-11-07T05:31:56Z",
"last_seen_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
},
"token": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"verified": true
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Customer plane
Redeem a magic link
Turns a one-time token into a contact session. The redeem is atomic in SQL, so the link works exactly once, and clicking it is what proves the email — the contact is marked identified here, and the session it mints is verified.
Used, expired and never-existed all answer the same 401.
Rate limited to 20 requests per hour per IP.
POST
/
v1
/
contact-auth
/
magic-link
/
redeem
Error
A valid request URL is required to generate request examples{
"contact": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"email": "<string>",
"avatar_url": "<string>",
"locale": "en",
"identified": true,
"email_verified": true,
"attribution": {
"utm_source": "<string>",
"utm_medium": "<string>",
"utm_campaign": "<string>",
"utm_term": "<string>",
"utm_content": "<string>",
"referrer": "<string>",
"landing_page": "<string>"
},
"first_seen_at": "2023-11-07T05:31:56Z",
"last_seen_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
},
"token": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"verified": true
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Corpo
application/json
uk_ml_…, from the email.