{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/gpucloud-ca/json-schema/gpucloud-ca-price-feed-schema.json",
  "title": "PriceFeed",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/gpucloud-ca-openapi.json#/components/schemas/PriceFeed",
  "type": "object",
  "required": [
    "schemaVersion",
    "catalogDate",
    "currency",
    "region",
    "taxesIncluded",
    "items",
    "onRequest"
  ],
  "properties": {
    "schemaVersion": {
      "type": "string",
      "description": "Version of this schema (changes when a field changes)."
    },
    "catalogDate": {
      "type": "string",
      "format": "date",
      "description": "Date of the catalog data: the prices are valid from this date."
    },
    "currency": {
      "type": "string",
      "enum": [
        "CAD"
      ]
    },
    "region": {
      "type": "string",
      "description": "Public region (canada-montreal, Montreal, Canada)."
    },
    "taxesIncluded": {
      "type": "boolean",
      "enum": [
        false
      ]
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "model",
          "gpuCount",
          "vramGb",
          "vcpu",
          "ramGb",
          "diskGb",
          "localDiskGb",
          "hourlyCad",
          "monthlyCad",
          "hourlyCadPerGpu",
          "hourlyCadPerVramGb",
          "pageUrl"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Catalog product id (on-demand machine)."
          },
          "model": {
            "type": "string",
            "description": "GPU model, e.g. NVIDIA H100 PCIe."
          },
          "gpuCount": {
            "type": "integer"
          },
          "vramGb": {
            "type": [
              "number",
              "null"
            ],
            "description": "GPU memory of one GPU, GB."
          },
          "vcpu": {
            "type": "integer"
          },
          "ramGb": {
            "type": "integer"
          },
          "diskGb": {
            "type": "integer",
            "description": "System disk, GB."
          },
          "localDiskGb": {
            "type": "integer",
            "description": "Local work disk, GB (0 when none)."
          },
          "hourlyCad": {
            "type": "number",
            "description": "Whole machine, CAD per hour, no commitment."
          },
          "monthlyCad": {
            "type": [
              "number",
              "null"
            ],
            "description": "Whole machine, CAD per month, monthly term; null when the machine is sold by the hour only (schema 1.1)."
          },
          "hourlyCadPerGpu": {
            "type": "number",
            "description": "hourlyCad / gpuCount, 4 decimals."
          },
          "hourlyCadPerVramGb": {
            "type": [
              "number",
              "null"
            ],
            "description": "hourlyCad / (gpuCount x vramGb), 5 decimals."
          },
          "spotHourlyCad": {
            "type": "number",
            "description": "Spot machine of the same model and size (interruptible, hourly only), when sold online."
          },
          "pageUrl": {
            "type": "string",
            "format": "uri"
          },
          "available": {
            "type": "boolean",
            "description": "Only when read from a fresh stock snapshot."
          }
        }
      }
    },
    "onRequest": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "GPU models sold on request only (no public price)."
    },
    "availabilityUpdatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Only with `available` on the items."
    }
  }
}