Auth

Get auth session status

Poll for auth session status. JWT is set as httpOnly cookie on verified response.

A session whose sign-in was STARTED with an API key is bound to that key when it is issued (see the create endpoint): every copy of it — this poll, the messenger's "Open Dashboard" link, a magic link — ends when the key is revoked by any path. A poll presenting an API key the API no longer accepts (Authorization: Bearer pk_…) gets 401 invalid_api_key and no cookie. A poll without a pk_ bearer is unaffected.

get/api/v1/auth/sessions/{id}

Request

  • Base URL: https://api.proof.holdings
  • URL: https://api.proof.holdings/api/v1/auth/sessions/{id}
  • Auth: none declared

Path parameters

idstring required

Auth session ID

Example:auth_abc123

Response

Auth session status

idstring required
type'login' required
channel'telegram' | 'whatsapp' | 'sms' | 'email' required

Authentication channel

status'pending' | 'verified' | 'expired' required

Status of an auth session

deep_linkstring
qr_codestring

Base64-encoded QR code image

qr_textstring

UTF-8 text representation of the QR code for terminal/agent display

expires_atstring date-time required
instructionsstring
verified_atstring date-time
user_idstring

Example response

{
  "id": "auth_abc123",
  "channel": "telegram",
  "status": "pending",
  "deep_link": "https://t.me/bot?start=auth_abc123",
  "expires_at": "2026-02-13T12:10:00Z",
  "instructions": "Open Telegram and tap the link to log in"
}

Changes

No recorded changes to this operation across all 1 revision of this API.