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 User Usage

    API endpoint to export user activity data including message counts and usage patterns (subject to privacy settings)

    Export User Usage

    API endpoint to export user activity data including message counts and usage patterns (subject to privacy settings)

    This endpoint exports user activity data including message counts, usage patterns, and feature utilization. The available data depends on your workspace privacy settings.

    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.

    Privacy Considerations

    The user export data is subject to workspace privacy settings, user-identifying data may be excluded due to privacy settings. As a consequence of this some data may be anonymized based on workspace configuration.

    Data Included

    By default, the user export returns one row per user for the selected period.

    ColumnDescription
    period_startStart date of the report
    period_endEnd date of the report
    org_idID of the workspace
    user_idID of the user
    nameName of the user
    emailEmail of the user
    roleUser role
    joined_atDate the user joined the workspace
    departmentUser department
    company_nameUser company name
    license_typeCurrent license tier
    payg_limit_currentCurrent extra-usage limit
    payg_consumption_in_periodExtra-usage consumption in the selected period
    payg_utilization_pct_currentpayg_consumption_in_period / payg_limit_current
    messages_totalTotal messages sent by the user
    messages_total_rankRank by total messages
    messages_chatMessages sent in regular chats
    messages_chat_rankRank by chat messages
    messages_assistantsMessages sent to agents
    messages_assistants_rankRank by agent messages
    assistants_messagedNumber of distinct agents messaged
    assistants_to_messagesJSON mapping agent ID to message count
    messages_projectsMessages sent to projects
    messages_projects_rankRank by project messages
    projects_messagedNumber of distinct projects messaged
    projects_to_messagesJSON mapping project ID to message count
    model_to_messages_totalJSON mapping model name to message count
    action_messagesMessages generated by actions
    action_messagedNumber of distinct actions triggered
    action_to_messagesJSON mapping action name to message count

    Additional Columns for BYOK Workspaces

    ColumnDescription
    total_input_tokensTotal input tokens consumed by the user
    total_output_tokensTotal output tokens generated for the user
    cached_prompt_tokensCache-read input tokens
    cache_creation_tokensCache-write input tokens
    no_cache_tokensInput tokens that were not served from cache
    total_cost_usdEstimated provider cost in USD

    Because BYOK workspaces supply their own model keys, Odeus can provide token consumption and costs directly. This is not possible when obtaining your models directly through Odeus.

    Grouped Export

    Use group_by=model to return one row per user 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/users:
        post:
          tags:
            - Usage Export
          summary: Export user usage data
          description: >-
            Export detailed usage data for all users in the workspace (subject to
            privacy settings)
          parameters: []
          requestBody:
            required: true
            content:
              application/json:
                schema:
                  $ref: '#/components/schemas/UsageExportModelGroupByRequest'
          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"