Skip to content

Verify an email address without putting the token in the URL

POST
/v1/auth/verify-email
curl --request POST \
--url https://api.aetherpush.com/v1/auth/verify-email \
--header 'Content-Type: application/json' \
--data '{ "token": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" }'

Consumes a one-time verification token from a JSON body and marks the account’s email as verified. The dashboard removes the token from its URL fragment before making this request, so neither request URL nor access logs contain the token.

Media typeapplication/json
object
token
required

The one-time token from the verification email’s URL fragment.

string
/^[0-9a-fA-F]{64}$/

Email verified successfully.

Media typeapplication/json
object
message
required
string

Example

{
"message": "Email verified successfully. You can now log in."
}

Token missing, malformed, invalid, expired, already used, or replaced by a newer verification email.

Media typeapplication/json
object
error
required
string
code
required
string
Allowed values: verification_token_required verification_token_invalid verification_token_expired verification_token_used verification_token_superseded
requestId
required

Unique identifier for the request, also exposed as the X-Request-Id response header.

string

Example

{
"error": "This verification token has expired.",
"code": "verification_token_required",
"requestId": "req_abc123"
}

Internal server error.

Media typeapplication/json
Error

Standard error envelope. code is the stable machine identifier for client branching and i18n. The wording of error is a human-readable fallback and is not part of the contract. Specialized responses keep narrower code enums where clients already branch on them.

object
error
required

Human-readable error message.

string
code
required

Stable machine code. Prefer this over matching on error. The values this API can answer with are listed in the ApiErrorCode schema of the raw document at https://api.aetherpush.com/openapi.yaml. The field stays an open string here so that a release adding a value does not invalidate this response.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string

Example

{
"error": "The requested resource was not found.",
"code": "not_found",
"requestId": "req_abc123"
}