> ## Documentation Index
> Fetch the complete documentation index at: https://impossibl.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Start a claim ceremony (hand the account to a human)

> Begins the WorkOS auth.md "user claimed flow". Authenticated by the agent's
API key; the account claimed is that key's account. Returns an RFC 8628-shaped
`user_code` + `verification_uri`. Show them to the human, who signs in with
WorkOS as `email` and enters the code; poll POST /oauth2/token until claimed.




## OpenAPI

````yaml /openapi.yaml post /agent/identity/claim
openapi: 3.1.0
info:
  title: Impossibl AI API
  version: 0.0.1
  description: >
    The Impossibl AI API is one API for all AI providers, OpenAI-compatible
    across OpenAI,

    Anthropic, Google, xAI, and more (`GET /v1/models` lists the full catalog),

    billed from a prepaid credit balance.


    Provider usage is billed at provider list prices with no usage markup.

    Prepaid credit purchases charge a separate fixed 5% platform fee before tax.


    **Agent quickstart**

    1. `POST /v1/accounts` — create a funded account; you get an API key and a
       signup-bonus balance in one call (no human step required).
    2. Call `POST /v1/chat/completions`, `POST /v1/responses`, or
       `POST /v1/audio/transcriptions` with
       `Authorization: Bearer <key>` and a `provider/model` id from `GET /v1/models`.
    3. Credits are deducted per request by token or audio-duration usage; check
    `GET /v1/account`.
servers:
  - url: https://api.impossibl.com
    description: Production
  - url: http://localhost:8787
    description: Local dev
security:
  - BearerKey: []
paths:
  /agent/identity/claim:
    post:
      summary: Start a claim ceremony (hand the account to a human)
      description: >
        Begins the WorkOS auth.md "user claimed flow". Authenticated by the
        agent's

        API key; the account claimed is that key's account. Returns an RFC
        8628-shaped

        `user_code` + `verification_uri`. Show them to the human, who signs in
        with

        WorkOS as `email` and enters the code; poll POST /oauth2/token until
        claimed.
      operationId: startAccountClaim
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - email
              properties:
                email:
                  type: string
                  format: email
                  description: >-
                    The human who will claim the account; their verified email
                    must match.
      responses:
        '201':
          description: Claim ceremony initiated
          content:
            application/json:
              schema:
                type: object
                properties:
                  claim_attempt_id:
                    type: string
                  status:
                    type: string
                    example: initiated
                  expires_at:
                    type: string
                    format: date-time
                  claim_attempt:
                    type: object
                    properties:
                      user_code:
                        type: string
                        example: '123456'
                      expires_in:
                        type: integer
                        example: 900
                      interval:
                        type: integer
                        example: 5
                      verification_uri:
                        type: string
                      verification_uri_complete:
                        type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    BadRequest:
      description: Malformed request (bad JSON, or missing required fields).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              message: '`model` and `messages` are required'
              type: invalid_request_error
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              message: Invalid API key
              type: authentication_error
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            type:
              type: string
              description: >-
                One of authentication_error, invalid_request_error,
                insufficient_quota, upstream_error, provider_not_configured.
  securitySchemes:
    BearerKey:
      type: http
      scheme: bearer
      description: Gateway API key (`imp-rt-...`) from POST /v1/accounts or /v1/keys.

````