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

> ## Agent Instructions
> To act on a user's behalf in Guild, use the Guild REST API at https://api.guild.ai/v1.
> The OpenAPI spec is unauthenticated: https://docs.guild.ai/openapi.json (or openapi.yaml).
> Authenticate with an account API key, sent as HTTP Basic (key id as username, secret as password) or as `Authorization: Bearer <api_key_id>:<api_key_secret>`. See https://docs.guild.ai/api-reference/introduction#authentication.
> To run one agent on demand without account-wide access, use an API trigger instead: https://docs.guild.ai/platform/api-triggers.
> To act on Guild from an MCP client, connect to https://api.guild.ai/mcp (OAuth) or run `guild mcp` locally. Setup: https://docs.guild.ai/api-reference/mcp.
> To search these docs from an MCP client, connect to https://docs.guild.ai/mcp. The full page index is https://docs.guild.ai/llms.txt.

# Account KPI strip + breakdowns + time series for the Usage page



## OpenAPI

````yaml /api-reference/openapi.yaml get /accounts/{account_id_or_name}/usage/summary
openapi: 3.0.3
info:
  title: Guild Public API
  version: 1.0.0
  description: >-
    The Guild public API, served at https://api.guild.ai/v1. Authenticate with
    an account API key, sent as HTTP Basic (key id as the username, secret as
    the password) or as a Bearer token `<key id>:<secret>`, or with an OAuth 2.0
    access token. Each operation lists the credentials it accepts and the scopes
    it needs; see https://docs.guild.ai/api-reference/introduction#scopes.
    Versions are path integers and v1 is the only one: a breaking change ships
    as a new version rather than changing v1. Lists page with `limit` and
    `offset` and report `pagination.has_more`. A session-events websocket also
    exists at wss://api.guild.ai/v1/sessions/{session_id}/events/ws with the
    same credentials on the handshake; OpenAPI cannot describe websockets, so it
    is not listed in paths.
servers:
  - url: https://api.guild.ai/v1
    description: Production
security: []
tags:
  - name: accounts
  - name: agents
  - name: integrations
  - name: other
  - name: sessions
  - name: skills
  - name: triggers
  - name: workspaces
paths:
  /accounts/{account_id_or_name}/usage/summary:
    get:
      tags:
        - accounts
      summary: Account KPI strip + breakdowns + time series for the Usage page
      operationId: get_account_usage_summary
      parameters:
        - name: account_id_or_name
          in: path
          required: true
          schema:
            type: string
        - name: days
          in: query
          required: false
          schema:
            default: 30
            description: Window in days, ending now
            maximum: 365
            minimum: 1
            title: Days
            type: integer
        - name: start
          in: query
          required: false
          schema:
            default: null
            description: First day, YYYY-MM-DD; overrides days with end
            title: Start
            nullable: true
            format: date
            type: string
        - name: end
          in: query
          required: false
          schema:
            default: null
            description: Last day, YYYY-MM-DD
            title: End
            nullable: true
            format: date
            type: string
        - name: provider
          in: query
          required: false
          schema:
            default: null
            title: Provider
            nullable: true
            type: string
        - name: model
          in: query
          required: false
          schema:
            default: null
            title: Model
            nullable: true
            type: string
        - name: platform
          in: query
          required: false
          schema:
            default: null
            title: Platform
            nullable: true
            type: string
        - name: workspace_id
          in: query
          required: false
          schema:
            default: null
            description: Only this workspace, by ID or full name
            title: Workspace Id
            nullable: true
            type: string
        - name: agent_id
          in: query
          required: false
          schema:
            default: null
            description: Only this agent, by ID or full name
            title: Agent Id
            nullable: true
            type: string
        - name: user_id
          in: query
          required: false
          schema:
            default: null
            title: User Id
            nullable: true
            type: string
        - name: breakdown_limit
          in: query
          required: false
          schema:
            default: null
            description: Rows to keep in each breakdown, e.g. 5 for the top five
            title: Breakdown Limit
            nullable: true
            maximum: 500
            minimum: 1
            type: integer
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKey: []
        - bearerApiKey: []
        - oauth2:
            - usage:read
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  securitySchemes:
    apiKey:
      type: http
      scheme: basic
      description: >-
        API key: key id as the username, secret as the password. An account API
        key carries the same scopes as an OAuth token and is checked against the
        scopes listed under oauth2 on each operation. A trigger API key is
        limited to its trigger's workspace and reaches only the session
        operations that list this scheme alongside the oauth2 scopes.
    bearerApiKey:
      type: http
      scheme: bearer
      bearerFormat: <key id>:<secret>
      description: >-
        The same API key as one Bearer token, `<key id>:<secret>`. An account
        API key carries the same scopes as an OAuth token and is checked against
        the scopes listed under oauth2 on each operation. A trigger API key is
        limited to its trigger's workspace and reaches only the session
        operations that list this scheme alongside the oauth2 scopes.
    oauth2:
      type: oauth2
      description: >-
        OAuth 2.0 authorization code flow with PKCE (S256). Discovery:
        https://api.guild.ai/.well-known/oauth-authorization-server.
      flows:
        authorizationCode:
          authorizationUrl: https://api.guild.ai/v1/oauth/authorize
          tokenUrl: https://api.guild.ai/v1/oauth/token
          refreshUrl: https://api.guild.ai/v1/oauth/token
          scopes:
            agents:read: Read agents
            agents:write: Read and change agents
            sessions:read: Read sessions
            sessions:write: Read and change sessions
            workspaces:read: Read workspaces
            workspaces:write: Read and change workspaces
            skills:read: Read skills
            skills:write: Read and change skills
            integrations:read: Read integrations
            integrations:write: Read and change integrations
            applications:read: Read applications
            applications:write: Read and change applications
            organizations:read: Read organizations
            organizations:write: Read and change organizations
            usage:read: Read usage
            usage:write: Read and change usage

````