Skip to content

Start a passwordless passkey sign-in

POST
/v1/auth/passkey/challenge
curl --request POST \
--url https://api.aetherpush.com/v1/auth/passkey/challenge

Issues WebAuthn authentication options with no credential list, for discoverable credentials. No account is named; the assertion identifies it. User verification is required, so the passkey alone counts as multi-factor. Rate limited per client address.

WebAuthn authentication options to pass to the browser.

Media typeapplication/json
object
options
required

WebAuthn PublicKeyCredentialRequestOptionsJSON, as produced by SimpleWebAuthn’s generateAuthenticationOptions(). Pass it to startAuthentication() from @simplewebauthn/browser.

object
key
additional properties
any

Example generated

{
"options": {}
}

Too many attempts.

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

Passkeys are not configured on this server.

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