FLOPS · Schema
CPUContractSubmission
Contract / lease rate row — annex §2, feeds CLRI-CPU. One record per contract executed or renewed.
GPUPricingArtificial IntelligenceComputeIndex
Properties
| Name | Type | Description |
|---|---|---|
| asset_ownership | object | Who owns the silicon. 'owner' = primary observation. Omitted is treated as 'orchestrator' (fail-closed) and the row is held out of published index math. |
| underlying_provider | object | Whose hardware this actually is, when asset_ownership != owner. Use 'undisclosed' if contractually unnameable. |
| operator_id | object | |
| cpu_sku | string | Processor family if known (amd_epyc, intel_xeon_scalable, x86_mixed). |
| cpu_model_raw | object | Verbatim contributor string, kept for triage when the SKU is unmapped. |
| core_count_contracted | integer | vCPU count in this contract or VM configuration (NOT physical cores). |
| ram_gb_contracted | number | |
| storage_tb_contracted | object | |
| rate_per_core_hour_usd | object | USD per vCPU-hour (annex naming says 'core'; the unit is vCPU). |
| rate_per_vm_config_month_usd | object | USD per VM configuration per month. |
| vm_config | object | {cores, ram_gb, storage_tb, gpu_count}. Required with the monthly rate. |
| contract_term_months | integer | 1 for on-demand; 3/6/12/24/36 for term contracts. |
| region | object | |
| contract_start_date | string | YYYY-MM-DD |
| rate_includes_support | boolean | True if managed support or SLA is bundled into the rate. |
| rate_includes_power | boolean | True if power costs are included. |
| workload_class | object | |
| currency | string | |
| fx_rate_date | object | YYYY-MM-DD of the FX rate used, if the contributor converted before sending. |
| contract_end_date | object | YYYY-MM-DD |
| is_renewal | object | True if this renews an existing contract rather than a new one. |
| replaces_contract_ref | object | Contributor's opaque reference to the prior contract, to link a renewal chain. |
| rate_compute_only_usd | object | Per-vCPU-hour rate with managed support/SLA stripped out. Lets a bundled retail contributor also feed the headline lease-rate series. |
| source_type | object | |
| submission_source | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/flopsindex-com/json-schema/flopsindex-com-cpucontract-submission-schema.json",
"title": "CPUContractSubmission",
"description": "Contract / lease rate row — annex §2, feeds CLRI-CPU.\n\nOne record per contract executed or renewed.",
"x-generated": "2026-11-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/flopsindex-com-openapi.json#/components/schemas/CPUContractSubmission",
"properties": {
"asset_ownership": {
"anyOf": [
{
"$ref": "#/$defs/AssetOwnership"
},
{
"type": "null"
}
],
"description": "Who owns the silicon. 'owner' = primary observation. Omitted is treated as 'orchestrator' (fail-closed) and the row is held out of published index math."
},
"underlying_provider": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Underlying Provider",
"description": "Whose hardware this actually is, when asset_ownership != owner. Use 'undisclosed' if contractually unnameable."
},
"operator_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Operator Id"
},
"cpu_sku": {
"type": "string",
"title": "Cpu Sku",
"description": "Processor family if known (amd_epyc, intel_xeon_scalable, x86_mixed)."
},
"cpu_model_raw": {
"anyOf": [
{
"type": "string",
"maxLength": 256
},
{
"type": "null"
}
],
"title": "Cpu Model Raw",
"description": "Verbatim contributor string, kept for triage when the SKU is unmapped."
},
"core_count_contracted": {
"type": "integer",
"maximum": 2000000.0,
"minimum": 1.0,
"title": "Core Count Contracted",
"description": "vCPU count in this contract or VM configuration (NOT physical cores)."
},
"ram_gb_contracted": {
"type": "number",
"maximum": 1000000.0,
"minimum": 0.0,
"title": "Ram Gb Contracted"
},
"storage_tb_contracted": {
"anyOf": [
{
"type": "number",
"minimum": 0.0
},
{
"type": "null"
}
],
"title": "Storage Tb Contracted"
},
"rate_per_core_hour_usd": {
"anyOf": [
{
"type": "number",
"maximum": 10000.0,
"minimum": 0.0
},
{
"type": "null"
}
],
"title": "Rate Per Core Hour Usd",
"description": "USD per vCPU-hour (annex naming says 'core'; the unit is vCPU)."
},
"rate_per_vm_config_month_usd": {
"anyOf": [
{
"type": "number",
"maximum": 10000000.0,
"minimum": 0.0
},
{
"type": "null"
}
],
"title": "Rate Per Vm Config Month Usd",
"description": "USD per VM configuration per month."
},
"vm_config": {
"anyOf": [
{
"additionalProperties": {
"type": "number"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Vm Config",
"description": "{cores, ram_gb, storage_tb, gpu_count}. Required with the monthly rate."
},
"contract_term_months": {
"type": "integer",
"maximum": 120.0,
"minimum": 1.0,
"title": "Contract Term Months",
"description": "1 for on-demand; 3/6/12/24/36 for term contracts."
},
"region": {
"$ref": "#/$defs/Region"
},
"contract_start_date": {
"type": "string",
"title": "Contract Start Date",
"description": "YYYY-MM-DD"
},
"rate_includes_support": {
"type": "boolean",
"title": "Rate Includes Support",
"description": "True if managed support or SLA is bundled into the rate."
},
"rate_includes_power": {
"type": "boolean",
"title": "Rate Includes Power",
"description": "True if power costs are included."
},
"workload_class": {
"anyOf": [
{
"type": "string",
"enum": [
"web_app",
"database",
"batch_compute",
"ai_inference",
"storage_io",
"general"
]
},
{
"type": "null"
}
],
"title": "Workload Class"
},
"currency": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"title": "Currency",
"default": "USD"
},
"fx_rate_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fx Rate Date",
"description": "YYYY-MM-DD of the FX rate used, if the contributor converted before sending."
},
"contract_end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Contract End Date",
"description": "YYYY-MM-DD"
},
"is_renewal": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Renewal",
"description": "True if this renews an existing contract rather than a new one."
},
"replaces_contract_ref": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Replaces Contract Ref",
"description": "Contributor's opaque reference to the prior contract, to link a renewal chain."
},
"rate_compute_only_usd": {
"anyOf": [
{
"type": "number",
"maximum": 10000.0,
"minimum": 0.0
},
{
"type": "null"
}
],
"title": "Rate Compute Only Usd",
"description": "Per-vCPU-hour rate with managed support/SLA stripped out. Lets a bundled retail contributor also feed the headline lease-rate series."
},
"source_type": {
"$ref": "#/$defs/SourceType",
"default": "b2b"
},
"submission_source": {
"$ref": "#/$defs/SubmissionSource",
"default": "manual"
}
},
"additionalProperties": true,
"type": "object",
"required": [
"cpu_sku",
"core_count_contracted",
"ram_gb_contracted",
"contract_term_months",
"region",
"contract_start_date",
"rate_includes_support",
"rate_includes_power"
],
"$defs": {
"AssetOwnership": {
"type": "string",
"enum": [
"owner",
"orchestrator",
"reseller",
"broker"
],
"title": "AssetOwnership",
"description": "Who actually owns the silicon behind a submitted row.\n\nThis exists because the first CPU contributor (Lyrid) is an\nORCHESTRATOR — it manages capacity it does not own. That distinction\nis not cosmetic: if an orchestrator reports cores that physically sit\nin a cloud FLOPS already collects directly, naive aggregation\ndouble-counts the same hardware, and a price row from an orchestrator\nis a resale margin on top of an underlying rate, not a primary rate.\n\nOnly ``OWNER`` rows are primary observations. Everything else carries\n``attribution_risk`` and is held out of published index math until an\nexplicit de-duplication rule exists (see docs/methodology)."
},
"Region": {
"type": "string",
"enum": [
"us_east",
"us_west",
"eu_west",
"ap_southeast",
"africa",
"global"
],
"title": "Region"
},
"SourceType": {
"type": "string",
"enum": [
"public",
"b2b",
"corporate"
],
"title": "SourceType",
"description": "Determines weight in FLCI/CLRI weighted median calculation."
},
"SubmissionSource": {
"type": "string",
"enum": [
"manual",
"agent_v1",
"sdk"
],
"title": "SubmissionSource",
"description": "Tracks how a fleet submission was generated for validation tuning."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/flopsindex-com-cpucontract-submission"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.