{
  "openapi": "3.1.0",
  "info": {
    "title": "Computable GPU Index API",
    "version": "1",
    "summary": "GPU compute price index in USD per GPU-hour.",
    "description": "Anonymous, read-only. No API key and no registration.\n\nSuccessful responses contain `data`, publication details in `meta`, and `license`. Errors contain `error`, `meta`, and `license`. Preserve or ignore unfamiliar calculation and receipt disclosure fields.\n\nValues are published every 15 minutes. History covers the last 90 days; older values are available at [data.getcomputable.com](https://data.getcomputable.com).\n\nData is licensed CC BY-NC 4.0 with attribution; each response includes the attribution to use.",
    "license": { "name": "CC BY-NC 4.0", "identifier": "CC-BY-NC-4.0" }
  },
  "servers": [{ "url": "https://api.getcomputable.com", "description": "Public REST host." }],
  "security": [],
  "tags": [
    { "name": "Index", "description": "Latest index values and price history." },
    { "name": "Methodology", "description": "Covered SKUs, calculation methods and history limits." }
  ],
  "paths": {
    "/v1/index/{sku}/history": {
      "get": {
        "operationId": "getIndexHistory",
        "tags": ["Index"],
        "summary": "Price history",
        "description": "Published index values for one GPU SKU over time, newest first, in USD per GPU-hour. A value is published every 15 minutes. Use `from` and `to` to choose a window and `cursor` to page through it.\n\nHistory covers the last 90 days; older values are in the public record at [data.getcomputable.com](https://data.getcomputable.com). Per-provider receipts are not included here; use the latest endpoint with `include=receipts`.",
        "parameters": [
          {
            "name": "sku",
            "in": "path",
            "required": true,
            "description": "GPU SKU. Currently B300, B200, H100 or H200; the live list is in `GET /v1/methodology`.",
            "schema": { "$ref": "#/components/schemas/Identifier" },
            "examples": {
              "B300": { "value": "B300" },
              "B200": { "value": "B200" },
              "H100": { "value": "H100" },
              "H200": { "value": "H200" }
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Start of the window, inclusive. UTC, on the 15-minute grid, e.g. `2026-09-01T00:00:00.000Z`.",
            "schema": { "$ref": "#/components/schemas/ObservationDateTimeString" }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "End of the window, inclusive. UTC, on the 15-minute grid, e.g. `2026-09-01T00:00:00.000Z`.",
            "schema": { "$ref": "#/components/schemas/ObservationDateTimeString" }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows per page. Default 168 (42 hours). Maximum 2976 (31 days). Use decimal digits with no sign or leading zero.",
            "schema": { "type": "integer", "minimum": 1, "maximum": 20000, "default": 168 }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "`next_cursor` from the previous page. Keep `from` and `to` the same.",
            "schema": { "$ref": "#/components/schemas/Cursor" }
          }
        ],
        "responses": {
          "200": {
            "description": "One page of values and `next_cursor`, or null on the last page.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlWindowed" },
              "ETag": { "$ref": "#/components/headers/ETag" },
              "x-index-artifact": { "$ref": "#/components/headers/IndexArtifact" },
              "x-index-artifact-sha256": { "$ref": "#/components/headers/IndexArtifactSha256" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/PriceHistoryDataResponse" },
                "examples": {
                  "firstPage": {
                    "summary": "A one-row page",
                    "value": {
                      "data": {
                        "sku": "H100",
                        "values": [
                          {
                            "observed_at": "2026-08-27T06:00:00.000Z",
                            "generated_at": "2026-08-27T06:04:24.000Z",
                            "unit": "USD/GPU/hour",
                            "methodology_id": "h100_sxm_v1_calc_v10",
                            "input_snapshot_sha256": "8e1df331554b6b256ba89297a541ccdd3b7e75b88f9fdf3f4db98f275cdd3c2a",
                            "coverage": { "n_sources": 3, "n_passing": 2, "frozen": [], "excluded": ["vast"] },
                            "value_usd_gpu_hr": 3.645759,
                            "stability_band_usd_gpu_hr": 0.555759,
                            "status": "ok",
                            "reason": null,
                            "freshness": "fresh"
                          }
                        ],
                        "next_cursor": "b3BhcXVlLWN1cnNvci1kby1ub3QtY29uc3RydWN0"
                      },
                      "meta": {
                        "scope": "history_high_water",
                        "index_name": "Computable GPU Index",
                        "methodology_id": "h100_sxm_v1_calc_v10",
                        "input_snapshot_sha256": "8e1df331554b6b256ba89297a541ccdd3b7e75b88f9fdf3f4db98f275cdd3c2a",
                        "as_of_observed_at": "2026-08-27T06:00:00.000Z",
                        "generated_at": "2026-08-27T06:04:24.000Z",
                        "coverage": { "n_sources": 3, "n_passing": 2, "frozen": [], "excluded": ["vast"] },
                        "status": "ok",
                        "reason": null,
                        "freshness": "fresh"
                      },
                      "license": {
                        "spdx": "CC-BY-NC-4.0",
                        "url": "https://creativecommons.org/licenses/by-nc/4.0/",
                        "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "The response has not changed since the `ETag` sent in `If-None-Match`. No body is returned.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlWindowed" },
              "ETag": { "$ref": "#/components/headers/ETag" },
              "x-index-artifact": { "$ref": "#/components/headers/IndexArtifact" },
              "x-index-artifact-sha256": { "$ref": "#/components/headers/IndexArtifactSha256" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            }
          },
          "400": {
            "description": "Request failed. `history_window_exceeded`: The requested window starts before the 90-day history. `invalid_request`: A parameter is malformed or over the limit.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": {
                  "history_window_exceeded": { "$ref": "#/components/examples/history_window_exceeded" },
                  "invalid_request": { "$ref": "#/components/examples/invalid_request" }
                }
              }
            }
          },
          "403": {
            "description": "`invalid_request`: The `Host` or `Origin` header is not allowed.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "invalid_request": { "$ref": "#/components/examples/invalid_request" } }
              }
            }
          },
          "404": {
            "description": "Request failed. `artifact_missing`: The requested published data file is not available. `no_data`: No published values match the requested window. `unknown_sku`: The requested SKU is not published by this index.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": {
                  "artifact_missing": { "$ref": "#/components/examples/artifact_missing" },
                  "no_data": { "$ref": "#/components/examples/no_data" },
                  "unknown_sku": { "$ref": "#/components/examples/unknown_sku" }
                }
              }
            }
          },
          "429": {
            "description": "Request failed. `rate_limited`: The fair-use request limit has been reached.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" },
              "Retry-After": { "$ref": "#/components/headers/RetryAfter" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "rate_limited": { "$ref": "#/components/examples/rate_limited" } }
              }
            }
          },
          "500": {
            "description": "Request failed. `internal_error`: The request could not be completed.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "internal_error": { "$ref": "#/components/examples/internal_error" } }
              }
            }
          },
          "502": {
            "description": "Request failed. `artifact_digest_mismatch`: The published data file failed its checksum check. `artifact_path_violation`: The published data file has an invalid path. `invalid_artifact`: The published data file could not be read as valid index data. `unknown_methodology`: The published data uses a methodology that is not available for this SKU.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": {
                  "artifact_digest_mismatch": { "$ref": "#/components/examples/artifact_digest_mismatch" },
                  "artifact_path_violation": { "$ref": "#/components/examples/artifact_path_violation" },
                  "invalid_artifact": { "$ref": "#/components/examples/invalid_artifact" },
                  "unknown_methodology": { "$ref": "#/components/examples/unknown_methodology" }
                }
              }
            }
          },
          "503": {
            "description": "Request failed. `upstream_unavailable`: The published data is temporarily unavailable.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "upstream_unavailable": { "$ref": "#/components/examples/upstream_unavailable" } }
              }
            }
          }
        }
      }
    },
    "/v1/index/{sku}/latest": {
      "get": {
        "operationId": "getLatestIndexValue",
        "tags": ["Index"],
        "summary": "Latest observation",
        "description": "The latest published index value for one GPU SKU, in USD per GPU-hour. A value is published every 15 minutes.\n\nReturns the price, observation time and stability band. Add `include=receipts` for the per-provider receipts in `data.receipts`.\n\nA latest observation older than 4 publication intervals (60 minutes) reports `meta.status: \"stale\"` and `meta.freshness: \"stale\"`; the value itself is unchanged.",
        "parameters": [
          {
            "name": "sku",
            "in": "path",
            "required": true,
            "description": "GPU SKU. Currently B300, B200, H100 or H200; the live list is in `GET /v1/methodology`.",
            "schema": { "$ref": "#/components/schemas/Identifier" },
            "examples": {
              "B300": { "value": "B300" },
              "B200": { "value": "B200" },
              "H100": { "value": "H100" },
              "H200": { "value": "H200" }
            }
          },
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Set to `receipts` to include per-provider prices, weights and source URLs in `data.receipts`.",
            "schema": { "type": "string", "enum": ["receipts"] }
          }
        ],
        "responses": {
          "200": {
            "description": "The latest value, with per-provider receipts when `include=receipts`.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlWindowed" },
              "ETag": { "$ref": "#/components/headers/ETag" },
              "x-index-artifact": { "$ref": "#/components/headers/IndexArtifact" },
              "x-index-artifact-sha256": { "$ref": "#/components/headers/IndexArtifactSha256" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    { "$ref": "#/components/schemas/LatestIndexValueDataResponse" },
                    { "$ref": "#/components/schemas/IndexValueDataResponse" }
                  ]
                },
                "examples": {
                  "lean": {
                    "summary": "Latest value without receipts",
                    "value": {
                      "data": {
                        "sku": "H100",
                        "observed_at": "2026-08-27T06:00:00.000Z",
                        "value_usd_gpu_hr": 3.645759,
                        "stability_band_usd_gpu_hr": 0.555759,
                        "unit": "USD/GPU/hour"
                      },
                      "meta": {
                        "scope": "observation",
                        "index_name": "Computable GPU Index",
                        "methodology_id": "h100_sxm_v1_calc_v10",
                        "input_snapshot_sha256": "8e1df331554b6b256ba89297a541ccdd3b7e75b88f9fdf3f4db98f275cdd3c2a",
                        "as_of_observed_at": "2026-08-27T06:00:00.000Z",
                        "generated_at": "2026-08-27T06:04:24.000Z",
                        "coverage": { "n_sources": 3, "n_passing": 2, "frozen": [], "excluded": ["vast"] },
                        "status": "ok",
                        "reason": null,
                        "freshness": "fresh"
                      },
                      "license": {
                        "spdx": "CC-BY-NC-4.0",
                        "url": "https://creativecommons.org/licenses/by-nc/4.0/",
                        "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
                      }
                    }
                  },
                  "withReceipts": {
                    "summary": "include=receipts",
                    "value": {
                      "data": {
                        "sku": "H100",
                        "observed_at": "2026-08-27T06:00:00.000Z",
                        "value_usd_gpu_hr": 3.645759,
                        "stability_band_usd_gpu_hr": 0.555759,
                        "unit": "USD/GPU/hour",
                        "receipts": [
                          {
                            "source_id": "civo",
                            "liveness_score": null,
                            "price": 2.99,
                            "sd": 0.05,
                            "weight": 0.51,
                            "source_url": "https://www.civo.com/pricing",
                            "status": "ok",
                            "filter_verdict": "accepted",
                            "last_seen": "2026-08-27T06:00:00.000Z"
                          },
                          {
                            "source_id": "lambda",
                            "liveness_score": null,
                            "price": 3.99,
                            "sd": 0.05,
                            "weight": 0.49,
                            "source_url": "https://lambda.ai/pricing",
                            "status": "ok",
                            "filter_verdict": "accepted",
                            "last_seen": "2026-08-27T06:00:00.000Z"
                          },
                          {
                            "source_id": "vast",
                            "liveness_score": null,
                            "price": null,
                            "sd": null,
                            "weight": null,
                            "source_url": "https://console.vast.ai/api/v0/bundles/",
                            "status": "excluded",
                            "filter_verdict": "not_evaluated",
                            "last_seen": null
                          }
                        ]
                      },
                      "meta": {
                        "scope": "observation",
                        "index_name": "Computable GPU Index",
                        "methodology_id": "h100_sxm_v1_calc_v10",
                        "input_snapshot_sha256": "8e1df331554b6b256ba89297a541ccdd3b7e75b88f9fdf3f4db98f275cdd3c2a",
                        "as_of_observed_at": "2026-08-27T06:00:00.000Z",
                        "generated_at": "2026-08-27T06:04:24.000Z",
                        "coverage": { "n_sources": 3, "n_passing": 2, "frozen": [], "excluded": ["vast"] },
                        "status": "ok",
                        "reason": null,
                        "freshness": "fresh"
                      },
                      "license": {
                        "spdx": "CC-BY-NC-4.0",
                        "url": "https://creativecommons.org/licenses/by-nc/4.0/",
                        "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "The response has not changed since the `ETag` sent in `If-None-Match`. No body is returned.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlWindowed" },
              "ETag": { "$ref": "#/components/headers/ETag" },
              "x-index-artifact": { "$ref": "#/components/headers/IndexArtifact" },
              "x-index-artifact-sha256": { "$ref": "#/components/headers/IndexArtifactSha256" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            }
          },
          "400": {
            "description": "Request failed. `history_window_exceeded`: The requested window starts before the 90-day history. `invalid_request`: A parameter is malformed or over the limit.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": {
                  "history_window_exceeded": { "$ref": "#/components/examples/history_window_exceeded" },
                  "invalid_request": { "$ref": "#/components/examples/invalid_request" }
                }
              }
            }
          },
          "403": {
            "description": "`invalid_request`: The `Host` or `Origin` header is not allowed.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "invalid_request": { "$ref": "#/components/examples/invalid_request" } }
              }
            }
          },
          "404": {
            "description": "Request failed. `artifact_missing`: The requested published data file is not available. `unknown_sku`: The requested SKU is not published by this index.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": {
                  "artifact_missing": { "$ref": "#/components/examples/artifact_missing" },
                  "unknown_sku": { "$ref": "#/components/examples/unknown_sku" }
                }
              }
            }
          },
          "429": {
            "description": "Request failed. `rate_limited`: The fair-use request limit has been reached.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" },
              "Retry-After": { "$ref": "#/components/headers/RetryAfter" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "rate_limited": { "$ref": "#/components/examples/rate_limited" } }
              }
            }
          },
          "500": {
            "description": "Request failed. `internal_error`: The request could not be completed.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "internal_error": { "$ref": "#/components/examples/internal_error" } }
              }
            }
          },
          "502": {
            "description": "Request failed. `artifact_digest_mismatch`: The published data file failed its checksum check. `artifact_path_violation`: The published data file has an invalid path. `invalid_artifact`: The published data file could not be read as valid index data. `unknown_methodology`: The published data uses a methodology that is not available for this SKU.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": {
                  "artifact_digest_mismatch": { "$ref": "#/components/examples/artifact_digest_mismatch" },
                  "artifact_path_violation": { "$ref": "#/components/examples/artifact_path_violation" },
                  "invalid_artifact": { "$ref": "#/components/examples/invalid_artifact" },
                  "unknown_methodology": { "$ref": "#/components/examples/unknown_methodology" }
                }
              }
            }
          },
          "503": {
            "description": "Request failed. `upstream_unavailable`: The published data is temporarily unavailable.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "upstream_unavailable": { "$ref": "#/components/examples/upstream_unavailable" } }
              }
            }
          }
        }
      }
    },
    "/v1/methodology": {
      "get": {
        "operationId": "getIndexMethodology",
        "tags": ["Methodology"],
        "summary": "Index methodology",
        "description": "The GPU SKUs covered by the index, how their prices are calculated, and the history limits and license terms.\n\nCurrently B300, B200, H100 and H200; `data.skus` is the live list. Values are in USD per GPU-hour, published every 15 minutes.\n\nData is licensed CC BY-NC 4.0 with attribution. This endpoint accepts no query parameters.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Covered SKUs, calculation methods, history limits and license terms.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlLatest" },
              "ETag": { "$ref": "#/components/headers/ETag" },
              "x-index-artifact": { "$ref": "#/components/headers/IndexArtifact" },
              "x-index-artifact-sha256": { "$ref": "#/components/headers/IndexArtifactSha256" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/AboutIndexDataResponse" },
                "examples": {
                  "methodology": {
                    "summary": "Four GPU SKUs",
                    "value": {
                      "data": {
                        "index_name": "Computable GPU Index",
                        "index_domain": "mcp.getcomputable.com",
                        "primary_sku": "B300",
                        "unit": "USD/GPU/hour",
                        "skus": ["B300", "B200", "H100", "H200"],
                        "methodologies": [
                          {
                            "sku": "B300",
                            "methodology_id": "annex_a_v0_2_calc_v14",
                            "methodology_version": "0.2",
                            "aggregation": "median_ci_votes",
                            "composite_statistic": "median_ci_votes",
                            "iqm_alpha": 0.16666
                          },
                          {
                            "sku": "B200",
                            "methodology_id": "annex_a2_v0_3_calc_v14",
                            "methodology_version": "0.3",
                            "aggregation": "median_ci_votes",
                            "composite_statistic": "median_ci_votes",
                            "iqm_alpha": 0.16666
                          },
                          {
                            "sku": "H100",
                            "methodology_id": "h100_sxm_v1_calc_v10",
                            "methodology_version": "1",
                            "aggregation": "median_ci_votes",
                            "composite_statistic": "median_ci_votes",
                            "iqm_alpha": 0.16666
                          },
                          {
                            "sku": "H200",
                            "methodology_id": "h200_sxm_v1_calc_v10",
                            "methodology_version": "1",
                            "aggregation": "median_ci_votes",
                            "composite_statistic": "median_ci_votes",
                            "iqm_alpha": 0.16666
                          }
                        ],
                        "statistic_description": "The index uses an interquantile mean over a weighted vote ballot: each source votes at its price, price minus standard deviation, and price plus standard deviation, all at its receipt weight.",
                        "config_spec_priced": "One B300 SXM accelerator-hour.",
                        "license_terms": "CC-BY-NC-4.0",
                        "changelog_tail": [],
                        "history_policy": {
                          "availability": "trailing_window_only",
                          "resolution": "15-minute",
                          "window_days": 90,
                          "default_limit": 168,
                          "max_limit": 2976
                        }
                      },
                      "meta": {
                        "scope": "primary_lane",
                        "index_name": "Computable GPU Index",
                        "methodology_id": "annex_a_v0_2_calc_v14",
                        "input_snapshot_sha256": "8e1df331554b6b256ba89297a541ccdd3b7e75b88f9fdf3f4db98f275cdd3c2a",
                        "as_of_observed_at": "2026-08-27T06:00:00.000Z",
                        "generated_at": "2026-08-27T06:04:24.000Z",
                        "coverage": { "n_sources": 8, "n_passing": 8, "frozen": [], "excluded": [] },
                        "status": "ok",
                        "reason": null,
                        "freshness": "fresh"
                      },
                      "license": {
                        "spdx": "CC-BY-NC-4.0",
                        "url": "https://creativecommons.org/licenses/by-nc/4.0/",
                        "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
                      }
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "The response has not changed since the `ETag` sent in `If-None-Match`. No body is returned.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlLatest" },
              "ETag": { "$ref": "#/components/headers/ETag" },
              "x-index-artifact": { "$ref": "#/components/headers/IndexArtifact" },
              "x-index-artifact-sha256": { "$ref": "#/components/headers/IndexArtifactSha256" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            }
          },
          "400": {
            "description": "Request failed. `invalid_request`: A parameter is malformed or over the limit.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "invalid_request": { "$ref": "#/components/examples/invalid_request" } }
              }
            }
          },
          "403": {
            "description": "`invalid_request`: The `Host` or `Origin` header is not allowed.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "invalid_request": { "$ref": "#/components/examples/invalid_request" } }
              }
            }
          },
          "404": {
            "description": "Request failed. `artifact_missing`: The requested published data file is not available.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "artifact_missing": { "$ref": "#/components/examples/artifact_missing" } }
              }
            }
          },
          "429": {
            "description": "Request failed. `rate_limited`: The fair-use request limit has been reached.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" },
              "Retry-After": { "$ref": "#/components/headers/RetryAfter" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "rate_limited": { "$ref": "#/components/examples/rate_limited" } }
              }
            }
          },
          "500": {
            "description": "Request failed. `internal_error`: The request could not be completed.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "internal_error": { "$ref": "#/components/examples/internal_error" } }
              }
            }
          },
          "502": {
            "description": "Request failed. `artifact_digest_mismatch`: The published data file failed its checksum check. `artifact_path_violation`: The published data file has an invalid path. `invalid_artifact`: The published data file could not be read as valid index data. `unknown_methodology`: The published data uses a methodology that is not available for this SKU.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": {
                  "artifact_digest_mismatch": { "$ref": "#/components/examples/artifact_digest_mismatch" },
                  "artifact_path_violation": { "$ref": "#/components/examples/artifact_path_violation" },
                  "invalid_artifact": { "$ref": "#/components/examples/invalid_artifact" },
                  "unknown_methodology": { "$ref": "#/components/examples/unknown_methodology" }
                }
              }
            }
          },
          "503": {
            "description": "Request failed. `upstream_unavailable`: The published data is temporarily unavailable.",
            "headers": {
              "Cache-Control": { "$ref": "#/components/headers/CacheControlRefusal" },
              "RateLimit-Limit": { "$ref": "#/components/headers/RateLimitLimit" },
              "RateLimit-Policy": { "$ref": "#/components/headers/RateLimitPolicy" },
              "RateLimit-Remaining": { "$ref": "#/components/headers/RateLimitRemaining" },
              "RateLimit-Reset": { "$ref": "#/components/headers/RateLimitReset" }
            },
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/RefusalEnvelope" },
                "examples": { "upstream_unavailable": { "$ref": "#/components/examples/upstream_unavailable" } }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "headers": {
      "CacheControlLatest": {
        "description": "Cache policy for methodology: `public, max-age=300`.",
        "schema": { "type": "string", "const": "public, max-age=300" }
      },
      "CacheControlWindowed": {
        "description": "Cache policy for latest values and history: `public, max-age=60, s-maxage=60, must-revalidate`.",
        "schema": { "type": "string", "const": "public, max-age=60, s-maxage=60, must-revalidate" }
      },
      "CacheControlRefusal": {
        "description": "Errors are never cached: `no-store`.",
        "schema": { "type": "string", "const": "no-store" }
      },
      "ETag": {
        "description": "Strong entity tag over the response body. Send it back in `If-None-Match` for a `304`.",
        "schema": { "type": "string" }
      },
      "IndexArtifact": {
        "description": "The published data file used to produce this response.",
        "schema": { "type": "string" }
      },
      "IndexArtifactSha256": {
        "description": "SHA-256 checksum of the published data file used for this response.",
        "schema": { "$ref": "#/components/schemas/Sha256" }
      },
      "RateLimitLimit": {
        "description": "Requests allowed in the current window. Available on the Node server; not sent by the Cloudflare Worker.",
        "schema": { "type": "integer", "minimum": 0 }
      },
      "RateLimitPolicy": {
        "description": "The quota policy in force, as `<limit>;w=<window-seconds>`. Available on the Node server; not sent by the Cloudflare Worker.",
        "schema": { "type": "string" }
      },
      "RateLimitRemaining": {
        "description": "Requests left in the current window. Available on the Node server; not sent by the Cloudflare Worker.",
        "schema": { "type": "integer", "minimum": 0 }
      },
      "RateLimitReset": {
        "description": "Seconds until the current window resets. Available on the Node server; not sent by the Cloudflare Worker.",
        "schema": { "type": "integer", "minimum": 0 }
      },
      "RetryAfter": {
        "description": "Seconds to wait before retrying. Sent on `429` only; back off until it elapses. Available on the Node server; not sent by the Cloudflare Worker.",
        "schema": { "type": "integer", "minimum": 0 }
      }
    },
    "examples": {
      "artifact_digest_mismatch": {
        "summary": "`artifact_digest_mismatch` error",
        "value": {
          "error": {
            "code": "artifact_digest_mismatch",
            "message": "The published data file failed its checksum check."
          },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "artifact_missing": {
        "summary": "`artifact_missing` error",
        "value": {
          "error": { "code": "artifact_missing", "message": "The requested published data file is not available." },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "artifact_path_violation": {
        "summary": "`artifact_path_violation` error",
        "value": {
          "error": { "code": "artifact_path_violation", "message": "The published data file has an invalid path." },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "history_window_exceeded": {
        "summary": "`history_window_exceeded` error",
        "value": {
          "error": {
            "code": "history_window_exceeded",
            "message": "The requested window starts before the 90-day history.",
            "details": { "history_window_days": 90 }
          },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "internal_error": {
        "summary": "`internal_error` error",
        "value": {
          "error": { "code": "internal_error", "message": "The request could not be completed." },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "invalid_artifact": {
        "summary": "`invalid_artifact` error",
        "value": {
          "error": {
            "code": "invalid_artifact",
            "message": "The published data file could not be read as valid index data."
          },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "invalid_request": {
        "summary": "`invalid_request` error",
        "value": {
          "error": { "code": "invalid_request", "message": "A parameter is malformed or over the limit." },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "no_data": {
        "summary": "`no_data` error",
        "value": {
          "error": { "code": "no_data", "message": "No published values match the requested window." },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "rate_limited": {
        "summary": "`rate_limited` error",
        "value": {
          "error": { "code": "rate_limited", "message": "The fair-use request limit has been reached." },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "unknown_methodology": {
        "summary": "`unknown_methodology` error",
        "value": {
          "error": {
            "code": "unknown_methodology",
            "message": "The published data uses a methodology that is not available for this SKU."
          },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "unknown_sku": {
        "summary": "`unknown_sku` error",
        "value": {
          "error": { "code": "unknown_sku", "message": "The requested SKU is not published by this index." },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      },
      "upstream_unavailable": {
        "summary": "`upstream_unavailable` error",
        "value": {
          "error": { "code": "upstream_unavailable", "message": "The published data is temporarily unavailable." },
          "meta": {
            "scope": "refusal",
            "index_name": "Computable GPU Index",
            "methodology_id": null,
            "input_snapshot_sha256": null,
            "as_of_observed_at": null,
            "generated_at": "2026-08-27T07:52:16.640Z",
            "status": null,
            "reason": null,
            "freshness": null,
            "coverage": null
          },
          "license": {
            "spdx": "CC-BY-NC-4.0",
            "url": "https://creativecommons.org/licenses/by-nc/4.0/",
            "attribution": "Computable GPU Index by Computable — mcp.getcomputable.com"
          }
        }
      }
    },
    "schemas": {
      "AboutIndexData": {
        "type": "object",
        "properties": {
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "index_domain": { "$ref": "#/components/schemas/Hostname" },
          "primary_sku": { "$ref": "#/components/schemas/Identifier" },
          "unit": { "$ref": "#/components/schemas/Unit" },
          "skus": { "type": "array", "items": { "$ref": "#/components/schemas/Identifier" } },
          "methodologies": { "type": "array", "items": { "$ref": "#/components/schemas/MethodologyLane" } },
          "statistic_description": {
            "type": "string",
            "const": "The index uses an interquantile mean over a weighted vote ballot: each source votes at its price, price minus standard deviation, and price plus standard deviation, all at its receipt weight."
          },
          "config_spec_priced": { "type": "string", "minLength": 1, "pattern": "\\S", "maxLength": 512 },
          "license_terms": { "type": "string", "const": "CC-BY-NC-4.0" },
          "changelog_tail": { "type": "array", "items": { "$ref": "#/components/schemas/ChangelogEntry" } },
          "history_policy": {
            "type": "object",
            "properties": {
              "availability": { "type": "string", "const": "trailing_window_only" },
              "resolution": { "$ref": "#/components/schemas/ObservationCadence" },
              "window_days": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 },
              "default_limit": { "type": "number", "const": 168 },
              "max_limit": { "type": "integer", "exclusiveMinimum": 0, "maximum": 20000 }
            },
            "required": ["availability", "resolution", "window_days", "default_limit", "max_limit"],
            "additionalProperties": false
          }
        },
        "required": [
          "index_name",
          "index_domain",
          "primary_sku",
          "unit",
          "skus",
          "methodologies",
          "statistic_description",
          "config_spec_priced",
          "license_terms",
          "changelog_tail",
          "history_policy"
        ],
        "additionalProperties": false
      },
      "AboutIndexDataResponse": {
        "type": "object",
        "properties": {
          "data": { "$ref": "#/components/schemas/AboutIndexData" },
          "meta": { "$ref": "#/components/schemas/PrimaryLanePublicationMeta" },
          "license": { "$ref": "#/components/schemas/License" }
        },
        "required": ["data", "meta", "license"],
        "additionalProperties": false
      },
      "AdditiveDisclosureScalar": {
        "anyOf": [
          { "type": "number" },
          { "$ref": "#/components/schemas/AdditiveDisclosureString" },
          { "type": "boolean" },
          { "type": "null" }
        ]
      },
      "AdditiveDisclosureString": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64,
        "pattern": "^(?![a-f0-9]{16,}$)(?![a-z0-9]{24,}$)[a-z][a-z0-9]*(?:_[a-z0-9]+)*$"
      },
      "AvailableIndexValueData": {
        "type": "object",
        "properties": {
          "sku": { "$ref": "#/components/schemas/Identifier" },
          "observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "value_usd_gpu_hr": { "$ref": "#/components/schemas/Price" },
          "stability_band_usd_gpu_hr": { "$ref": "#/components/schemas/StandardDeviation" },
          "unit": { "$ref": "#/components/schemas/Unit" },
          "receipts": { "$ref": "#/components/schemas/PublicReceipts" }
        },
        "required": ["sku", "observed_at", "value_usd_gpu_hr", "stability_band_usd_gpu_hr", "unit", "receipts"],
        "additionalProperties": false
      },
      "AvailableLatestIndexValueData": {
        "type": "object",
        "properties": {
          "sku": { "$ref": "#/components/schemas/Identifier" },
          "observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "value_usd_gpu_hr": { "$ref": "#/components/schemas/Price" },
          "stability_band_usd_gpu_hr": { "$ref": "#/components/schemas/StandardDeviation" },
          "unit": { "$ref": "#/components/schemas/Unit" }
        },
        "required": ["sku", "observed_at", "value_usd_gpu_hr", "stability_band_usd_gpu_hr", "unit"],
        "additionalProperties": false
      },
      "CarryBasis": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$" },
      "ChangelogEntry": {
        "type": "object",
        "properties": {
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "methodology_version": { "$ref": "#/components/schemas/DisplayLabel" },
          "date": { "$ref": "#/components/schemas/DateString" },
          "summary": { "type": "string", "minLength": 1, "pattern": "\\S", "maxLength": 512 },
          "url": { "$ref": "#/components/schemas/HttpsUrl" }
        },
        "required": ["methodology_id", "methodology_version", "date", "summary", "url"],
        "additionalProperties": false
      },
      "ContributingReceipt": {
        "propertyNames": {
          "anyOf": [
            {
              "enum": [
                "attendance_factor",
                "carried_vote_from",
                "carry_basis",
                "currency",
                "filter_verdict",
                "fx_rate",
                "gpu_count_basis",
                "gpu_variant",
                "last_seen",
                "liveness_score",
                "no_price_excluded",
                "no_price_streak",
                "population_hosts",
                "population_machines",
                "population_scale",
                "price",
                "provider_class",
                "region",
                "sd",
                "sku_identifier",
                "smoothed_vote_usd",
                "source_id",
                "source_url",
                "status",
                "upstream_status",
                "vram_gb",
                "weight"
              ]
            },
            {
              "pattern": "^(?!(?:n_samples|q|price_disclosure)$)(?!(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))(?!.*_(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))[a-z][a-z0-9_]{0,63}$"
            }
          ]
        },
        "type": "object",
        "properties": {
          "source_id": { "$ref": "#/components/schemas/Identifier" },
          "liveness_score": { "$ref": "#/components/schemas/NullableLivenessScore" },
          "upstream_status": { "$ref": "#/components/schemas/OptionalReceiptUpstreamStatus" },
          "gpu_count_basis": { "$ref": "#/components/schemas/NullableReceiptGpuCount" },
          "region": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "currency": { "$ref": "#/components/schemas/NullableReceiptCurrency" },
          "fx_rate": { "$ref": "#/components/schemas/NullableReceiptFxRate" },
          "sku_identifier": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "gpu_variant": { "$ref": "#/components/schemas/NullableReceiptGpuVariant" },
          "vram_gb": { "$ref": "#/components/schemas/NullableReceiptVramGb" },
          "provider_class": { "$ref": "#/components/schemas/NullableReceiptProviderClass" },
          "population_scale": { "$ref": "#/components/schemas/OptionalReceiptPopulationScale" },
          "population_machines": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "population_hosts": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "attendance_factor": { "$ref": "#/components/schemas/OptionalReceiptAttendanceFactorDisclosure" },
          "no_price_streak": { "$ref": "#/components/schemas/OptionalReceiptNoPriceStreakDisclosure" },
          "no_price_excluded": { "$ref": "#/components/schemas/OptionalReceiptNoPriceExcludedDisclosure" },
          "carry_basis": { "$ref": "#/components/schemas/OptionalReceiptCarryBasis" },
          "smoothed_vote_usd": { "$ref": "#/components/schemas/OptionalReceiptSmoothedVoteUsd" },
          "carried_vote_from": { "$ref": "#/components/schemas/OptionalReceiptCarriedVoteFrom" },
          "price": { "$ref": "#/components/schemas/Price" },
          "sd": { "$ref": "#/components/schemas/StandardDeviation" },
          "weight": { "$ref": "#/components/schemas/Weight" },
          "source_url": { "anyOf": [{ "$ref": "#/components/schemas/HttpsUrl" }, { "type": "null" }] },
          "status": { "type": "string", "const": "ok" },
          "filter_verdict": { "type": "string", "const": "accepted" },
          "last_seen": { "$ref": "#/components/schemas/ObservationDateTimeString" }
        },
        "required": [
          "source_id",
          "liveness_score",
          "price",
          "sd",
          "weight",
          "source_url",
          "status",
          "filter_verdict",
          "last_seen"
        ],
        "additionalProperties": { "$ref": "#/components/schemas/AdditiveDisclosureScalar" }
      },
      "Coverage": {
        "type": "object",
        "properties": {
          "n_sources": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
          "n_passing": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
          "frozen": { "$ref": "#/components/schemas/IdentifierSet" },
          "excluded": { "$ref": "#/components/schemas/IdentifierSet" }
        },
        "required": ["n_sources", "n_passing", "frozen", "excluded"],
        "additionalProperties": false,
        "description": "Provider participation behind one observation. `n_passing` counts the providers that contributed to the value, so it is at most `n_sources`."
      },
      "Cursor": {
        "type": "string",
        "minLength": 1,
        "maxLength": 2048,
        "pattern": "^[A-Za-z0-9_-]+$",
        "description": "Pagination token returned as `next_cursor`. Pass it unchanged as `cursor` to get the next page."
      },
      "DateString": {
        "type": "string",
        "format": "date",
        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
      },
      "DateTimeString": {
        "type": "string",
        "format": "date-time",
        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
      },
      "DisplayLabel": { "type": "string", "minLength": 1, "pattern": "\\S", "maxLength": 128 },
      "ExcludedReceipt": {
        "propertyNames": {
          "anyOf": [
            {
              "enum": [
                "attendance_factor",
                "carried_vote_from",
                "carry_basis",
                "currency",
                "filter_verdict",
                "fx_rate",
                "gpu_count_basis",
                "gpu_variant",
                "last_seen",
                "liveness_score",
                "no_price_excluded",
                "no_price_streak",
                "population_hosts",
                "population_machines",
                "population_scale",
                "price",
                "provider_class",
                "region",
                "sd",
                "sku_identifier",
                "smoothed_vote_usd",
                "source_id",
                "source_url",
                "status",
                "upstream_status",
                "vram_gb",
                "weight"
              ]
            },
            {
              "pattern": "^(?!(?:n_samples|q|price_disclosure)$)(?!(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))(?!.*_(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))[a-z][a-z0-9_]{0,63}$"
            }
          ]
        },
        "type": "object",
        "properties": {
          "source_id": { "$ref": "#/components/schemas/Identifier" },
          "liveness_score": { "$ref": "#/components/schemas/NullableLivenessScore" },
          "upstream_status": { "$ref": "#/components/schemas/OptionalReceiptUpstreamStatus" },
          "gpu_count_basis": { "$ref": "#/components/schemas/NullableReceiptGpuCount" },
          "region": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "currency": { "$ref": "#/components/schemas/NullableReceiptCurrency" },
          "fx_rate": { "$ref": "#/components/schemas/NullableReceiptFxRate" },
          "sku_identifier": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "gpu_variant": { "$ref": "#/components/schemas/NullableReceiptGpuVariant" },
          "vram_gb": { "$ref": "#/components/schemas/NullableReceiptVramGb" },
          "provider_class": { "$ref": "#/components/schemas/NullableReceiptProviderClass" },
          "population_scale": { "$ref": "#/components/schemas/OptionalReceiptPopulationScale" },
          "population_machines": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "population_hosts": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "attendance_factor": { "$ref": "#/components/schemas/OptionalReceiptAttendanceFactorDisclosure" },
          "no_price_streak": { "$ref": "#/components/schemas/OptionalReceiptNoPriceStreakDisclosure" },
          "no_price_excluded": { "$ref": "#/components/schemas/OptionalReceiptNoPriceExcludedDisclosure" },
          "carry_basis": { "$ref": "#/components/schemas/OptionalReceiptCarryBasis" },
          "smoothed_vote_usd": { "$ref": "#/components/schemas/OptionalReceiptSmoothedVoteUsd" },
          "carried_vote_from": { "$ref": "#/components/schemas/OptionalReceiptCarriedVoteFrom" },
          "price": { "anyOf": [{ "$ref": "#/components/schemas/Price" }, { "type": "null" }] },
          "sd": { "anyOf": [{ "$ref": "#/components/schemas/StandardDeviation" }, { "type": "null" }] },
          "weight": { "anyOf": [{ "$ref": "#/components/schemas/Weight" }, { "type": "null" }] },
          "source_url": { "anyOf": [{ "$ref": "#/components/schemas/HttpsUrl" }, { "type": "null" }] },
          "status": { "type": "string", "const": "excluded" },
          "filter_verdict": { "$ref": "#/components/schemas/FilterVerdict" },
          "last_seen": { "anyOf": [{ "$ref": "#/components/schemas/ObservationDateTimeString" }, { "type": "null" }] }
        },
        "required": [
          "source_id",
          "liveness_score",
          "price",
          "sd",
          "weight",
          "source_url",
          "status",
          "filter_verdict",
          "last_seen"
        ],
        "additionalProperties": { "$ref": "#/components/schemas/AdditiveDisclosureScalar" }
      },
      "FilterVerdict": { "type": "string", "enum": ["accepted", "rejected", "not_evaluated"] },
      "FilteredReceipt": {
        "propertyNames": {
          "anyOf": [
            {
              "enum": [
                "attendance_factor",
                "carried_vote_from",
                "carry_basis",
                "currency",
                "filter_verdict",
                "fx_rate",
                "gpu_count_basis",
                "gpu_variant",
                "last_seen",
                "liveness_score",
                "no_price_excluded",
                "no_price_streak",
                "population_hosts",
                "population_machines",
                "population_scale",
                "price",
                "provider_class",
                "region",
                "sd",
                "sku_identifier",
                "smoothed_vote_usd",
                "source_id",
                "source_url",
                "status",
                "upstream_status",
                "vram_gb",
                "weight"
              ]
            },
            {
              "pattern": "^(?!(?:n_samples|q|price_disclosure)$)(?!(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))(?!.*_(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))[a-z][a-z0-9_]{0,63}$"
            }
          ]
        },
        "type": "object",
        "properties": {
          "source_id": { "$ref": "#/components/schemas/Identifier" },
          "liveness_score": { "$ref": "#/components/schemas/NullableLivenessScore" },
          "upstream_status": { "$ref": "#/components/schemas/OptionalReceiptUpstreamStatus" },
          "gpu_count_basis": { "$ref": "#/components/schemas/NullableReceiptGpuCount" },
          "region": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "currency": { "$ref": "#/components/schemas/NullableReceiptCurrency" },
          "fx_rate": { "$ref": "#/components/schemas/NullableReceiptFxRate" },
          "sku_identifier": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "gpu_variant": { "$ref": "#/components/schemas/NullableReceiptGpuVariant" },
          "vram_gb": { "$ref": "#/components/schemas/NullableReceiptVramGb" },
          "provider_class": { "$ref": "#/components/schemas/NullableReceiptProviderClass" },
          "population_scale": { "$ref": "#/components/schemas/OptionalReceiptPopulationScale" },
          "population_machines": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "population_hosts": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "attendance_factor": { "$ref": "#/components/schemas/OptionalReceiptAttendanceFactorDisclosure" },
          "no_price_streak": { "$ref": "#/components/schemas/OptionalReceiptNoPriceStreakDisclosure" },
          "no_price_excluded": { "$ref": "#/components/schemas/OptionalReceiptNoPriceExcludedDisclosure" },
          "carry_basis": { "$ref": "#/components/schemas/OptionalReceiptCarryBasis" },
          "smoothed_vote_usd": { "$ref": "#/components/schemas/OptionalReceiptSmoothedVoteUsd" },
          "carried_vote_from": { "$ref": "#/components/schemas/OptionalReceiptCarriedVoteFrom" },
          "price": { "$ref": "#/components/schemas/Price" },
          "sd": { "anyOf": [{ "$ref": "#/components/schemas/StandardDeviation" }, { "type": "null" }] },
          "weight": { "anyOf": [{ "$ref": "#/components/schemas/Weight" }, { "type": "null" }] },
          "source_url": { "$ref": "#/components/schemas/HttpsUrl" },
          "status": { "type": "string", "const": "ok" },
          "filter_verdict": { "type": "string", "enum": ["rejected", "not_evaluated"] },
          "last_seen": { "$ref": "#/components/schemas/ObservationDateTimeString" }
        },
        "required": [
          "source_id",
          "liveness_score",
          "price",
          "sd",
          "weight",
          "source_url",
          "status",
          "filter_verdict",
          "last_seen"
        ],
        "additionalProperties": { "$ref": "#/components/schemas/AdditiveDisclosureScalar" }
      },
      "Freshness": {
        "type": "string",
        "enum": ["fresh", "stale"],
        "description": "`stale` when the newest published observation is more than 4 publication intervals (60 minutes) old."
      },
      "GpuVariant": { "type": "string", "enum": ["SXM", "PCIe", "NVL"] },
      "HistoryHighWaterPublicationMeta": {
        "anyOf": [
          { "$ref": "#/components/schemas/HistoryHighWaterPublicationMetaOk" },
          { "$ref": "#/components/schemas/HistoryHighWaterPublicationMetaStale" },
          { "$ref": "#/components/schemas/HistoryHighWaterPublicationMetaNoPrint" }
        ],
        "description": "Publication details for the history window. Each returned value also includes its own publication details."
      },
      "HistoryHighWaterPublicationMetaNoPrint": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/HistoryHighWaterScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "no_print" },
          "reason": { "$ref": "#/components/schemas/NoPrintReason" },
          "freshness": { "$ref": "#/components/schemas/Freshness" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false
      },
      "HistoryHighWaterPublicationMetaOk": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/HistoryHighWaterScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "ok" },
          "reason": { "type": "null" },
          "freshness": { "type": "string", "const": "fresh" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false
      },
      "HistoryHighWaterPublicationMetaStale": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/HistoryHighWaterScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "stale" },
          "reason": { "type": "string", "const": "artifact_stale" },
          "freshness": { "type": "string", "const": "stale" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false
      },
      "HistoryHighWaterScope": { "type": "string", "const": "history_high_water" },
      "HistoryRow": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
              "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
              "unit": { "$ref": "#/components/schemas/Unit" },
              "methodology_id": { "$ref": "#/components/schemas/Identifier" },
              "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
              "coverage": { "$ref": "#/components/schemas/Coverage" },
              "value_usd_gpu_hr": { "$ref": "#/components/schemas/Price" },
              "stability_band_usd_gpu_hr": { "$ref": "#/components/schemas/StandardDeviation" },
              "status": { "type": "string", "const": "ok" },
              "reason": { "type": "null" },
              "freshness": { "type": "string", "const": "fresh" }
            },
            "required": [
              "observed_at",
              "generated_at",
              "unit",
              "methodology_id",
              "input_snapshot_sha256",
              "coverage",
              "value_usd_gpu_hr",
              "stability_band_usd_gpu_hr",
              "status",
              "reason",
              "freshness"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
              "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
              "unit": { "$ref": "#/components/schemas/Unit" },
              "methodology_id": { "$ref": "#/components/schemas/Identifier" },
              "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
              "coverage": { "$ref": "#/components/schemas/Coverage" },
              "value_usd_gpu_hr": { "type": "null" },
              "stability_band_usd_gpu_hr": { "type": "null" },
              "status": { "type": "string", "const": "no_print" },
              "reason": { "$ref": "#/components/schemas/NoPrintReason" },
              "freshness": { "type": "string", "const": "fresh" }
            },
            "required": [
              "observed_at",
              "generated_at",
              "unit",
              "methodology_id",
              "input_snapshot_sha256",
              "coverage",
              "value_usd_gpu_hr",
              "stability_band_usd_gpu_hr",
              "status",
              "reason",
              "freshness"
            ],
            "additionalProperties": false
          }
        ],
        "description": "One index value at a scheduled time. If `status` is `no_print`, the value and stability band are null and `reason` explains why no price was published."
      },
      "HistoryRows": {
        "minItems": 1,
        "maxItems": 20000,
        "type": "array",
        "items": { "$ref": "#/components/schemas/HistoryRow" }
      },
      "HistoryWindowExceededError": {
        "type": "object",
        "properties": {
          "code": { "type": "string", "const": "history_window_exceeded" },
          "message": { "type": "string", "minLength": 1, "pattern": "\\S", "maxLength": 256 },
          "details": {
            "type": "object",
            "properties": {
              "history_window_days": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }
            },
            "required": ["history_window_days"],
            "additionalProperties": false
          }
        },
        "required": ["code", "message", "details"],
        "additionalProperties": false
      },
      "Hostname": {
        "type": "string",
        "maxLength": 253,
        "pattern": "^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)(?:\\.(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?))*$",
        "description": "A DNS hostname with no scheme, port or path."
      },
      "HttpsUrl": {
        "type": "string",
        "maxLength": 2048,
        "pattern": "^https:\\/\\/(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)(?:\\.(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?))*(?:[/?#](?:[A-Za-z0-9\\-._~!$&'()*+,;=:@/?#]|%[A-Fa-f0-9]{2})*)?$",
        "description": "An absolute `https:` URL."
      },
      "Identifier": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$",
        "description": "An identifier for a GPU SKU, provider or methodology."
      },
      "IdentifierSet": { "type": "array", "items": { "$ref": "#/components/schemas/Identifier" }, "uniqueItems": true },
      "IndexName": { "type": "string", "minLength": 1, "pattern": "\\S", "maxLength": 256 },
      "IndexValueDataResponse": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "data": { "$ref": "#/components/schemas/AvailableIndexValueData" },
              "meta": {
                "anyOf": [
                  { "$ref": "#/components/schemas/ObservationPublicationMetaOk" },
                  { "$ref": "#/components/schemas/ObservationPublicationMetaStale" }
                ]
              },
              "license": { "$ref": "#/components/schemas/License" }
            },
            "required": ["data", "meta", "license"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "data": { "$ref": "#/components/schemas/NoPrintIndexValueData" },
              "meta": { "$ref": "#/components/schemas/ObservationPublicationMetaNoPrint" },
              "license": { "$ref": "#/components/schemas/License" }
            },
            "required": ["data", "meta", "license"],
            "additionalProperties": false
          }
        ]
      },
      "LatestIndexValueDataResponse": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "data": { "$ref": "#/components/schemas/AvailableLatestIndexValueData" },
              "meta": {
                "anyOf": [
                  { "$ref": "#/components/schemas/ObservationPublicationMetaOk" },
                  { "$ref": "#/components/schemas/ObservationPublicationMetaStale" }
                ]
              },
              "license": { "$ref": "#/components/schemas/License" }
            },
            "required": ["data", "meta", "license"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "data": { "$ref": "#/components/schemas/NoPrintLatestIndexValueData" },
              "meta": { "$ref": "#/components/schemas/ObservationPublicationMetaNoPrint" },
              "license": { "$ref": "#/components/schemas/License" }
            },
            "required": ["data", "meta", "license"],
            "additionalProperties": false
          }
        ]
      },
      "License": {
        "type": "object",
        "properties": {
          "spdx": { "type": "string", "const": "CC-BY-NC-4.0" },
          "url": { "type": "string", "const": "https://creativecommons.org/licenses/by-nc/4.0/" },
          "attribution": { "type": "string", "minLength": 1, "pattern": "\\S", "maxLength": 512 }
        },
        "required": ["spdx", "url", "attribution"],
        "additionalProperties": false
      },
      "LivenessScore": {
        "type": "number",
        "minimum": 0,
        "maximum": 1,
        "description": "Provider availability score, from 0 to 1, when calculated."
      },
      "MethodologyLane": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "sku": { "$ref": "#/components/schemas/Identifier" },
              "methodology_id": { "$ref": "#/components/schemas/Identifier" },
              "methodology_version": { "$ref": "#/components/schemas/DisplayLabel" },
              "aggregation": { "type": "string", "enum": ["median_stddev_votes", "median_ci_votes"] }
            },
            "required": ["sku", "methodology_id", "methodology_version", "aggregation"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "sku": { "$ref": "#/components/schemas/Identifier" },
              "methodology_id": { "$ref": "#/components/schemas/Identifier" },
              "methodology_version": { "$ref": "#/components/schemas/DisplayLabel" },
              "aggregation": { "type": "string", "enum": ["median_stddev_votes", "median_ci_votes"] },
              "composite_statistic": { "type": "string", "const": "median_ci_votes" },
              "iqm_alpha": { "type": "number" }
            },
            "required": [
              "sku",
              "methodology_id",
              "methodology_version",
              "aggregation",
              "composite_statistic",
              "iqm_alpha"
            ],
            "additionalProperties": false
          }
        ]
      },
      "MinuteObservationCadence": {
        "type": "string",
        "pattern": "^(?:[1-9]\\d{0,2}|1[0-3]\\d{2}|14[0-3]\\d|1440)-minute$"
      },
      "NoPrintIndexValueData": {
        "type": "object",
        "properties": {
          "sku": { "$ref": "#/components/schemas/Identifier" },
          "observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "value_usd_gpu_hr": { "type": "null" },
          "stability_band_usd_gpu_hr": { "type": "null" },
          "unit": { "$ref": "#/components/schemas/Unit" },
          "receipts": { "$ref": "#/components/schemas/PublicReceipts" }
        },
        "required": ["sku", "observed_at", "value_usd_gpu_hr", "stability_band_usd_gpu_hr", "unit", "receipts"],
        "additionalProperties": false
      },
      "NoPrintLatestIndexValueData": {
        "type": "object",
        "properties": {
          "sku": { "$ref": "#/components/schemas/Identifier" },
          "observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "value_usd_gpu_hr": { "type": "null" },
          "stability_band_usd_gpu_hr": { "type": "null" },
          "unit": { "$ref": "#/components/schemas/Unit" }
        },
        "required": ["sku", "observed_at", "value_usd_gpu_hr", "stability_band_usd_gpu_hr", "unit"],
        "additionalProperties": false
      },
      "NoPrintReason": {
        "type": "string",
        "enum": [
          "observation_missed",
          "record_quarantined",
          "insufficient_coverage",
          "all_sources_filtered",
          "no_eligible_sources"
        ],
        "description": "Why an observation published no value."
      },
      "NullableLivenessScore": { "anyOf": [{ "$ref": "#/components/schemas/LivenessScore" }, { "type": "null" }] },
      "NullableReceiptCurrency": { "anyOf": [{ "$ref": "#/components/schemas/ReceiptCurrency" }, { "type": "null" }] },
      "NullableReceiptFxRate": { "anyOf": [{ "$ref": "#/components/schemas/Price" }, { "type": "null" }] },
      "NullableReceiptGpuCount": { "anyOf": [{ "$ref": "#/components/schemas/PositiveInteger" }, { "type": "null" }] },
      "NullableReceiptGpuVariant": { "anyOf": [{ "$ref": "#/components/schemas/GpuVariant" }, { "type": "null" }] },
      "NullableReceiptProviderClass": {
        "anyOf": [{ "$ref": "#/components/schemas/ProviderClass" }, { "type": "null" }]
      },
      "NullableReceiptProviderLabel": {
        "anyOf": [{ "$ref": "#/components/schemas/ReceiptProviderLabel" }, { "type": "null" }]
      },
      "NullableReceiptVramGb": { "anyOf": [{ "$ref": "#/components/schemas/Price" }, { "type": "null" }] },
      "NullableSha256": { "anyOf": [{ "$ref": "#/components/schemas/Sha256" }, { "type": "null" }] },
      "ObservationCadence": {
        "anyOf": [{ "type": "string", "const": "hourly" }, { "$ref": "#/components/schemas/MinuteObservationCadence" }]
      },
      "ObservationDateTimeString": {
        "type": "string",
        "allOf": [
          {
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          { "pattern": "^\\d{4}-\\d{2}-\\d{2}T(?:[01]\\d|2[0-3]):[0-5]\\d:00\\.000Z$" }
        ],
        "description": "Observation time in UTC on the 15-minute grid, e.g. `2026-09-01T00:00:00.000Z`.",
        "format": "date-time"
      },
      "ObservationPublicationMetaNoPrint": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/ObservationScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "no_print" },
          "reason": { "$ref": "#/components/schemas/NoPrintReason" },
          "freshness": { "$ref": "#/components/schemas/Freshness" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false,
        "description": "Publication details explaining why no price was published at the latest scheduled time."
      },
      "ObservationPublicationMetaOk": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/ObservationScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "ok" },
          "reason": { "type": "null" },
          "freshness": { "type": "string", "const": "fresh" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false,
        "description": "Publication time, methodology and source coverage for a fresh latest value."
      },
      "ObservationPublicationMetaStale": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/ObservationScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "stale" },
          "reason": { "type": "string", "const": "artifact_stale" },
          "freshness": { "type": "string", "const": "stale" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false,
        "description": "Publication details for a latest value older than 4 publication intervals (60 minutes)."
      },
      "ObservationScope": { "type": "string", "const": "observation" },
      "OptionalReceiptAttendanceFactorDisclosure": { "$ref": "#/components/schemas/AdditiveDisclosureScalar" },
      "OptionalReceiptCarriedVoteFrom": { "$ref": "#/components/schemas/ObservationDateTimeString" },
      "OptionalReceiptCarryBasis": { "$ref": "#/components/schemas/CarryBasis" },
      "OptionalReceiptNoPriceExcludedDisclosure": { "$ref": "#/components/schemas/AdditiveDisclosureScalar" },
      "OptionalReceiptNoPriceStreakDisclosure": { "$ref": "#/components/schemas/AdditiveDisclosureScalar" },
      "OptionalReceiptPopulationCount": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
      "OptionalReceiptPopulationScale": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 },
      "OptionalReceiptSmoothedVoteUsd": { "$ref": "#/components/schemas/Price" },
      "OptionalReceiptUpstreamStatus": { "$ref": "#/components/schemas/UpstreamSourceStatus" },
      "PositiveInteger": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 },
      "Price": {
        "type": "number",
        "exclusiveMinimum": 0,
        "description": "A price in USD per GPU-hour. Always positive where present."
      },
      "PriceHistoryData": {
        "type": "object",
        "properties": {
          "sku": { "$ref": "#/components/schemas/Identifier" },
          "values": { "$ref": "#/components/schemas/HistoryRows" },
          "next_cursor": { "anyOf": [{ "$ref": "#/components/schemas/Cursor" }, { "type": "null" }] }
        },
        "required": ["sku", "values", "next_cursor"],
        "additionalProperties": false
      },
      "PriceHistoryDataResponse": {
        "type": "object",
        "properties": {
          "data": { "$ref": "#/components/schemas/PriceHistoryData" },
          "meta": { "$ref": "#/components/schemas/HistoryHighWaterPublicationMeta" },
          "license": { "$ref": "#/components/schemas/License" }
        },
        "required": ["data", "meta", "license"],
        "additionalProperties": false
      },
      "PrimaryLanePublicationMeta": {
        "anyOf": [
          { "$ref": "#/components/schemas/PrimaryLanePublicationMetaOk" },
          { "$ref": "#/components/schemas/PrimaryLanePublicationMetaStale" },
          { "$ref": "#/components/schemas/PrimaryLanePublicationMetaNoPrint" }
        ],
        "description": "Publication details for the methodology response."
      },
      "PrimaryLanePublicationMetaNoPrint": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/PrimaryLaneScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "no_print" },
          "reason": { "$ref": "#/components/schemas/NoPrintReason" },
          "freshness": { "$ref": "#/components/schemas/Freshness" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false
      },
      "PrimaryLanePublicationMetaOk": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/PrimaryLaneScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "ok" },
          "reason": { "type": "null" },
          "freshness": { "type": "string", "const": "fresh" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false
      },
      "PrimaryLanePublicationMetaStale": {
        "type": "object",
        "properties": {
          "scope": { "$ref": "#/components/schemas/PrimaryLaneScope" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "$ref": "#/components/schemas/Identifier" },
          "input_snapshot_sha256": { "$ref": "#/components/schemas/NullableSha256" },
          "as_of_observed_at": { "$ref": "#/components/schemas/ObservationDateTimeString" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "coverage": { "$ref": "#/components/schemas/Coverage" },
          "status": { "type": "string", "const": "stale" },
          "reason": { "type": "string", "const": "artifact_stale" },
          "freshness": { "type": "string", "const": "stale" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "coverage",
          "status",
          "reason",
          "freshness"
        ],
        "additionalProperties": false
      },
      "PrimaryLaneScope": { "type": "string", "const": "primary_lane" },
      "ProviderClass": {
        "type": "string",
        "enum": [
          "direct_principal",
          "direct_partnered",
          "marketplace",
          "reseller",
          "aggregator",
          "hyperscaler",
          "neocloud"
        ]
      },
      "PublicReceipt": {
        "anyOf": [
          { "$ref": "#/components/schemas/ContributingReceipt" },
          { "$ref": "#/components/schemas/FilteredReceipt" },
          { "$ref": "#/components/schemas/ExcludedReceipt" },
          { "$ref": "#/components/schemas/UnavailableReceipt" },
          { "$ref": "#/components/schemas/WithheldReceipt" }
        ],
        "description": "One provider’s price, weight and source URL. Prices are null for frozen or missing sources. When a price is withheld, `price_disclosure` is `withheld` and `price` and `sd` are null."
      },
      "PublicReceipts": {
        "type": "array",
        "items": { "$ref": "#/components/schemas/PublicReceipt" },
        "uniqueItems": true
      },
      "ReceiptCurrency": { "type": "string", "pattern": "^[A-Z]{3}$" },
      "ReceiptProviderLabel": {
        "type": "string",
        "minLength": 1,
        "allOf": [{ "pattern": "\\S" }, { "pattern": "^[\\x20-\\x7e]+$" }],
        "maxLength": 256
      },
      "RefusalEnvelope": {
        "type": "object",
        "properties": {
          "error": { "$ref": "#/components/schemas/RefusalError" },
          "meta": { "$ref": "#/components/schemas/RefusalMeta" },
          "license": { "$ref": "#/components/schemas/License" }
        },
        "required": ["error", "meta", "license"],
        "additionalProperties": false,
        "description": "An error code and message, with the same license information as a successful response."
      },
      "RefusalError": {
        "anyOf": [
          { "$ref": "#/components/schemas/StandardRefusalError" },
          { "$ref": "#/components/schemas/HistoryWindowExceededError" }
        ]
      },
      "RefusalMeta": {
        "type": "object",
        "properties": {
          "scope": { "type": "string", "const": "refusal" },
          "index_name": { "$ref": "#/components/schemas/IndexName" },
          "methodology_id": { "type": "null" },
          "input_snapshot_sha256": { "type": "null" },
          "as_of_observed_at": { "type": "null" },
          "generated_at": { "$ref": "#/components/schemas/DateTimeString" },
          "status": { "type": "null" },
          "reason": { "type": "null" },
          "freshness": { "type": "null" },
          "coverage": { "type": "null" }
        },
        "required": [
          "scope",
          "index_name",
          "methodology_id",
          "input_snapshot_sha256",
          "as_of_observed_at",
          "generated_at",
          "status",
          "reason",
          "freshness",
          "coverage"
        ],
        "additionalProperties": false
      },
      "Sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
      "StandardDeviation": {
        "type": "number",
        "minimum": 0,
        "description": "Price standard deviation in USD per GPU-hour. Zero or greater."
      },
      "StandardRefusalCode": {
        "type": "string",
        "enum": [
          "artifact_missing",
          "artifact_digest_mismatch",
          "artifact_path_violation",
          "unknown_methodology",
          "invalid_artifact",
          "invalid_request",
          "no_data",
          "unknown_sku",
          "rate_limited",
          "upstream_unavailable",
          "internal_error"
        ]
      },
      "StandardRefusalError": {
        "type": "object",
        "properties": {
          "code": { "$ref": "#/components/schemas/StandardRefusalCode" },
          "message": { "type": "string", "minLength": 1, "pattern": "\\S", "maxLength": 256 }
        },
        "required": ["code", "message"],
        "additionalProperties": false
      },
      "UnavailableReceipt": {
        "propertyNames": {
          "anyOf": [
            {
              "enum": [
                "attendance_factor",
                "carried_vote_from",
                "carry_basis",
                "currency",
                "filter_verdict",
                "fx_rate",
                "gpu_count_basis",
                "gpu_variant",
                "last_seen",
                "liveness_score",
                "no_price_excluded",
                "no_price_streak",
                "population_hosts",
                "population_machines",
                "population_scale",
                "price",
                "provider_class",
                "region",
                "sd",
                "sku_identifier",
                "smoothed_vote_usd",
                "source_id",
                "source_url",
                "status",
                "upstream_status",
                "vram_gb",
                "weight"
              ]
            },
            {
              "pattern": "^(?!(?:n_samples|q|price_disclosure)$)(?!(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))(?!.*_(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))[a-z][a-z0-9_]{0,63}$"
            }
          ]
        },
        "type": "object",
        "properties": {
          "source_id": { "$ref": "#/components/schemas/Identifier" },
          "liveness_score": { "$ref": "#/components/schemas/NullableLivenessScore" },
          "upstream_status": { "$ref": "#/components/schemas/OptionalReceiptUpstreamStatus" },
          "gpu_count_basis": { "$ref": "#/components/schemas/NullableReceiptGpuCount" },
          "region": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "currency": { "$ref": "#/components/schemas/NullableReceiptCurrency" },
          "fx_rate": { "$ref": "#/components/schemas/NullableReceiptFxRate" },
          "sku_identifier": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "gpu_variant": { "$ref": "#/components/schemas/NullableReceiptGpuVariant" },
          "vram_gb": { "$ref": "#/components/schemas/NullableReceiptVramGb" },
          "provider_class": { "$ref": "#/components/schemas/NullableReceiptProviderClass" },
          "population_scale": { "$ref": "#/components/schemas/OptionalReceiptPopulationScale" },
          "population_machines": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "population_hosts": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "attendance_factor": { "$ref": "#/components/schemas/OptionalReceiptAttendanceFactorDisclosure" },
          "no_price_streak": { "$ref": "#/components/schemas/OptionalReceiptNoPriceStreakDisclosure" },
          "no_price_excluded": { "$ref": "#/components/schemas/OptionalReceiptNoPriceExcludedDisclosure" },
          "carry_basis": { "$ref": "#/components/schemas/OptionalReceiptCarryBasis" },
          "smoothed_vote_usd": { "$ref": "#/components/schemas/OptionalReceiptSmoothedVoteUsd" },
          "carried_vote_from": { "$ref": "#/components/schemas/OptionalReceiptCarriedVoteFrom" },
          "price": { "type": "null" },
          "sd": { "type": "null" },
          "weight": { "type": "null" },
          "source_url": { "anyOf": [{ "$ref": "#/components/schemas/HttpsUrl" }, { "type": "null" }] },
          "status": { "type": "string", "enum": ["frozen", "missing"] },
          "filter_verdict": { "$ref": "#/components/schemas/FilterVerdict" },
          "last_seen": { "anyOf": [{ "$ref": "#/components/schemas/ObservationDateTimeString" }, { "type": "null" }] }
        },
        "required": [
          "source_id",
          "liveness_score",
          "price",
          "sd",
          "weight",
          "source_url",
          "status",
          "filter_verdict",
          "last_seen"
        ],
        "additionalProperties": { "$ref": "#/components/schemas/AdditiveDisclosureScalar" }
      },
      "Unit": { "type": "string", "const": "USD/GPU/hour", "description": "USD per GPU-hour." },
      "UpstreamSourceStatus": {
        "type": "string",
        "minLength": 1,
        "maxLength": 128,
        "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
      },
      "Weight": {
        "type": "number",
        "minimum": 0,
        "maximum": 1,
        "description": "The provider's weight in the aggregation, in [0, 1]."
      },
      "WithheldReceipt": {
        "propertyNames": {
          "anyOf": [
            {
              "enum": [
                "attendance_factor",
                "carried_vote_from",
                "carry_basis",
                "currency",
                "filter_verdict",
                "fx_rate",
                "gpu_count_basis",
                "gpu_variant",
                "last_seen",
                "liveness_score",
                "no_price_excluded",
                "no_price_streak",
                "population_hosts",
                "population_machines",
                "population_scale",
                "price",
                "price_disclosure",
                "provider_class",
                "region",
                "sd",
                "sku_identifier",
                "smoothed_vote_usd",
                "source_id",
                "source_url",
                "status",
                "upstream_status",
                "vram_gb",
                "weight"
              ]
            },
            {
              "pattern": "^(?!(?:n_samples|q)$)(?!(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))(?!.*_(?:private|internal|raw|debug|reason|message|notes?|paths?|prefix|urls?|uris?|hosts?|hostnames?|accounts?|machines?|providers?|tenants?|ticket|issue|tokens?|secrets?|credentials?|keys?|ids?|identifiers?)(?:_|$))[a-z][a-z0-9_]{0,63}$"
            }
          ]
        },
        "type": "object",
        "properties": {
          "source_id": { "$ref": "#/components/schemas/Identifier" },
          "liveness_score": { "$ref": "#/components/schemas/NullableLivenessScore" },
          "upstream_status": { "$ref": "#/components/schemas/OptionalReceiptUpstreamStatus" },
          "gpu_count_basis": { "$ref": "#/components/schemas/NullableReceiptGpuCount" },
          "region": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "currency": { "$ref": "#/components/schemas/NullableReceiptCurrency" },
          "fx_rate": { "$ref": "#/components/schemas/NullableReceiptFxRate" },
          "sku_identifier": { "$ref": "#/components/schemas/NullableReceiptProviderLabel" },
          "gpu_variant": { "$ref": "#/components/schemas/NullableReceiptGpuVariant" },
          "vram_gb": { "$ref": "#/components/schemas/NullableReceiptVramGb" },
          "provider_class": { "$ref": "#/components/schemas/NullableReceiptProviderClass" },
          "population_scale": { "$ref": "#/components/schemas/OptionalReceiptPopulationScale" },
          "population_machines": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "population_hosts": { "$ref": "#/components/schemas/OptionalReceiptPopulationCount" },
          "attendance_factor": { "$ref": "#/components/schemas/OptionalReceiptAttendanceFactorDisclosure" },
          "no_price_streak": { "$ref": "#/components/schemas/OptionalReceiptNoPriceStreakDisclosure" },
          "no_price_excluded": { "$ref": "#/components/schemas/OptionalReceiptNoPriceExcludedDisclosure" },
          "carry_basis": { "$ref": "#/components/schemas/OptionalReceiptCarryBasis" },
          "smoothed_vote_usd": { "$ref": "#/components/schemas/OptionalReceiptSmoothedVoteUsd" },
          "carried_vote_from": { "$ref": "#/components/schemas/OptionalReceiptCarriedVoteFrom" },
          "price": { "type": "null" },
          "sd": { "type": "null" },
          "weight": { "anyOf": [{ "$ref": "#/components/schemas/Weight" }, { "type": "null" }] },
          "source_url": { "anyOf": [{ "$ref": "#/components/schemas/HttpsUrl" }, { "type": "null" }] },
          "status": { "type": "string", "enum": ["ok", "excluded"] },
          "filter_verdict": { "$ref": "#/components/schemas/FilterVerdict" },
          "last_seen": { "anyOf": [{ "$ref": "#/components/schemas/ObservationDateTimeString" }, { "type": "null" }] },
          "price_disclosure": { "type": "string", "const": "withheld" }
        },
        "required": [
          "source_id",
          "liveness_score",
          "price",
          "sd",
          "weight",
          "source_url",
          "status",
          "filter_verdict",
          "last_seen",
          "price_disclosure"
        ],
        "additionalProperties": { "$ref": "#/components/schemas/AdditiveDisclosureScalar" }
      }
    }
  }
}
