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

# Get Project usage

> Read usage-series rows for the project dimension filtered to this Project.



## OpenAPI

````yaml /openapi.json get /v1/projects/{id}/usage
openapi: 3.1.0
info:
  title: Checkfu API
  version: '2026-08-31'
  description: >-
    Authentication is declared per operation: API-key, runtime, or connector
    bearer; Automation signature; bootstrap poll token; or anonymous bootstrap
    creation and credential-free pairing redemption. Every general Checkfu REST
    request requires the dated `Checkfu-Version` header (one of: 2026-08-31);
    the three MCP JSON-RPC transports use `MCP-Protocol-Version`, A2A uses
    `A2A-Version`, and the provider OAuth callback carries neither Checkfu
    header. API keys resolve one Workspace without a request selector;
    authenticated responses identify it with `Checkfu-Workspace-Id`.
servers:
  - url: https://api.checkfu.com
security:
  - bearerAuth: []
tags:
  - name: organizations
  - name: sourceRepositories
  - name: tenants
  - name: workspaces
  - name: principals
  - name: principalGroups
  - name: principalAccessCredentials
  - name: apiKeys
  - name: agents
  - name: harnesses
  - name: harnessRuntime
  - name: computerProfiles
  - name: permissionAssignments
  - name: actionPolicies
  - name: files
  - name: memoryStores
  - name: dreams
  - name: modelCredentials
  - name: modelRoutingProfiles
  - name: blueprintInstallations
  - name: toolSources
  - name: skills
  - name: skillSources
  - name: agentBlueprints
  - name: skillProposals
  - name: instructionProposals
  - name: catalog
  - name: concepts
  - name: support
  - name: bootstrapRequests
  - name: connections
  - name: connectionVaults
  - name: connectionAssignments
  - name: connectedRuntimes
  - name: fileTrees
  - name: collaboration
  - name: automationGraphs
  - name: automations
  - name: projects
  - name: actionApprovals
  - name: standingApprovals
  - name: workloadReviewPolicies
  - name: usage
  - name: models
  - name: outcomes
  - name: budgets
  - name: billing
  - name: sessions
  - name: audit
  - name: sessionExports
  - name: runs
  - name: runnerPools
  - name: transcripts
  - name: sessionWatches
  - name: sessionHandoffs
  - name: sessionCapsules
  - name: sessionTrajectories
  - name: webhookEndpoints
  - name: integrationGateway
  - name: workEnvironments
  - name: computers
  - name: computerScreens
  - name: computerBrowserObservations
  - name: computerBrowserActions
  - name: environments
  - name: computerHeadlessOperations
  - name: vaults
  - name: apiMcp
  - name: a2a
paths:
  /v1/projects/{id}/usage:
    get:
      tags:
        - projects
      summary: Get Project usage
      description: >-
        Read usage-series rows for the `project` dimension filtered to this
        Project. Density is computed on the workspace-wide fact set before the
        Project filter; Computer grouping for `project` is `not_applicable` and
        returns no Computer buckets. `view` on the Project is required plus the
        usage read authority Sessions already require. Native child threads are
        inside their Session's totals and are never counted again.


        Checkfu support posture: alpha; hosted. No release evidence journey
        applies to this operation.
      operationId: projects.getProjectUsage
      parameters:
        - name: id
          in: path
          schema:
            $ref: '#/components/schemas/ProjectId'
          required: true
        - name: checkfu-version
          in: header
          schema:
            type: string
            enum:
              - '2026-08-31'
          required: true
        - name: from
          in: query
          schema:
            $ref: '#/components/schemas/UsageSeriesTimestamp'
          required: true
        - name: to
          in: query
          schema:
            $ref: '#/components/schemas/UsageSeriesTimestamp'
          required: true
        - name: monetary_view
          in: query
          schema:
            type: string
            enum:
              - event_time
              - accounting_time
          required: false
        - name: display_timezone
          in: query
          schema:
            $ref: '#/components/schemas/UsageSeriesDisplayTimeZone'
          required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Objects_158'
          headers:
            checkfu-workspace-id:
              description: The Workspace resolved from the authenticated bearer credential.
              required: true
              schema:
                $ref: '#/components/schemas/WorkspaceId'
        '400':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationMalformedError'
        '401':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - auth.invalid_key
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#auth-invalid-key
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '403':
          description: >-
            The organization, tenant, or workspace backing this key is
            administratively disabled. | Deployment governance or retention
            policy denied the request.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    required:
                      - error
                    properties:
                      error:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - auth.disabled_tenancy
                          message:
                            type: string
                          more:
                            type: string
                            enum:
                              - >-
                                https://docs.checkfu.com/reference/errors#auth-disabled-tenancy
                            description: >-
                              Stable public documentation and remedy for this
                              error type.
                        required:
                          - type
                          - message
                          - more
                        additionalProperties: false
                    additionalProperties: false
                  - $ref: '#/components/schemas/PolicyDeniedError'
        '404':
          description: >-
            The requested resource does not exist in the resolved deployment
            boundary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationNotFoundError'
        '422':
          description: >-
            The read selects more immutable facts than one response can safely
            decode.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationRangeTooLargeError'
        '429':
          description: Typed Checkfu wire error
          headers:
            retry-after:
              description: >-
                Delay in seconds for rate limits or deployment quotas with a
                known release or UTC reset boundary
              required: false
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - budget.exceeded
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#budget-exceeded
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '500':
          description: >-
            An unexpected internal failure occurred; the message contains an
            opaque incident reference.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeInternalError'
      security:
        - bearerAuth: []
components:
  schemas:
    ProjectId:
      type: string
      allOf:
        - pattern: ^proj_[0-9a-f]{32}$
    UsageSeriesTimestamp:
      type: string
      allOf:
        - maxLength: 24
        - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
          description: >-
            A canonical UTC ISO-8601 usage-series timestamp with millisecond
            precision.
    UsageSeriesDisplayTimeZone:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 255
    Objects_158:
      type: object
      properties:
        from:
          $ref: '#/components/schemas/UsageSeriesTimestamp'
        to:
          $ref: '#/components/schemas/UsageSeriesTimestamp'
        as_of:
          $ref: '#/components/schemas/UsageSeriesTimestamp'
        bucket:
          type: string
          enum:
            - day
        monetary_view:
          $ref: '#/components/schemas/Union_317'
        display_timezone:
          $ref: '#/components/schemas/UsageSeriesDisplayTimeZone'
        revision:
          $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
        watermark:
          type: object
          properties:
            as_of:
              $ref: '#/components/schemas/UsageSeriesTimestamp'
            status:
              type: string
              enum:
                - current
                - partial
          required:
            - as_of
            - status
          additionalProperties: false
        usage:
          type: array
          items:
            type: object
            properties:
              bucket_start:
                $ref: '#/components/schemas/UsageSeriesTimestamp'
              bucket_end:
                $ref: '#/components/schemas/UsageSeriesTimestamp'
              incomplete:
                type: boolean
              spend_status:
                type: string
                enum:
                  - complete
                  - partial
                  - not_applicable
              group:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 255
              totals:
                type: object
                properties:
                  input_tokens:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  cached_input_tokens:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  cache_write_input_tokens:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  output_tokens:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  reasoning_output_tokens:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  total_tokens:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  active_ms:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  running_ms:
                    $ref: >-
                      #/components/schemas/UsageSeriesNonNegativeSafeIntegerEncoded
                  requests:
                    $ref: >-
                      #/components/schemas/UsageSeriesNonNegativeSafeIntegerEncoded
                  storage_mib_ms:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  fact_count:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  late_fact_count:
                    $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                  spend_coverage:
                    type: object
                    properties:
                      charged:
                        $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                      unpriced:
                        $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                      byok:
                        $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                      unknown:
                        $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
                    required:
                      - charged
                      - unpriced
                      - byok
                      - unknown
                    additionalProperties: false
                required:
                  - input_tokens
                  - cached_input_tokens
                  - cache_write_input_tokens
                  - output_tokens
                  - reasoning_output_tokens
                  - total_tokens
                  - active_ms
                  - storage_mib_ms
                  - fact_count
                  - late_fact_count
                  - spend_coverage
                additionalProperties: false
            required:
              - bucket_start
              - bucket_end
              - incomplete
              - spend_status
              - group
              - totals
            additionalProperties: false
        computer:
          type: array
          items:
            $ref: '#/components/schemas/UsageSeriesComputerBucket'
        spend:
          type: array
          items:
            type: object
            properties:
              bucket_start:
                $ref: '#/components/schemas/UsageSeriesTimestamp'
              bucket_end:
                $ref: '#/components/schemas/UsageSeriesTimestamp'
              incomplete:
                type: boolean
              spend_status:
                type: string
                enum:
                  - complete
                  - partial
              group:
                type: string
                allOf:
                  - minLength: 1
                  - maxLength: 255
              currency:
                type: string
                enum:
                  - usd
              exact_picousd:
                type: string
                allOf:
                  - pattern: ^-?\d+$
            required:
              - bucket_start
              - bucket_end
              - incomplete
              - spend_status
              - group
              - currency
              - exact_picousd
            additionalProperties: false
      required:
        - from
        - to
        - as_of
        - bucket
        - monetary_view
        - display_timezone
        - revision
        - watermark
        - usage
        - computer
        - spend
      additionalProperties: false
    WorkspaceId:
      type: string
      allOf:
        - pattern: ^wrkspc_[0-9a-f]{32}$
    ValidationMalformedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.malformed
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-malformed
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The request could not be decoded or violated a declared input
        constraint.
    PolicyDeniedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - policy.denied
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#policy-denied
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: Deployment governance or retention policy denied the request.
    ValidationNotFoundError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.not_found
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-not-found
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The requested resource does not exist in the resolved deployment
        boundary.
    ValidationRangeTooLargeError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.range_too_large
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-range-too-large
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The read selects more immutable facts than one response can safely
        decode.
    RuntimeInternalError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - runtime.internal
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#runtime-internal
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An unexpected internal failure occurred; the message contains an opaque
        incident reference.
    Union_317:
      type: string
      enum:
        - event_time
        - accounting_time
    UsageSeriesNonNegativeSafeInteger:
      type: integer
    UsageSeriesNonNegativeSafeIntegerEncoded:
      anyOf:
        - $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
        - type: 'null'
    UsageSeriesComputerBucket:
      type: object
      properties:
        bucket_start:
          $ref: '#/components/schemas/UsageSeriesTimestamp'
        bucket_end:
          $ref: '#/components/schemas/UsageSeriesTimestamp'
        incomplete:
          type: boolean
        group:
          type: string
          allOf:
            - minLength: 1
            - maxLength: 255
        dimension:
          $ref: '#/components/schemas/Union_318'
        quantity:
          type: string
        fact_count:
          type: integer
          allOf:
            - exclusiveMinimum: 0
        late_fact_count:
          $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
        final_count:
          $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
        provisional_count:
          $ref: '#/components/schemas/UsageSeriesNonNegativeSafeInteger'
      required:
        - bucket_start
        - bucket_end
        - incomplete
        - group
        - dimension
        - quantity
        - fact_count
        - late_fact_count
        - final_count
        - provisional_count
      additionalProperties: false
    Union_318:
      type: string
      enum:
        - compute_seconds
        - screen_seconds
        - storage_mib_seconds
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````