Quadrillion Token Usage API

The Token Usage API from Quadrillion — 1 operation(s) for token usage.

OpenAPI Specification

quadrillion-token-usage-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Quadrillion Cloud account Token Usage API
  description: Public cloud API service for cloud-safe backend endpoints
  version: 0.1.0
tags:
- name: Token Usage
paths:
  /api/token_usage:
    get:
      summary: Get Token Usage
      description: 'Get token usage aggregated into 15-minute buckets by user and model.


        Returns usage broken down by:

        - input_tokens: Total input tokens

        - cached_tokens: Cached input tokens

        - new_input_tokens: New input tokens (input - cached)

        - output_tokens: Total output tokens

        - reasoning_tokens: Reasoning output tokens


        Defaults to the caller''s own data. Admin users (with @quadrillion.io email)

        may opt into cross-user data by passing user_id (specific user) or

        all_users=true (everyone). Non-admin requests for other users'' data are

        silently scoped to the caller.'
      operationId: get_token_usage_api_token_usage_get
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Filter by user ID (admin only)
          title: User Id
        description: Filter by user ID (admin only)
      - name: all_users
        in: query
        required: false
        schema:
          type: boolean
          description: Return data for all users (admin only opt-in)
          default: false
          title: All Users
        description: Return data for all users (admin only opt-in)
      - name: model
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by model name
          title: Model
        description: Filter by model name
      - name: start_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: Start date (ISO 8601)
          title: Start Date
        description: Start date (ISO 8601)
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: End date (ISO 8601)
          title: End Date
        description: End date (ISO 8601)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AggregatedUsageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Token Usage
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    AggregatedUsageResponse:
      properties:
        buckets:
          items:
            $ref: '#/components/schemas/AggregatedUsageBucket'
          type: array
          title: Buckets
          description: Usage in 15-minute buckets
        total_input_tokens:
          type: integer
          title: Total Input Tokens
        total_cached_tokens:
          type: integer
          title: Total Cached Tokens
        total_cache_write_tokens:
          type: integer
          title: Total Cache Write Tokens
        total_new_input_tokens:
          type: integer
          title: Total New Input Tokens
        total_output_tokens:
          type: integer
          title: Total Output Tokens
        total_reasoning_tokens:
          type: integer
          title: Total Reasoning Tokens
        total_cost_usd:
          type: number
          title: Total Cost Usd
          default: 0.0
      type: object
      required:
      - buckets
      - total_input_tokens
      - total_cached_tokens
      - total_cache_write_tokens
      - total_new_input_tokens
      - total_output_tokens
      - total_reasoning_tokens
      title: AggregatedUsageResponse
      description: Response model for time-bucketed aggregated token usage.
    AggregatedUsageBucket:
      properties:
        time_bucket:
          type: string
          format: date-time
          title: Time Bucket
          description: Start of the 15-minute interval
        user_id:
          type: integer
          title: User Id
        user_email:
          anyOf:
          - type: string
          - type: 'null'
          title: User Email
        user_name:
          anyOf:
          - type: string
          - type: 'null'
          title: User Name
        provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
        request_count:
          type: integer
          title: Request Count
          description: Number of requests in this bucket
        input_tokens:
          type: integer
          title: Input Tokens
          description: Total input tokens
        cached_tokens:
          type: integer
          title: Cached Tokens
          description: Cache read tokens (reduced rate)
        cache_write_tokens:
          type: integer
          title: Cache Write Tokens
          description: Cache write tokens (Anthropic only, 1.25x input rate)
          default: 0
        new_input_tokens:
          type: integer
          title: New Input Tokens
          description: Uncached input tokens (provider-dependent derivation)
        output_tokens:
          type: integer
          title: Output Tokens
          description: Total output tokens
        reasoning_tokens:
          type: integer
          title: Reasoning Tokens
          description: Reasoning tokens (subset of output_tokens)
        cost_usd:
          type: number
          title: Cost Usd
          description: Provider cost in USD (summed request_cost_usd)
          default: 0.0
      type: object
      required:
      - time_bucket
      - user_id
      - request_count
      - input_tokens
      - cached_tokens
      - new_input_tokens
      - output_tokens
      - reasoning_tokens
      title: AggregatedUsageBucket
      description: Token usage aggregated into 15-minute time buckets by user and model.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError