Skip to content
POST
/v1/addresses/{address}/sequence
curl --request POST \
--url https://api.proxymail.qa/v1/addresses/k7f2x9ab12cd%40mailclub.dev/sequence \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "since": "2026-04-15T12:00:00Z", "steps": [ { "subject": "example", "category": "auth", "type": "code", "after": "1d", "within": "2h" } ] }'

A welcome series or drip campaign: each step is an email to expect, in order, after since. A step can name a phrase from its subject, its category, its type (code or link), after (when it should come, such as 1d) and within (how far off still passes; default a tenth of after, at least 10 minutes). Each step answers pass, early, late, missing or waiting. Subjects are matched on the server and never returned. 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
since
string format: date-time
steps
required
Array<object>
>= 1 items <= 20 items
object
subject
string
<= 200 characters
category
string
Allowed values: auth transactional marketing
type
string
Allowed values: code link
after
string

Example

1d
within
string

Example

2h

Each step’s verdict

Media typeapplication/json
object
address
string
since
string format: date-time
passed
boolean
done

False while a step is still waiting for its time.

boolean
steps
Array<object>
object
step
integer
status
string
Allowed values: pass early late missing waiting
email_id
string | null format: uuid
received_at
string | null format: date-time
expected_at
string | null format: date-time
off_seconds
integer | null
detail
string

Example

{
"steps": [
{
"status": "pass"
}
]
}

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"
}