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

# Informational Index: Index As Of Date

> Returns EWMA-smoothed index values for a specific historical date

## Example

Hopper (US) informational index as of a specific date (resolves to the latest value on or before that date):

```bash theme={null}
curl -H "Authorization: Bearer $TOKEN" \
  "https://data-api.compute-index.com/v1/info-index/as-of?as_of_date=2026-01-01&index_name=hopper&region_group=US"
```


## OpenAPI

````yaml pricing/openapi.json GET /v1/info-index/as-of
openapi: 3.1.0
info:
  title: GPU Pricing API
  description: |2-

        **GPU Pricing API** provides real-time and historical pricing data
        for GPU compute across 50+ cloud providers and GPU marketplaces.

        ## Features
        - Search current prices across vendors
        - Historical price trends
        - GPU transaction data
        - **Informational Price Index** — EWMA-smoothed composite indices by GPU family, region, and contract type
        - **Transaction Price Index** — smoothed indices derived from verified GPU transactions
        - **Custom Index** — EWMA-smoothed H100 sub-model indices by region, contract type, and vendor category
        - Global region coverage (US, EU, APAC)
        - GPU availability tracking
        - Scope-based API key access control

        ## Authentication
        Send your token as a Bearer token in the `Authorization` header on every request:
        ```
        Authorization: Bearer YOUR_TOKEN
        ```
        Example:
        ```bash
        curl -H "Authorization: Bearer $TOKEN" "https://data-api.compute-index.com/v1/vendors"
        ```
        Tokens are issued by Compute Index (david@compute-index.com); long-lived, treat as secrets.

        > The legacy `X-API-Key` header is deprecated — use the `Authorization: Bearer` header above.

        ## Rate Limits
        - **Free tier**: 100 requests/minute, 10,000/day
        - **Pro tier**: 1,000 requests/minute, 100,000/day
        - **Enterprise**: Custom limits

        ## Data Coverage
        - 50+ vendors (AWS, Azure, GCP, Oracle, CoreWeave, Lambda, RunPod, Vast.AI, FluidStack, Vultr, etc.)
        - 30M+ historical pricing records
        - Updated multiple times daily

        ## Support
        - Support: david@compute-index.com
        
  contact:
    name: API Support
    email: david@compute-index.com
  license:
    name: Commercial License
    url: https://compute-desk.com/license
  version: 1.0.0
servers:
  - url: https://data-api.compute-index.com
security: []
paths:
  /v1/info-index/as-of:
    get:
      tags:
        - Informational Index
      summary: Get informational index values on a specific date
      description: Returns EWMA-smoothed index values for a specific historical date
      operationId: get_info_index_as_of_v1_info_index_as_of_get
      parameters:
        - name: as_of_date
          in: query
          required: true
          schema:
            type: string
            description: 'Target date (YYYY-MM-DD). Example: 2025-06-15'
            title: As Of Date
          description: 'Target date (YYYY-MM-DD). Example: 2025-06-15'
        - name: index_name
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: 'Index name: hopper, blackwell'
            title: Index Name
          description: 'Index name: hopper, blackwell'
        - name: region_group
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: 'Region group: US, EU'
            title: Region Group
          description: 'Region group: US, EU'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InfoIndexListResponse'
              example:
                data:
                  - contract_type: combined
                    date: '2026-07-14'
                    index_name: hopper
                    index_units: usd_per_gpu_per_hr
                    index_value: 2.7605
                    p5: 1.5657
                    p95: 4.3304
                    region_group: US
                    vendor_category: neocloud
                filters:
                  as_of_date: '2026-07-14'
                  index_name: hopper
                  region_group: US
                total_count: 1
        '401':
          description: Unauthorized — missing or invalid credentials
          content:
            application/json:
              schema:
                title: ErrorResponse
                type: object
                properties:
                  detail:
                    type: string
                required:
                  - detail
              examples:
                missing_credentials:
                  summary: No credentials supplied
                  value:
                    detail: >-
                      Authentication required. Provide an X-API-Key header or an
                      Authorization: Bearer token.
                invalid_token:
                  summary: Invalid or expired token
                  value:
                    detail: Invalid or expired token
        '403':
          description: Forbidden — key lacks the required scope
          content:
            application/json:
              schema:
                title: ErrorResponse
                type: object
                properties:
                  detail:
                    type: string
                required:
                  - detail
              examples:
                missing_scope:
                  summary: Key lacks the required scope
                  value:
                    detail: >-
                      Access denied. Your API key does not have permission to
                      access this resource.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
              example:
                detail:
                  - type: missing
                    loc:
                      - query
                      - as_of_date
                    msg: Field required
                    input: null
        '429':
          description: >-
            Too Many Requests — limit and reset are returned in X-RateLimit-*
            headers; the limit reflects your key's tier
          content:
            application/json:
              schema:
                title: ErrorResponse
                type: object
                properties:
                  detail:
                    type: string
                required:
                  - detail
              examples:
                minute_limit:
                  summary: Per-minute limit exceeded (figure reflects your key's tier)
                  value:
                    detail: 'Rate limit exceeded: 100 requests per minute'
      security:
        - HTTPBearer: []
components:
  schemas:
    InfoIndexListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/InfoIndexDataPoint'
          type: array
          title: Data
        total_count:
          type: integer
          title: Total Count
        filters:
          additionalProperties: true
          type: object
          title: Filters
      type: object
      required:
        - data
        - total_count
        - filters
      title: InfoIndexListResponse
      description: Response for current/as-of informational index queries
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    InfoIndexDataPoint:
      properties:
        date:
          type: string
          title: Date
          description: Index date (YYYY-MM-DD)
        index_name:
          type: string
          title: Index Name
          description: Index name (e.g., hopper, h100, b200)
        region_group:
          type: string
          title: Region Group
          description: Region group (US, EU, APAC, OTHER, all)
        contract_type:
          type: string
          title: Contract Type
          description: Contract type (spot, ondemand, reserved_1y, combined)
        vendor_category:
          type: string
          title: Vendor Category
          description: Vendor category (hyperscaler, neocloud, all)
        index_value:
          anyOf:
            - type: number
            - type: 'null'
          title: Index Value
          description: Smoothed index value ($/GPU-hr)
        index_units:
          type: string
          title: Index Units
          description: Units of the index value
          default: usd_per_gpu_per_hr
        p5:
          anyOf:
            - type: number
            - type: 'null'
          title: P5
          description: Smoothed 5th percentile vendor price (clipped <= index_value)
        p95:
          anyOf:
            - type: number
            - type: 'null'
          title: P95
          description: Smoothed 95th percentile vendor price (clipped >= index_value)
      type: object
      required:
        - date
        - index_name
        - region_group
        - contract_type
        - vendor_category
      title: InfoIndexDataPoint
      description: >-
        Single data point from the informational price index (all values
        EWMA-smoothed)
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````