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

# Plan, rates and invoices

> Dashboard owners and admins; API keys with the `billing:read` scope.



## OpenAPI

````yaml /compute/api-reference/anona-openapi.yaml get /v1/billing
openapi: 3.0.3
info:
  title: Anona Compute API (Anona routes)
  version: 0.1.0
  description: >
    Routes the Anona Compute gateway serves next to the E2B-compatible API:

    live-view viewer tokens, SSH certificates, network policy, the credential

    vault, usage and billing, webhooks and telemetry export, thumbnails, preview
    links,

    public ports, pause when idle, template builds, and API key management.


    Written from the gateway handlers
    (`gateway/internal/stream/token/handlers.go`,

    `gateway/internal/sshca/handler.go`,
    `gateway/internal/handlers/apikeys/apikeys.go`)

    and checked against a running gateway by
    `docs-site/scripts/verify_openapi.py`.
servers:
  - url: https://api.compute.anonalabs.com
security:
  - ApiKeyAuth: []
  - BearerAuth: []
tags:
  - name: Live view
  - name: SSH
  - name: Sandbox access
  - name: Templates
  - name: Network
  - name: Credential vault
  - name: Usage and billing
  - name: Webhooks and telemetry
  - name: API keys
  - name: Service
paths:
  /v1/billing:
    get:
      tags:
        - Usage and billing
      summary: Plan, rates and invoices
      description: Dashboard owners and admins; API keys with the `billing:read` scope.
      operationId: getBilling
      responses:
        '200':
          description: The billing document.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Billing'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    Billing:
      type: object
      required:
        - tenant
        - provider
        - rates
        - limits
        - invoices
        - asOf
      properties:
        tenant:
          $ref: '#/components/schemas/Tenant'
        provider:
          type: string
          description: '`manual` while no payment provider is connected'
        rates:
          type: array
          items:
            type: object
            required:
              - meter
              - unit
              - unitPriceUsd
            properties:
              meter:
                type: string
              tier:
                type: string
              unit:
                type: string
              unitPriceUsd:
                type: number
              effectiveFrom:
                type: string
                format: date-time
        limits:
          type: object
          properties:
            monthlyCreditUsd:
              type: number
            spendCapUsd:
              type: number
              nullable: true
            maxConcurrentSandboxes:
              type: integer
        state:
          type: object
          nullable: true
        invoices:
          type: array
          items:
            type: object
        asOf:
          type: string
          format: date-time
    Tenant:
      type: object
      required:
        - id
        - slug
        - planId
      properties:
        id:
          type: string
        slug:
          type: string
        name:
          type: string
        planId:
          type: string
        planName:
          type: string
        billingModel:
          type: string
        status:
          type: string
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: The HTTP status code.
        message:
          type: string
        error_code:
          type: string
          description: >-
            Machine-readable reason, on some errors (for example
            `invalid_request`).
  responses:
    Unauthorized:
      description: No valid API key or session.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The key's scopes or the caller's role do not allow this.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: An Anona Compute API key (`e2b_` followed by lowercase hex).
    BearerAuth:
      type: http
      scheme: bearer
      description: 'The same API key, sent as `Authorization: Bearer e2b_...`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.