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

# List label keys that could become dimensions

> Label keys found in the billing data with the cost-allocation stats used to judge whether promoting them is worthwhile: the share of cost carrying the key, its values, a per-month cost series, and the month-over-month change. Property names are snake_case because they come straight from the billing export. `ingested: true` means the key is already promoted.



## OpenAPI

````yaml /api-reference/openapi.json get /dimensions/candidates
openapi: 3.0.0
info:
  title: Costory
  version: '1.0'
  description: API Documentation
servers:
  - url: ''
    description: Production server
security: []
paths:
  /dimensions/candidates:
    get:
      tags:
        - Dimensions
      summary: List label keys that could become dimensions
      description: >-
        Label keys found in the billing data with the cost-allocation stats used
        to judge whether promoting them is worthwhile: the share of cost
        carrying the key, its values, a per-month cost series, and the
        month-over-month change. Property names are snake_case because they come
        straight from the billing export. `ingested: true` means the key is
        already promoted.
      operationId: listDimensionCandidates
      responses:
        '200':
          description: Candidate label keys with cost-allocation stats
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DimensionCandidate'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
      security:
        - bearerAuth: []
components:
  schemas:
    DimensionCandidate:
      type: object
      properties:
        usage_start_day:
          type: string
          nullable: true
          format: date-time
        key:
          type: string
        number_values:
          type: number
          nullable: true
        values:
          type: array
          items:
            type: object
            properties:
              value:
                type: string
              cost_allocated:
                type: number
              proportion_cost_allocated:
                type: number
            required:
              - value
              - cost_allocated
        total_cost_key_present:
          type: number
        proportion_key_present:
          type: number
        total_cost_key_absent:
          type: number
          nullable: true
        proportion_key_absent:
          type: number
        providers:
          type: array
          items:
            type: string
        months:
          type: array
          items:
            type: object
            additionalProperties:
              anyOf:
                - type: number
                  nullable: true
                - type: string
                  nullable: true
                  format: date-time
                - nullable: true
                  type: string
                  enum:
                    - null
          default: []
        cost_percentage_change:
          type: number
          nullable: true
        ingested:
          type: boolean
        id:
          type: string
      required:
        - usage_start_day
        - key
        - number_values
        - values
        - total_cost_key_present
        - total_cost_key_absent
        - id
    Unauthorized:
      type: object
      properties:
        error:
          type: string
          description: Unauthorized error message
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or Clerk ak_* API key
      description: >-
        Send `Authorization: Bearer <credential>` using either a Clerk session
        JWT or a Clerk API key (`ak_*`). API keys may identify a user (`user_*`)
        or organization (`org_*`) principal and are generated in the Clerk
        Dashboard under API keys.

````