We use cookies to enhance your experience and measure how the site performs. Choose "Essential Only" to disable analytics. Read our Privacy Policy.

    Odeus Docs

    Export API Key Usage

    API endpoint to export usage and cost by API key

    Export API Key Usage

    API endpoint to export usage and cost by API key

    This endpoint exports API usage grouped by API key for the selected period.

    Using a dedicated deployment?

    Replace api.odeus.ai with <your-deployment>/api/public in all requests.

    For details on prerequisites and rate limits, please refer to the main Usage Export API documentation.

    Odeus intentionally blocks browser-origin requests to protect your API key and ensure your applications remain secure. For more information, please see our guide on API Key Best Practices.

    Data Included

    By default, the API key export returns one row per API key.

    ColumnDescription
    period_startStart date of the report
    period_endEnd date of the report
    org_idID of the workspace
    api_key_idID of the API key
    api_key_nameName of the API key
    requestsNumber of API requests
    total_cost_usdAPI usage cost in USD

    Additional Columns for BYOK Workspaces

    ColumnDescription
    sum_prompt_tokensTotal input tokens
    sum_completion_tokensTotal output tokens
    cached_prompt_tokensCache-read input tokens
    cache_creation_tokensCache-write input tokens
    no_cache_tokensInput tokens that were not served from cache

    Grouped Export

    Use group_by=model to return one row per API key and model.

    OpenAPI

    openapi: 3.0.0
    info:
      title: Odeus API
      version: 3.0.0
    servers:
      - url: https://api.odeus.ai
    security:
      - bearerAuth: []
    paths:
      /export/api-keys:
        post:
          tags:
            - Usage Export
          summary: Export API key usage data
          description: Export detailed usage and cost data grouped by API key
          parameters: []
          requestBody:
            required: true
            content:
              application/json:
                schema:
                  $ref: '#/components/schemas/UsageExportModelGroupByRequest'
                example:
                  from:
                    date: '2024-01-01T00:00:00.000Z'
                    timezone: UTC
                  to:
                    date: '2024-01-31T23:59:59.999Z'
                    timezone: UTC
                  group_by: model
          responses:
            '200':
              description: Export successful
              content:
                application/json:
                  schema:
                    $ref: '#/components/schemas/UsageExportResponse'
            '400':
              description: Bad Request
              content:
                application/json:
                  schema:
                    $ref: '#/components/schemas/UsageExportError'
            '401':
              description: Unauthorized
              content:
                application/json:
                  schema:
                    $ref: '#/components/schemas/UsageExportError'
            '404':
              description: No data found
              content:
                application/json:
                  schema:
                    $ref: '#/components/schemas/UsageExportError'
    components:
      schemas:
        UsageExportModelGroupByRequest:
          allOf:
            - $ref: '#/components/schemas/UsageExportRequest'
            - type: object
              properties:
                group_by:
                  type: string
                  description: Optional aggregation dimension.
                  enum:
                    - model
        UsageExportResponse:
          type: object
          description: Successful response from usage export endpoints
          properties:
            success:
              type: boolean
              description: Indicates if the export was successful
              example: true
            data:
              type: object
              description: Export data information
              properties:
                filePath:
                  type: string
                  description: Path to the generated export file
                  example: >-
                    agents-usage/workspace-id/agents-usage-2024-01-01-2024-01-31-abc12345.csv
                downloadUrl:
                  type: string
                  format: uri
                  description: Signed URL to download the export file
                  example: https://storage.example.com/signed-url
                dataType:
                  type: string
                  description: Type of data exported
                  enum:
                    - assistants
                    - agents
                    - api_keys
                    - users
                    - projects
                    - models
                  example: assistants
                recordCount:
                  type: integer
                  description: Number of records in the export
                  example: 1250
                dateRange:
                  type: object
                  description: Actual date range of the exported data
                  properties:
                    from:
                      type: string
                      format: date-time
                      description: Start date of the export
                      example: '2024-01-01T00:00:00.000Z'
                    to:
                      type: string
                      format: date-time
                      description: End date of the export
                      example: '2024-01-31T23:59:59.999Z'
                  required:
                    - from
                    - to
              required:
                - filePath
                - downloadUrl
                - dataType
                - recordCount
                - dateRange
          required:
            - success
            - data
        UsageExportError:
          type: object
          description: Error response from usage export endpoints
          properties:
            error:
              type: string
              description: Error type
              example: No data found
            message:
              type: string
              description: Detailed error message
              example: No usage data found for the selected period
          required:
            - error
            - message
        UsageExportRequest:
          type: object
          description: Request body for usage export endpoints
          properties:
            from:
              type: object
              description: Start date and timezone for the export
              properties:
                date:
                  type: string
                  format: date-time
                  description: Start date in ISO 8601 format
                  example: '2024-01-01T00:00:00.000Z'
                timezone:
                  type: string
                  description: Timezone for the date range
                  example: UTC
              required:
                - date
                - timezone
            to:
              type: object
              description: End date and timezone for the export
              properties:
                date:
                  type: string
                  format: date-time
                  description: End date in ISO 8601 format
                  example: '2024-01-31T23:59:59.999Z'
                timezone:
                  type: string
                  description: Timezone for the date range
                  example: UTC
              required:
                - date
                - timezone
          required:
            - from
            - to
      securitySchemes:
        bearerAuth:
          type: http
          scheme: bearer
          bearerFormat: API Key
          description: API key as Bearer token. Format "Bearer YOUR_API_KEY"