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

# Unit economics

> Spend per unit of the business for a period against the previous equal window, where a unit is a sub-account (grouped by id, named by its label) or the value of a tag or virtual tag. Each unit carries its change, its share of spend in its currency, and the usage quantity in a canonical unit; costPerUnit is present only when all of the unit's usage is in one canonical unit. Amounts are in their billing currency, one row per unit and currency. Accepts the same filters as /cost/query.



## OpenAPI

````yaml /api-reference/costgraph/openapi.json get /api/v1/tenant/cost/unit-economics
openapi: 3.0.0
info:
  description: Read and manage your CostGraph organization, spend, alerts, and settings.
  title: CostGraph API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.costgraph.ai
security: []
tags:
  - name: ai
    x-group: AI
  - name: ai-serving
    x-group: AI serving
  - name: anomalies
    x-group: Anomalies
  - name: auth
    x-group: Auth
  - name: billing
    x-group: Billing
  - name: billing-export
    x-group: Billing export
  - name: budgets
    x-group: Budgets
  - name: ci
    x-group: CI
  - name: compute-recommendations
    x-group: Compute recommendations
  - name: config
    x-group: Config
  - name: cost
    x-group: Cost
  - name: gpus
    x-group: GPUs
  - name: graphai
    x-group: Graph AI
  - name: infracost
    x-group: Infracost
  - name: integrations
    x-group: Integrations
  - name: invitations
    x-group: Invitations
  - name: kubernetes-clusters
    x-group: Kubernetes clusters
  - name: marketplace
    x-group: Marketplace
  - name: network-requests
    x-group: Network requests
  - name: notifications
    x-group: Notifications
  - name: oauth
    x-group: OAuth
  - name: oauth-clients
    x-group: OAuth clients
  - name: opencost
    x-group: OpenCost
  - name: organization
    x-group: Audit log
  - name: organizations
    x-group: Organizations
  - name: placement-alternatives
    x-group: Placement alternatives
  - name: reports
    x-group: Reports
  - name: service-map
    x-group: Service map
  - name: settings
    x-group: Settings
  - name: sso
    x-group: Single sign-on
  - name: tenants
    x-group: Tenants
  - name: user
    x-group: Users
  - name: virtual-machines
    x-group: Virtual machines
  - name: virtual-tags
    x-group: Virtual tags
  - name: workflows
    x-group: Workflows
paths:
  /api/v1/tenant/cost/unit-economics:
    get:
      tags:
        - cost
      summary: Unit economics
      description: >-
        Spend per unit of the business for a period against the previous equal
        window, where a unit is a sub-account (grouped by id, named by its
        label) or the value of a tag or virtual tag. Each unit carries its
        change, its share of spend in its currency, and the usage quantity in a
        canonical unit; costPerUnit is present only when all of the unit's usage
        is in one canonical unit. Amounts are in their billing currency, one row
        per unit and currency. Accepts the same filters as /cost/query.
      parameters:
        - description: Tenant ID
          name: X-CostGraph-Tenant-ID
          in: header
          required: true
          schema:
            type: string
        - description: >-
            sub_account, or tag:<key> for a tag or virtual tag; defaults to
            sub_account
          name: unit
          in: query
          schema:
            type: string
        - description: Maximum units returned, largest spend first; defaults to 100
          name: limit
          in: query
          schema:
            type: integer
        - description: Cost period; defaults to month_to_date
          name: period
          in: query
          schema:
            type: string
            enum:
              - month_to_date
              - last_7d
              - last_30d
              - calendar_month
              - custom
        - description: >-
            Closed calendar month in YYYY-MM format; required when
            period=calendar_month
          name: month
          in: query
          schema:
            type: string
        - description: Window start in RFC3339 format; required when period=custom
          name: start
          in: query
          schema:
            type: string
        - description: Window end in RFC3339 format; required when period=custom
          name: end
          in: query
          schema:
            type: string
        - description: >-
            Repeated key:value dimension filter, same keys and modifiers as
            /cost/query
          name: filter
          in: query
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/responses.SuccessResponse'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/cost.UnitEconomicsResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    responses.SuccessResponse:
      type: object
      required:
        - message
        - status
      properties:
        data: {}
        message:
          type: string
          example: some message
        status:
          type: string
          example: success
    cost.UnitEconomicsResult:
      type: object
      properties:
        days:
          type: array
          items:
            type: string
        unit:
          type: string
        units:
          type: array
          items:
            $ref: '#/components/schemas/cost.UnitEconomicsRow'
    responses.ErrorResponse:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
          example: some message
        status:
          type: string
          example: error
    cost.UnitEconomicsRow:
      type: object
      properties:
        canonicalUsageQuantity:
          type: number
        canonicalUsageUnit:
          type: string
        changeAmount:
          type: number
          x-semantic: costAmount
        changePct:
          type: number
          x-semantic: percent
        costPerUnit:
          type: number
          x-semantic: costAmount
        currency:
          type: string
        current:
          type: number
          x-semantic: costAmount
        key:
          type: string
        label:
          type: string
        previous:
          type: number
          x-semantic: costAmount
        share:
          type: number
          x-semantic: percent
  securitySchemes:
    BearerAuth:
      description: Enter "Bearer {token}"
      type: apiKey
      name: Authorization
      in: header

````

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