POST/auth/verify
Verify an auth challenge
Operation auth.verify
Description
Completes sign-in by checking the challenge signature, bound to the API origin, against the identity's registered signing key, then opens a session and returns its bearer token plus the first WebSocket ticket. Each challenge can be used once. A suspended identity's valid signature is refused with 403 and code account_suspended, which clients treat as terminal.
Authentication
No session is required.
Request body
application/jsonVerifyRequest
Proves possession of an identity's signing key by signing the sign-in challenge.
2 fields
fingerprintstringrequired- exactly 64 characters
- lowercase hexadecimal
Fingerprint the challenge was issued for.
signaturestringrequired- exactly 6,172 characters
- base64, pattern
^(?:[A-Za-z0-9+/]{4}){1542}[A-Za-z0-9+/][AQgw]==$
Base64 ML-DSA-87 signature over the challenge, bound to the API origin and fingerprint.
Other fields are allowed.
Responses
200 OK
application/jsonVerifySuccessResponse
A successful sign-in: the new session's bearer token and where the user's data starts.
9 fields
authenticatedbooleanrequired- always
true
- always
codenever presentoptionalerrornever presentoptionalisRootbooleanrequiredTrue for a platform operator; it only reveals the root console, and the API enforces root access itself.
organizationIdstringrequired- not empty
The user's default organization.
rootContainerIdstringrequirednullable- not empty
Root container of the default organization, or null after that organization was purged; clients verify its role from signed state.
tokenstringrequired- not empty
Bearer token for the
Authorizationheader of later requests.userIdstringrequired- not empty
wsTicketstringrequired- not empty
Single-use ticket for this session's first WebSocket connection.
Other fields are allowed.
Other responses
| Status | Meaning | Body |
|---|---|---|
| 400 | Bad Request |
|
| 401 | Unauthorized |
|
| 403 | Forbidden |
|
| 404 | Not Found |
|
| 500 | Internal Server Error |
|
| 503 | Service Unavailable |
|