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

# List API key usage

> List API key usage.



## OpenAPI

````yaml /cloud/rest/openapi.json get /api-keys/usage
openapi: 3.1.0
info:
  title: Veryfront REST API reference
  version: 1.0.0
  description: |-
    ## Explore the API

    | Domain | Use it to |
    | --- | --- |
    | [Projects](#tag/projects) | Manage projects and files. |
    | [Agents](#tag/agents) | Manage agent primitives. |
    | [Orchestration](#tag/execution) | Manage conversations and runs. |
    | [Evaluations](#tag/evaluations) | Manage evaluations and results. |
    | [AI Gateway](#tag/ai-gateway) | Access models and inference. |
    | [MCP](#tag/mcp) | Discover tools and authorization. |
    | [Integrations](#tag/integrations) | Manage connections and integrations. |
    | [Knowledge](#tag/knowledge) | Manage documents and search. |
    | [Deployments](#tag/deployments) | Manage releases and deployments. |
    | [Runtime](#tag/runtime) | Manage environments and infrastructure. |
    | [Observability](#tag/observability) | Monitor activity and performance. |
    | [Identity & Access](#tag/identity-access) | Manage identity and access. |
    | [Billing & Usage](#tag/billing-usage) | Manage billing and usage. |
    | [Other](#tag/platform) | Inspect health and API metadata. |

    [OpenAPI specification (JSON)](/openapi.json)
  contact:
    name: Veryfront API Support
    url: https://veryfront.com/docs
    email: support@veryfront.com
  x-api-id: 5f1f0b8a-6b0e-4c1a-9b35-0f3a1e6d84c7
  x-audience: external-public
servers:
  - url: https://api.veryfront.com
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - name: projects
    description: Manage projects and files.
  - name: agents
    description: Manage agent primitives.
  - name: execution
    description: Manage conversations and runs.
  - name: evaluations
    description: Manage evaluations and results.
  - name: ai-gateway
    description: Access models and inference.
  - name: mcp
    description: Discover tools and authorization.
  - name: integrations
    description: Manage connections and integrations.
  - name: knowledge
    description: Manage documents and search.
  - name: deployments
    description: Manage releases and deployments.
  - name: runtime
    description: Manage environments and infrastructure.
  - name: observability
    description: Monitor activity and performance.
  - name: identity-access
    description: Manage identity and access.
  - name: billing-usage
    description: Manage billing and usage.
  - name: platform
    description: Inspect health and API metadata.
  - name: projects/Projects
  - name: projects/Projects/Favorites
  - name: projects/Projects/Account Projects
  - name: projects/Projects/Projects
  - name: projects/Projects/Project Labels
  - name: projects/Projects/Project templates
  - name: projects/Files
  - name: projects/Files/Files
  - name: projects/Files/File Chunks
  - name: projects/Files/Branch File Versions
  - name: projects/Files/Branch Files
  - name: projects/Files/Environment Files
  - name: projects/Files/File Versions
  - name: projects/Files/Branch File Drafts
  - name: projects/Files/Release Files
  - name: projects/Files/Sandbox Files
  - name: projects/Files/File Search
  - name: projects/Branches
  - name: projects/Branches/Branches
  - name: projects/Branches/Branch Policies
  - name: projects/Branches/Branch Approvals
  - name: projects/Branches/Branch Status Checks
  - name: projects/Branches/Project Commits
  - name: projects/Branches/Branch Merges
  - name: projects/Uploads
  - name: projects/Uploads/Upload Folders
  - name: projects/Uploads/Upload Grants
  - name: projects/Uploads/Project Uploads
  - name: projects/Uploads/Upload Visibility
  - name: agents/Agents
  - name: agents/Agents/Agents
  - name: agents/Agents/Agent Labels
  - name: agents/Agents/Agent templates
  - name: agents/Agents/Agent Tool References
  - name: agents/Agents/Agent Avatars
  - name: agents/Agents/Agent Capabilities
  - name: agents/Agents/Agent Installation
  - name: agents/Prompts
  - name: agents/Prompts/Project prompts
  - name: agents/Tools
  - name: agents/Tools/Project tools
  - name: agents/Skills
  - name: agents/Skills/Project skills
  - name: agents/Resources
  - name: agents/Resources/Project resources
  - name: agents/Tasks
  - name: agents/Tasks/Tasks
  - name: agents/Workflows
  - name: agents/Workflows/Workflows
  - name: execution/Conversations
  - name: execution/Conversations/Conversations
  - name: execution/Conversations/Conversation messages
  - name: execution/Conversations/Conversation participants
  - name: execution/Conversations/Conversation read state
  - name: execution/Triggers
  - name: execution/Triggers/Project schedules
  - name: execution/Triggers/Webhooks
  - name: execution/Triggers/Webhook events
  - name: execution/Runs
  - name: execution/Runs/Run Input Requests
  - name: execution/Runs/Runs
  - name: execution/Runs/Runtime
  - name: execution/Runs/Child Runs
  - name: execution/Runs/Conversation Runs
  - name: execution/Runs/Project Runs
  - name: execution/Runs/Webhook Runs
  - name: execution/Runs/Run Events
  - name: execution/Runs/Run Actions
  - name: execution/Runs/Run Artifacts
  - name: execution/Executors
  - name: execution/Executors/Connected agents
  - name: execution/Executors/Agent workers
  - name: evaluations/Evaluations
  - name: evaluations/Evaluations/Evaluations
  - name: evaluations/Evaluations/Evaluation Runs
  - name: ai-gateway/Models
  - name: ai-gateway/Models/Model discovery
  - name: ai-gateway/Models/Inference Models
  - name: ai-gateway/Models/Project inference policy
  - name: ai-gateway/Models/Account inference policy
  - name: ai-gateway/Inference
  - name: ai-gateway/Inference/OpenAI Chat Completions
  - name: ai-gateway/Inference/Embeddings
  - name: ai-gateway/Inference/OpenAI Responses
  - name: ai-gateway/Inference/Proxy metadata
  - name: ai-gateway/Inference/Anthropic Messages
  - name: ai-gateway/Inference/Provider gateway
  - name: ai-gateway/Inference/Gemini inference
  - name: ai-gateway/Inference/Image generation
  - name: mcp/Tools
  - name: mcp/Tools/MCP discovery
  - name: mcp/Authorization
  - name: mcp/Authorization/Protected resource discovery
  - name: integrations/Integrations
  - name: integrations/Integrations/Integration tools
  - name: integrations/Integrations/Integration catalog
  - name: integrations/Integrations/Project integrations
  - name: integrations/Connections
  - name: integrations/Connections/Connections
  - name: integrations/Channels
  - name: integrations/Channels/Channels
  - name: integrations/Channels/Setup lookups
  - name: integrations/External storage
  - name: integrations/External storage/External Files
  - name: knowledge/Documents
  - name: knowledge/Documents/Project knowledge
  - name: knowledge/Documents/Retrieval documents
  - name: knowledge/Search
  - name: knowledge/Search/Search
  - name: knowledge/Embeddings
  - name: knowledge/Embeddings/Project embeddings
  - name: deployments/Releases
  - name: deployments/Releases/Releases
  - name: deployments/Releases/Release Versions
  - name: deployments/Releases/Release Source Manifests
  - name: deployments/Deployments
  - name: deployments/Deployments/Project deployments
  - name: deployments/Artifacts
  - name: deployments/Artifacts/Dependencies
  - name: deployments/Artifacts/Release Asset Manifests
  - name: deployments/Artifacts/Style artifacts
  - name: runtime/Environments
  - name: runtime/Environments/Environments
  - name: runtime/Environments/Environment Domains
  - name: runtime/Environments/Environment variables
  - name: runtime/Environments/Project Domains
  - name: runtime/Environments/Environment Variable Keys
  - name: runtime/Servers
  - name: runtime/Servers/Environment Servers
  - name: runtime/Servers/Project servers
  - name: runtime/Sandboxes
  - name: runtime/Sandboxes/Sandbox Lifecycle
  - name: runtime/Sandboxes/Sandbox Commands
  - name: runtime/Sandboxes/Sandbox Environment
  - name: runtime/Sandboxes/Sandbox Health
  - name: runtime/Sandboxes/Sandbox Terminal
  - name: runtime/Cache
  - name: runtime/Cache/Project Cache
  - name: runtime/Cache/User Cache
  - name: observability/Logs
  - name: observability/Logs/Log entries
  - name: observability/Traces
  - name: observability/Traces/Trace spans
  - name: observability/Traces/Project traces
  - name: observability/Traces/Trace Search
  - name: observability/Metrics
  - name: observability/Metrics/Metric series
  - name: observability/Alerts
  - name: observability/Alerts/Project alerts
  - name: observability/Error types
  - name: observability/Error types/Error types
  - name: identity-access/Users
  - name: identity-access/Users/Account users
  - name: identity-access/Users/Project users
  - name: identity-access/Users/Current user
  - name: identity-access/Accounts
  - name: identity-access/Accounts/Accounts
  - name: identity-access/Invitations
  - name: identity-access/Invitations/Invitations
  - name: identity-access/Permissions
  - name: identity-access/Permissions/Feature gates
  - name: identity-access/Permissions/Project Ownership
  - name: identity-access/API keys
  - name: identity-access/API keys/API keys
  - name: identity-access/Authentication
  - name: identity-access/Authentication/Sign-in
  - name: identity-access/Authentication/Tokens
  - name: identity-access/Authorization
  - name: identity-access/Authorization/Authorized apps
  - name: identity-access/Authorization/General OAuth
  - name: identity-access/Authorization/Consent
  - name: billing-usage/Subscriptions
  - name: billing-usage/Subscriptions/Subscriptions
  - name: billing-usage/Subscriptions/Seats
  - name: billing-usage/Billing
  - name: billing-usage/Billing/Invoices
  - name: billing-usage/Billing/Payments
  - name: billing-usage/Billing/Payment Methods
  - name: billing-usage/Billing/Billing Details
  - name: billing-usage/Billing/Account billing
  - name: billing-usage/Credits
  - name: billing-usage/Credits/Credits
  - name: billing-usage/Budgets
  - name: billing-usage/Budgets/Budgets
  - name: billing-usage/Usage
  - name: billing-usage/Usage/API key usage
  - name: billing-usage/Usage/Account usage
  - name: billing-usage/Usage/Project usage
  - name: billing-usage/Analytics
  - name: billing-usage/Analytics/Conversation Analytics
  - name: billing-usage/Analytics/Run Analytics
  - name: platform/Other
  - name: platform/Other/API metadata
paths:
  /api-keys/usage:
    get:
      tags:
        - billing-usage/Usage/API key usage
      summary: List API key usage
      description: List API key usage.
      operationId: listApiKeysUsage
      parameters:
        - schema:
            type: string
            enum:
              - 7d
              - 30d
              - 90d
            default: 30d
            description: >-
              Relative timeframe preset, counted in whole days of the requested
              timezone.
          required: false
          name: preset
          in: query
        - schema:
            type: string
            default: UTC
            description: >-
              IANA time zone for daily bucket boundaries, such as
              `Europe/Berlin`. Numeric UTC offsets are not accepted.
          required: false
          name: timezone
          in: query
        - schema:
            type: string
            description: >-
              Optional project UUID or slug. Scopes the listing to that
              project’s keys.
          required: false
          name: project_reference
          in: query
      responses:
        '200':
          description: >-
            AI spending by API key; `kind` separates individual keys from
            grouped usage, including requests without API key authentication.
            With `project_reference`: the project’s keys, requests without a
            key, and usage from deleted key records. Without it: the caller’s
            own keys and requests without a key; usage of a deleted key record
            cannot be recovered. Read from the AI usage ledger; `usd` is the
            customer charge at the credit rate and never provider cost.
          content:
            application/json:
              schema:
                type: object
                properties:
                  timeframe:
                    type: object
                    properties:
                      from:
                        type: string
                        description: Inclusive timeframe start timestamp.
                      to:
                        type: string
                        description: Exclusive timeframe end timestamp.
                      granularity:
                        type: string
                        enum:
                          - day
                        description: Bucket granularity.
                      timezone:
                        type: string
                        description: IANA timezone used for buckets.
                      bucket_count:
                        type: number
                        description: Number of daily buckets in the timeframe.
                    required:
                      - from
                      - to
                      - granularity
                      - timezone
                      - bucket_count
                  attribution:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: >-
                          Whether the ledger is recording who caused each call
                          right now.
                      recording_since:
                        type:
                          - string
                          - 'null'
                        description: >-
                          Time when the project first recorded caller
                          attribution, or null if it never has. Recording can
                          pause after this time. Usage recorded without
                          attribution, including during deployment or while
                          attribution is disabled, appears in an `unattributed`
                          row even if a person or API key caused it.
                    required:
                      - enabled
                      - recording_since
                    description: >-
                      Whether attribution is complete for the returned usage.
                      Treat it as incomplete if `enabled` is false,
                      `recording_since` is null, or the selected period includes
                      an `unattributed` row.
                  summary:
                    type: object
                    properties:
                      credits:
                        type: number
                        description: Credits debited in the timeframe.
                      usd:
                        type: number
                        description: Customer-billed USD for those credits.
                      requests:
                        type: number
                        description: Number of provider calls recorded.
                      input_tokens:
                        type: number
                        description: Input tokens.
                      output_tokens:
                        type: number
                        description: Output tokens.
                      cache_read_tokens:
                        type: number
                        description: Tokens read from the prompt cache.
                      cache_creation_tokens:
                        type: number
                        description: Tokens written to the prompt cache.
                    required:
                      - credits
                      - usd
                      - requests
                      - input_tokens
                      - output_tokens
                      - cache_read_tokens
                      - cache_creation_tokens
                    description: Sum of the rows below.
                  keys:
                    type: array
                    items:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - api_key
                            - no_api_key
                            - other_keys
                            - deleted_keys
                            - unattributed
                          description: >-
                            Usage row type. `api_key` identifies one key.
                            `no_api_key` groups usage without key
                            authentication. `other_keys` groups usage from keys
                            outside the listing, such as account-wide keys or
                            newly created project keys. `deleted_keys` groups
                            usage whose key record was removed when its creator
                            was deleted. `unattributed` groups usage recorded
                            without caller attribution and does not imply that
                            no key caused it. Grouped rows have `api_key_id:
                            null`; use this field to distinguish them.
                        api_key_id:
                          type:
                            - string
                            - 'null'
                          format: uuid
                          description: >-
                            Null on every bucket row, none of which stands for a
                            single key.
                        name:
                          type: string
                        key_prefix:
                          type:
                            - string
                            - 'null'
                        project_id:
                          type:
                            - string
                            - 'null'
                          format: uuid
                        revoked:
                          type: boolean
                        credits:
                          type: number
                          description: Credits debited in the timeframe.
                        usd:
                          type: number
                          description: Customer-billed USD for those credits.
                        requests:
                          type: number
                          description: Number of provider calls recorded.
                        input_tokens:
                          type: number
                          description: Input tokens.
                        output_tokens:
                          type: number
                          description: Output tokens.
                        cache_read_tokens:
                          type: number
                          description: Tokens read from the prompt cache.
                        cache_creation_tokens:
                          type: number
                          description: Tokens written to the prompt cache.
                      required:
                        - kind
                        - api_key_id
                        - name
                        - key_prefix
                        - project_id
                        - revoked
                        - credits
                        - usd
                        - requests
                        - input_tokens
                        - output_tokens
                        - cache_read_tokens
                        - cache_creation_tokens
                required:
                  - timeframe
                  - attribution
                  - summary
                  - keys
        '400':
          description: Bad request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '404':
          description: Not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '500':
          description: Server error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
components:
  schemas:
    Problem:
      type: object
      properties:
        cause:
          type: string
          enum:
            - schedule_concurrency_forbidden
            - schedule_fire_in_progress
            - schedule_run_limit_reached
          description: Schedule admission refusal.
        idempotency:
          type: object
          properties:
            state:
              type: string
              enum:
                - in_progress
                - payload_mismatch
                - outcome_unknown
            operation:
              type: string
              minLength: 1
            retryable:
              type: boolean
            retry_after_seconds:
              type:
                - integer
                - 'null'
              minimum: 0
            expires_at:
              type:
                - string
                - 'null'
            recovery:
              type: object
              properties:
                available:
                  type: boolean
                description:
                  type: string
                resource_url:
                  type: string
              required:
                - available
                - description
          required:
            - state
            - operation
            - retryable
            - retry_after_seconds
            - expires_at
          description: Replay status, retry timing, and recovery lookup.
        type:
          type: string
          description: URI reference identifying the problem type
          example: https://api.veryfront.com/errors/validation-failed
        title:
          type: string
          description: Short human-readable summary of the problem
          example: Validation Failed
        status:
          type: integer
          minimum: 100
          maximum: 599
          description: HTTP status code
          example: 400
        code:
          type: string
          description: Stable machine-readable error code
          example: RUN_INVALID_INPUT
        detail:
          type: string
          description: Human-readable explanation specific to this occurrence
          example: The 'email' field must be a valid email address
        instance:
          type: string
          description: URI reference identifying the specific occurrence
          example: /projects/my-project/members
        slug:
          type: string
          description: Stable identifier for the problem type
          example: validation-failed
        category:
          type: string
          enum:
            - AUTH
            - RESOURCE
            - VALIDATION
            - DATABASE
            - SUBSCRIPTION
            - INTEGRATION
            - INTERNAL
          description: API error category
          example: VALIDATION
        suggestion:
          type: string
          description: Suggested action to resolve the problem
          example: >-
            Check the request body and query parameters against the API
            documentation.
        errors:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
                description: Field path that caused the error
                example: email
              message:
                type: string
                description: Error message for this field
                example: Invalid email format
              code:
                type: string
                description: Error code for this field
                example: INVALID_FORMAT
            required:
              - field
              - message
          description: Detailed field-level errors for validation failures
      required:
        - type
        - title
        - status
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use a JWT bearer token or a Veryfront API key in the `Authorization`
        header.
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Alternative API key header for `vf_<prefix>_<secret>` tokens.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.