> ## 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.

# Create a funded account (agent onboarding)

> Creates an account, grants the signup bonus, and mints a first API key. The raw key is returned exactly once.



## OpenAPI

````yaml /openapi.yaml post /v1/accounts
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:
  /v1/accounts:
    post:
      summary: Create a funded account (agent onboarding)
      description: >-
        Creates an account, grants the signup bonus, and mints a first API key.
        The raw key is returned exactly once.
      operationId: createAccount
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  format: email
      responses:
        '201':
          description: Account created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedAccount'
      security: []
components:
  schemas:
    CreatedAccount:
      type: object
      properties:
        account:
          type: object
          properties:
            id:
              type: string
            email:
              type: string
              nullable: true
            created_at:
              type: string
              format: date-time
        api_key:
          type: string
          description: Raw key
          shown once: null
        balance:
          $ref: '#/components/schemas/Balance'
    Balance:
      type: object
      properties:
        credits:
          '0': null
          type: integer
          description: micro-USD (1
          000 = $1): null
        usd:
          type: number
  securitySchemes:
    BearerKey:
      type: http
      scheme: bearer
      description: Gateway API key (`imp-rt-...`) from POST /v1/accounts or /v1/keys.

````