Skip to content

Confirm authenticator app setup

POST
/v1/mfa/totp/verify
curl --request POST \
--url https://api.aetherpush.com/v1/mfa/totp/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "code": "example", "stepUp": { "type": "passkey", "response": {}, "code": "example" } }'

Session-only. Verifies the first code from the authenticator app and activates it as an MFA method. When it is the account’s first MFA method, MFA turns on and the recovery codes are returned exactly once. Confirming an additional authenticator on an account that already has MFA enabled requires a fresh step-up proof.

Media typeapplication/json
object
code
required
string
stepUp

Required only when confirming an additional authenticator on an account that already has MFA enabled. Omitted for the first factor.

object
type
required
string
Allowed values: passkey totp
response

WebAuthn AuthenticationResponseJSON. Required when type is passkey.

object
key
additional properties
any
code

A current authenticator code. Required when type is totp.

string

Authenticator confirmed.

Media typeapplication/json
object
mfaEnabled
required
boolean
recoveryCodes

Present only when this authenticator is the account’s first MFA method. Shown exactly once; the server stores only hashes.

Array<string>
Examplegenerated
{
"mfaEnabled": true,
"recoveryCodes": [
"example"
]
}

No setup in progress, or the code is not valid.

Media typeapplication/json
object
error
required

Human-readable error message.

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.",
"requestId": "req_abc123"
}

Authentication required, or step-up is required and not satisfied (code: step_up_required).

Media typeapplication/json
One of:
object
error
required

Human-readable error message.

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.",
"requestId": "req_abc123"
}

API keys and named access keys receive a plain 403. A login session that is not a dashboard login session receives code dashboard_session_required.

Media typeapplication/json
One of:
object
error
required

Human-readable error message.

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.",
"requestId": "req_abc123"
}

Authenticator codes are not configured on this server.

Media typeapplication/json
object
error
required

Human-readable error message.

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.",
"requestId": "req_abc123"
}