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

# Get usage summary



## OpenAPI

````yaml api-reference/openapi.v1.json GET /usage/summary
openapi: 3.1.0
info:
  title: Aether Public API
  version: 0.1.0
  description: >-
    The versioned, public Aether REST API. Authenticate with an `aether_`
    platform API key or a session token.
servers:
  - url: https://api.runaether.dev/v1
security:
  - bearerAuth: []
paths:
  /usage/summary:
    get:
      tags:
        - usage
      summary: Get usage summary
      operationId: getUsageSummary
      parameters:
        - explode: false
          in: query
          name: from
          required: true
          schema:
            minLength: 1
            type: string
        - explode: false
          in: query
          name: to
          required: true
          schema:
            minLength: 1
            type: string
        - explode: false
          in: query
          name: project_id
          schema:
            minLength: 1
            type: string
        - explode: false
          in: query
          name: agent_type
          schema:
            minLength: 1
            type: string
        - explode: false
          in: query
          name: model
          schema:
            minLength: 1
            type: string
        - explode: false
          in: query
          name: status
          schema:
            minLength: 1
            type: string
        - explode: false
          in: query
          name: vm_size
          schema:
            minLength: 1
            type: string
        - explode: false
          in: query
          name: group_by
          schema:
            enum:
              - none
              - project
              - agent
              - model
              - vm_size
              - status
            type: string
        - explode: false
          in: query
          name: task_offset
          schema:
            format: int64
            minimum: 0
            type: integer
        - explode: false
          in: query
          name: task_limit
          schema:
            format: int64
            maximum: 100
            minimum: 1
            type: integer
        - explode: false
          in: query
          name: task_sort
          schema:
            enum:
              - credits
              - runtime
              - tokens
              - started_at
              - name
            type: string
        - explode: false
          in: query
          name: task_order
          schema:
            enum:
              - asc
              - desc
            type: string
        - explode: false
          in: query
          name: compare
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageSummaryResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
components:
  schemas:
    UsageSummaryResponse:
      additionalProperties: false
      properties:
        data_notes:
          $ref: '#/components/schemas/UsageDataNotes'
        generated_at:
          format: date-time
          type: string
        group_by:
          enum:
            - none
            - project
            - agent
            - model
            - vm_size
            - status
          type: string
        group_series:
          items:
            $ref: '#/components/schemas/UsageGroupSeries'
          type: array
        groups:
          items:
            $ref: '#/components/schemas/UsageGroup'
          type: array
        range:
          $ref: '#/components/schemas/UsageSummaryRange'
        series:
          items:
            $ref: '#/components/schemas/UsageSeriesPoint'
          type: array
        task_pagination:
          $ref: '#/components/schemas/UsageTaskPagination'
        tasks:
          items:
            $ref: '#/components/schemas/UsageTaskSummary'
          type: array
        totals:
          $ref: '#/components/schemas/UsageTotals'
        totals_previous:
          $ref: '#/components/schemas/UsageTotals'
        vm_runtime_series_by_tier:
          items:
            $ref: '#/components/schemas/UsageVMRuntimeTierSeriesPoint'
          type: array
      required:
        - range
        - group_by
        - totals
        - series
        - vm_runtime_series_by_tier
        - group_series
        - groups
        - tasks
        - task_pagination
        - data_notes
        - generated_at
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        code:
          type: string
        error:
          minLength: 1
          type: string
      required:
        - error
      type: object
    UsageDataNotes:
      additionalProperties: false
      properties:
        cache_tokens_available:
          type: boolean
        cost_available:
          type: boolean
        hardware_breakdown_available:
          type: boolean
        reasoning_tokens_available:
          type: boolean
        running_runtime_intervals_included:
          type: boolean
      required:
        - cost_available
        - cache_tokens_available
        - reasoning_tokens_available
        - hardware_breakdown_available
        - running_runtime_intervals_included
      type: object
    UsageGroupSeries:
      additionalProperties: false
      properties:
        key:
          type: string
        label:
          type: string
        series:
          items:
            $ref: '#/components/schemas/UsageSeriesPoint'
          type: array
        sublabel:
          type: string
      required:
        - key
        - label
        - series
      type: object
    UsageGroup:
      additionalProperties: false
      properties:
        agent_run_count:
          format: int64
          minimum: 0
          type: integer
        credits_used:
          format: double
          minimum: 0
          type: number
        key:
          type: string
        label:
          type: string
        sublabel:
          type: string
        task_count:
          format: int64
          minimum: 0
          type: integer
        tokens_in:
          format: int64
          minimum: 0
          type: integer
        tokens_out:
          format: int64
          minimum: 0
          type: integer
        total_tokens:
          format: int64
          minimum: 0
          type: integer
        vm_uptime_seconds:
          format: int64
          minimum: 0
          type: integer
      required:
        - key
        - label
        - task_count
        - agent_run_count
        - tokens_in
        - tokens_out
        - total_tokens
        - vm_uptime_seconds
        - credits_used
      type: object
    UsageSummaryRange:
      additionalProperties: false
      properties:
        bucket:
          enum:
            - day
          type: string
        from:
          format: date-time
          type: string
        to:
          format: date-time
          type: string
      required:
        - from
        - to
        - bucket
      type: object
    UsageSeriesPoint:
      additionalProperties: false
      properties:
        agent_run_count:
          format: int64
          minimum: 0
          type: integer
        credits_used:
          format: double
          minimum: 0
          type: number
        date:
          minLength: 1
          type: string
        task_count:
          format: int64
          minimum: 0
          type: integer
        tokens_in:
          format: int64
          minimum: 0
          type: integer
        tokens_out:
          format: int64
          minimum: 0
          type: integer
        total_tokens:
          format: int64
          minimum: 0
          type: integer
        vm_uptime_seconds:
          format: int64
          minimum: 0
          type: integer
      required:
        - date
        - task_count
        - agent_run_count
        - tokens_in
        - tokens_out
        - total_tokens
        - vm_uptime_seconds
        - credits_used
      type: object
    UsageTaskPagination:
      additionalProperties: false
      properties:
        has_more:
          type: boolean
        limit:
          format: int64
          minimum: 1
          type: integer
        offset:
          format: int64
          minimum: 0
          type: integer
        total:
          format: int64
          minimum: 0
          type: integer
      required:
        - offset
        - limit
        - total
        - has_more
      type: object
    UsageTaskSummary:
      additionalProperties: false
      properties:
        agent_run_count:
          format: int64
          minimum: 0
          type: integer
        agent_type:
          enum:
            - codex
            - claude-code
            - opencode
            - cursor
          type: string
        completed_at:
          format: date-time
          type:
            - string
            - 'null'
        credits_used:
          format: double
          minimum: 0
          type: number
        display_status:
          enum:
            - running
            - awaiting_input
            - awaiting_ci
            - merged
            - unmerged
            - errored
            - archived
          type: string
        hardware:
          $ref: '#/components/schemas/UsageHardwareSnapshot'
        model:
          minLength: 1
          type: string
        pr_number:
          format: int64
          minimum: 1
          type:
            - integer
            - 'null'
        project_id:
          minLength: 1
          type: string
        project_name:
          minLength: 1
          type: string
        started_at:
          format: date-time
          type:
            - string
            - 'null'
        task_count:
          format: int64
          minimum: 0
          type: integer
        task_id:
          minLength: 1
          type: string
        task_name:
          minLength: 1
          type: string
        tokens_in:
          format: int64
          minimum: 0
          type: integer
        tokens_out:
          format: int64
          minimum: 0
          type: integer
        total_tokens:
          format: int64
          minimum: 0
          type: integer
        vm_uptime_seconds:
          format: int64
          minimum: 0
          type: integer
      required:
        - task_id
        - task_name
        - project_id
        - project_name
        - agent_type
        - model
        - display_status
        - task_count
        - agent_run_count
        - tokens_in
        - tokens_out
        - total_tokens
        - vm_uptime_seconds
        - credits_used
      type: object
    UsageTotals:
      additionalProperties: false
      properties:
        agent_run_count:
          format: int64
          minimum: 0
          type: integer
        credits_used:
          format: double
          minimum: 0
          type: number
        task_count:
          format: int64
          minimum: 0
          type: integer
        tokens_in:
          format: int64
          minimum: 0
          type: integer
        tokens_out:
          format: int64
          minimum: 0
          type: integer
        total_tokens:
          format: int64
          minimum: 0
          type: integer
        vm_uptime_seconds:
          format: int64
          minimum: 0
          type: integer
      required:
        - task_count
        - agent_run_count
        - tokens_in
        - tokens_out
        - total_tokens
        - vm_uptime_seconds
        - credits_used
      type: object
    UsageVMRuntimeTierSeriesPoint:
      additionalProperties: false
      properties:
        credits_per_hour:
          format: double
          minimum: 0
          type: number
        credits_used:
          format: double
          minimum: 0
          type: number
        date:
          minLength: 1
          type: string
        hardware:
          $ref: '#/components/schemas/UsageHardwareSnapshot'
        runtime_class_id:
          enum:
            - small
            - medium
            - large
            - xl
          type: string
        runtime_class_label:
          minLength: 1
          type: string
        task_count:
          format: int64
          minimum: 0
          type: integer
        vm_uptime_seconds:
          format: int64
          minimum: 0
          type: integer
      required:
        - date
        - runtime_class_id
        - runtime_class_label
        - hardware
        - task_count
        - vm_uptime_seconds
        - credits_per_hour
        - credits_used
      type: object
    UsageHardwareSnapshot:
      additionalProperties: false
      properties:
        cpu_kind:
          enum:
            - shared
            - performance
          type: string
        cpus:
          format: int64
          maximum: 16
          minimum: 1
          type: integer
        gpu_kind:
          enum:
            - a10
            - l40s
            - a100-40gb
            - a100-80gb
          type:
            - string
            - 'null'
        memory_mb:
          format: int64
          maximum: 32768
          minimum: 256
          type: integer
        volume_size_gb:
          format: int64
          maximum: 500
          minimum: 1
          type: integer
      required:
        - cpu_kind
        - cpus
        - memory_mb
        - volume_size_gb
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````