{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"Silicon Liquid API","version":"1.0.0","summary":"GPU capacity: what is on sale, the public price reference, orders, requests for quotes, long-term contracts and delivery.","description":"Anonymous reads need no key. Everything else takes `Authorization: Bearer sl_live_...`: a key acts for one party, sees only that party's orders, requests and deals, and does nothing until the desk attaches a scope.\n\nEvery POST takes an `Idempotency-Key`; writes require one. Errors are `{ error: { type, message, issues? } }`. Window times are whole hours, UTC.\n\nWebhooks: register an https endpoint (POST /webhook-endpoints) and every event this party could read at GET /events is also POSTed to it, signed. See `webhooks` below for the body and how to check the signature.\n\nSilicon Liquid takes no payments: suppliers invoice and collect.","contact":{"name":"Silicon Liquid desk","email":"arpit@siliconliquid.com"}},"servers":[{"url":"https://siliconliquid.com/api/v1"}],"tags":[{"name":"Catalog"},{"name":"Prices"},{"name":"Orders"},{"name":"Requests"},{"name":"Deals"},{"name":"Delivery"},{"name":"Events"},{"name":"Webhooks"}],"paths":{"/skus":{"get":{"operationId":"listSkus","tags":["Catalog"],"summary":"List the SKUs the venue sells","description":"Chip, GPUs per server, memory and fabric: two servers of one SKU are interchangeable.","security":[{},{"apiKey":[]}],"responses":{"200":{"description":"List the SKUs the venue sells","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Sku"}},"source":{"type":"string","enum":["catalog","listing"]}},"required":["data","source"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/availability":{"get":{"operationId":"getAvailability","tags":["Catalog"],"summary":"What is free on each listing, week by week","description":"For every listing on sale, what is free in every hour of each of the next eight weeks (GPUs for a pool, whole servers for a window). Week 0 starts today at 00:00 UTC.","security":[{},{"apiKey":[]}],"parameters":[{"name":"chip","in":"query","required":false,"description":"Only this chip: \"h100\".","schema":{"type":"string","maxLength":40}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["pool","window"]}},{"name":"min_free","in":"query","required":false,"description":"Only listings with at least this many free in some week.","schema":{"type":"integer","minimum":0,"maximum":100000}}],"responses":{"200":{"description":"What is free on each listing, week by week","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Availability"}},"source":{"type":"string","enum":["listing","catalog"]}},"required":["data","source"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/listings":{"get":{"operationId":"listListings","tags":["Catalog"],"summary":"List what is on sale","description":"Open listings with their price, capacity, delivery class, evidence level and next eight weeks. Never the supplier or its floor.","security":[{},{"apiKey":[]}],"parameters":[{"name":"chip","in":"query","required":false,"description":"Only this chip: \"h100\".","schema":{"type":"string","maxLength":40}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["pool","window"]}}],"responses":{"200":{"description":"List what is on sale","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Listing"}},"source":{"type":"string","enum":["listing","catalog"]}},"required":["data","source"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/listings/{id}":{"get":{"operationId":"getListing","tags":["Catalog"],"summary":"One listing","description":"By its uuid, or by a catalog offer id (l40, l40g). Ended listings still answer, with onSale false.","security":[{},{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":64}}],"responses":{"200":{"description":"One listing","content":{"application/json":{"schema":{"type":"object","properties":{"listing":{"$ref":"#/components/schemas/Listing"},"onSale":{"type":"boolean"}},"required":["listing","onSale"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/prices":{"get":{"operationId":"listPrices","tags":["Prices"],"summary":"The public price reference, every chip","description":"Today's market per chip from the sources whose terms allow republishing: the on-demand median across providers, spot, reserved (never blended) and the day and week changes.","security":[{},{"apiKey":[]}],"responses":{"200":{"description":"The public price reference, every chip","content":{"application/json":{"schema":{"type":"object","properties":{"asOf":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}],"description":"When the published run finished; null before the first one."},"providers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"data":{"type":"array","items":{"$ref":"#/components/schemas/PriceRow"}}},"required":["asOf","providers","offers","data"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/prices/{chip}":{"get":{"operationId":"getChipPrices","tags":["Prices"],"summary":"The public price reference for one chip","description":"Each provider's line and the daily history, public sources only.","security":[{},{"apiKey":[]}],"parameters":[{"name":"chip","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":40}}],"responses":{"200":{"description":"The public price reference for one chip","content":{"application/json":{"schema":{"type":"object","properties":{"chip":{"type":"string"},"label":{"type":"string"},"asOf":{"type":"string","description":"ISO 8601, UTC."},"stats":{"anyOf":[{"type":"object","properties":{"onDemand":{"anyOf":[{"$ref":"#/components/schemas/Stat"},{"type":"null"}]},"spot":{"anyOf":[{"$ref":"#/components/schemas/Stat"},{"type":"null"}]},"reserved":{"anyOf":[{"$ref":"#/components/schemas/Stat"},{"type":"null"}]},"openMarket":{"anyOf":[{"$ref":"#/components/schemas/Stat"},{"type":"null"}]}},"required":["onDemand","spot","reserved","openMarket"]},{"type":"null"}]},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string"},"tier":{"type":"string"},"median":{"type":"number"},"low":{"type":"number"},"high":{"type":"number"},"offers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"observedAt":{"type":"string","description":"ISO 8601, UTC."},"stale":{"type":"boolean"},"termMonths":{"type":["number","null"]}},"required":["provider","name","kind","tier","median","low","high","offers","observedAt","stale","termMonths"]}},"history":{"type":"object","properties":{"onDemand":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"level":{"type":"number"},"providers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["day","level","providers"]}},"spot":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"level":{"type":"number"},"providers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["day","level","providers"]}}},"required":["onDemand","spot"]}},"required":["chip","label","asOf","stats","providers","history"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/recommend":{"post":{"operationId":"recommend","tags":["Catalog"],"summary":"Three questions in, one package out","description":"What you want to do, how big, and when and for how long. Answers with one recommended package and at most two others: what you get in plain words, the lane that buys it, an all-in monthly estimate with its source and a real start date.","security":[{},{"apiKey":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Answers"},"example":{"job":"train","size":{"by":"model","paramsB":8},"start":{"by":"now"},"term":"weeks"}}}},"responses":{"200":{"description":"Three questions in, one package out","content":{"application/json":{"schema":{"type":"object","properties":{"recommended":{"$ref":"#/components/schemas/Package"},"alternatives":{"type":"array","items":{"$ref":"#/components/schemas/Package"}},"contact":{"type":"object","properties":{"name":{"type":"string"},"role":{"type":"string"},"email":{"type":"string"},"promise":{"type":"string"}},"required":["name","role","email","promise"]}},"required":["recommended","alternatives","contact"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/orders/estimate":{"post":{"operationId":"estimateOrder","tags":["Orders"],"summary":"Price an order before placing it","description":"What an order on a listing costs per hour, day and month, and for a window of whole hours, and whether the GPUs are free now. Nothing is held.","security":[{"apiKey":["orders:read"]}],"x-scope":"orders:read","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listing":{"type":"string","minLength":1,"maxLength":64,"description":"A listing id (uuid) or a catalog offer id (\"l40\")."},"gpus":{"type":"integer","minimum":1,"maximum":100000},"hours":{"description":"How long it runs. Or give startAt and endAt.","type":"integer","minimum":1,"maximum":8784},"startAt":{"type":"string","description":"A whole hour, UTC: 2026-11-02T14:00:00Z. Window times are on the hour grid."},"endAt":{"type":"string","description":"A whole hour, UTC: 2026-11-02T14:00:00Z. Window times are on the hour grid."}},"required":["listing","gpus"],"additionalProperties":false},"example":{"listing":"l40","gpus":8,"startAt":"2026-11-02T14:00:00Z","endAt":"2026-11-09T14:00:00Z"}}}},"responses":{"200":{"description":"Price an order before placing it","content":{"application/json":{"schema":{"type":"object","properties":{"listing":{"type":"object","properties":{"id":{"type":"string"},"chip":{"type":"string"},"chipLabel":{"type":"string"},"kind":{"type":"string","enum":["pool","window"]},"offer":{"type":["string","null"]}},"required":["id","chip","chipLabel","kind","offer"]},"gpus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string"},"perGpuHour":{"type":["number","null"]},"perHour":{"type":["number","null"]},"perDay":{"type":["number","null"]},"perMonth":{"description":"If every GPU runs every hour of a 730-hour month.","type":["number","null"]},"window":{"anyOf":[{"$ref":"#/components/schemas/Window"},{"type":"null"}]},"total":{"description":"For the window or hours asked about.","type":["number","null"]},"gpuHours":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quoted":{"type":"boolean","description":"At this size the price is quoted by the desk, so the figures are a ceiling."},"freeNow":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"fits":{"description":"Whether that many GPUs are free now; null when the listing carries no availability.","type":["boolean","null"]},"buyNow":{"type":"boolean","description":"Whether POST /orders can take it: a pool with an order form and a price."},"note":{"type":"string"}},"required":["listing","gpus","currency","perGpuHour","perHour","perDay","perMonth","window","total","gpuHours","quoted","freeNow","fits","buyNow","note"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/orders":{"post":{"operationId":"createOrder","tags":["Orders"],"summary":"Place an order (Buy now)","description":"Buy now on a listed pool: the GPUs are held for 12 hours in the same transaction as the order, or the order is refused with what is free. Nothing is charged: once the desk confirms, the supplier invoices the buyer directly. Requires an Idempotency-Key.","security":[{"apiKey":["orders:write"]}],"x-scope":"orders:write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderInput"},"example":{"listing":"6f1c2a9e-4b7d-4e2a-9c1f-2d3e4f5a6b7c","offer":"l40","gpus":8,"preset":"qwen3-30b","email":"ops@acme.ai","company":"Acme AI","terms":true}}}},"responses":{"201":{"description":"Place an order (Buy now)","content":{"application/json":{"schema":{"type":"object","properties":{"ref":{"type":"string"},"status":{"type":"string","const":"requested"},"listPrice":{"type":"number"},"statusUrl":{"type":"string","description":"The buyer's private status page. Shown once."},"hold":{"anyOf":[{"type":"object","properties":{"gpus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"expiresAt":{"type":"string","description":"ISO 8601, UTC."}},"required":["gpus","expiresAt"]},{"type":"null"}]}},"required":["ref","status","listPrice","statusUrl","hold"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"listOrders","tags":["Orders"],"summary":"The party's orders","description":"Orders placed with this party's keys, newest first.","security":[{"apiKey":["orders:read"]}],"x-scope":"orders:read","parameters":[{"name":"limit","in":"query","required":false,"description":"How many to return, 1 to 100.","schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"starting_after","in":"query","required":false,"description":"Return the items after this id: the nextCursor of the page before.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The party's orders","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"status":{"type":"string","enum":["requested","sent","invoiced","live","ended","declined","cancelled"]},"statusLabel":{"type":"string"},"statusText":{"type":"string","description":"What has happened and what happens next, in the buyer's words."},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"statusAt":{"type":"string","description":"ISO 8601, UTC."},"offer":{"type":"string"},"chip":{"type":"string"},"gpus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"listPrice":{"type":"number"},"agreedPrice":{"type":["number","null"]},"company":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"country":{"type":"string"},"review":{"type":"boolean"},"useCase":{"type":"string"},"startBy":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"months":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"endpoint":{"type":["string","null"]},"listingId":{"type":["string","null"]}},"required":["ref","status","statusLabel","statusText","createdAt","statusAt","offer","chip","gpus","listPrice","agreedPrice","company","name","email","country","review","useCase","startBy","months","endpoint","listingId"]}},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/orders/{ref}":{"get":{"operationId":"getOrder","tags":["Orders"],"summary":"One order","description":"Its status in the buyer's words, its hold and its history. Another party's order is a 404.","security":[{"apiKey":["orders:read"]}],"x-scope":"orders:read","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{4,32}$"}}],"responses":{"200":{"description":"One order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/rfqs":{"post":{"operationId":"createRfq","tags":["Requests"],"summary":"Publish a request for quotes","description":"The same request the /rfq form publishes: suppliers quote on its public link, and the replies are this party's alone. The owner key in the answer opens the replies page in a browser; the API needs only the API key. Requires an Idempotency-Key.","security":[{"apiKey":["rfqs:write"]}],"x-scope":"rfqs:write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RfqInput"},"example":{"spec":{"kind":"compute","side":"BUY","gpu":"H100","gpusPerNode":8,"units":8,"gpus":64,"country":"US","termMonths":3,"priceMode":"R"}}}}},"responses":{"201":{"description":"Publish a request for quotes","content":{"application/json":{"schema":{"type":"object","properties":{"ref":{"type":"string"},"ownerKey":{"type":"string","description":"Opens the replies page in a browser. Shown once; the API itself needs only the API key."},"links":{"type":"object","properties":{"suppliers":{"type":"string"},"replies":{"type":"string"}},"required":["suppliers","replies"]}},"required":["ref","ownerKey","links"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/rfqs/{ref}":{"get":{"operationId":"getRfq","tags":["Requests"],"summary":"One request, with its replies for the owner","description":"Anyone with the scope reads the public request; the party that published it also gets the replies, ranked by the store, with suppliers named only once awarded.","security":[{"apiKey":["rfqs:read"]}],"x-scope":"rfqs:read","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{4,32}$"}}],"responses":{"200":{"description":"One request, with its replies for the owner","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Rfq"}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/rfqs/{ref}/awards":{"post":{"operationId":"createAward","tags":["Requests"],"summary":"Accept a quote","description":"Accept one firm quote; call again for more until the request is covered. Refused unless the quote can still be taken and both compliance packs exist. Requires an Idempotency-Key.","security":[{"apiKey":["rfqs:write"]}],"x-scope":"rfqs:write","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{4,32}$"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardInput"},"example":{"quoteId":42}}}},"responses":{"201":{"description":"Accept a quote","content":{"application/json":{"schema":{"type":"object","properties":{"ref":{"type":"string"},"quoteId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coveredPct":{"type":"number"},"full":{"type":"boolean","description":"The awards now cover the whole request, which closes it to new quotes."},"ownerPack":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hash":{"type":"string"}},"required":["id","hash"]},"supplierPack":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hash":{"type":"string"}},"required":["id","hash"]}},"required":["ref","quoteId","coveredPct","full","ownerPack","supplierPack"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"412":{"description":"precondition_failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/deals":{"post":{"operationId":"createDeal","tags":["Deals"],"summary":"Ask the desk for a long-term contract","description":"A Data-centre direct request (6 to 60 months from partner data centres). A named person replies the same business day; the room shows anonymous options within two business days. Requires an Idempotency-Key.","security":[{"apiKey":["deals:write"]}],"x-scope":"deals:write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealInput"},"example":{"job":"train","gpu":"B200","nodes":32,"termMonths":24,"region":"north_america","email":"infra@acme.ai","company":"Acme AI"}}}},"responses":{"201":{"description":"Ask the desk for a long-term contract","content":{"application/json":{"schema":{"type":"object","properties":{"ref":{"type":"string"},"state":{"type":"string"},"route":{"type":"object","properties":{"market":{"type":"string","enum":["desk","secondary"]},"suggest":{"type":["string","null"]},"reason":{"type":"string"},"estimateUsd":{"type":["number","null"]}},"required":["market","suggest","reason","estimateUsd"]},"next":{"type":"object","properties":{"title":{"type":"string"},"what":{"type":"string"},"typical":{"type":"string"},"dueAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]}},"required":["title","what","typical","dueAt"]},"roomUrl":{"type":"string","description":"The deal room in a browser. Shown once."},"emailedTo":{"type":"string"}},"required":["ref","state","route","next","roomUrl","emailedTo"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"listDeals","tags":["Deals"],"summary":"The party's long-term contract requests","security":[{"apiKey":["deals:read"]}],"x-scope":"deals:read","parameters":[{"name":"limit","in":"query","required":false,"description":"How many to return, 1 to 100.","schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"starting_after","in":"query","required":false,"description":"Return the items after this id: the nextCursor of the page before.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The party's long-term contract requests","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"state":{"type":"string"},"summary":{"type":"string"},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"dueAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]}},"required":["ref","state","summary","createdAt","dueAt"]}},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/deals/{ref}":{"get":{"operationId":"getDeal","tags":["Deals"],"summary":"One deal room, as the buyer sees it","description":"Its step, timeline, the anonymous options and the messages and documents for the buyer. Another party's deal is a 404.","security":[{"apiKey":["deals:read"]}],"x-scope":"deals:read","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{4,32}$"}}],"responses":{"200":{"description":"One deal room, as the buyer sees it","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Deal"}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/deals/{ref}/interest":{"post":{"operationId":"createDealInterest","tags":["Deals"],"summary":"Say you are interested in one anonymous option","description":"Starts the NDA step for that option: your NDA and the data centre's, each to sign by email code; then the desk passes names. Saying it twice changes nothing. There is no payment endpoint: the data centre invoices you directly. Requires an Idempotency-Key.","security":[{"apiKey":["deals:write"]}],"x-scope":"deals:write","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]{4,32}$"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealInterestInput"},"example":{"optionId":"6f1c2a9e-4b7d-4e2a-9c1f-2d3e4f5a6b7c"}}}},"responses":{"200":{"description":"Say you are interested in one anonymous option","content":{"application/json":{"schema":{"type":"object","properties":{"optionId":{"type":"string"},"already":{"type":"boolean","description":"Interest was already recorded; nothing changed."},"documents":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"signUrl":{"type":"string"},"sha256":{"type":"string"}},"required":["title","signUrl","sha256"]},"description":"Your NDA, to sign by email code."}},"required":["optionId","already","documents"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/allocations/{id}":{"get":{"operationId":"getAllocation","tags":["Delivery"],"summary":"One allocation","description":"Its state, history, certificates and access grants, for the buyer or the supplier behind it.","security":[{"apiKey":["delivery:read"]}],"x-scope":"delivery:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}}],"responses":{"200":{"description":"One allocation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Allocation"}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/certificates/{id}":{"get":{"operationId":"getCertificate","tags":["Delivery"],"summary":"One delivery certificate","description":"The signed acceptance-test result: every stage and its metrics, the hash chain and the Ed25519 signature.","security":[{"apiKey":["delivery:read"]}],"x-scope":"delivery:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}}],"responses":{"200":{"description":"One delivery certificate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Certificate"}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/events":{"get":{"operationId":"listEvents","tags":["Events"],"summary":"The party's events, oldest first","description":"Append-only, read forward with starting_after: every audit-chain row about this party or its orders, requests and deals, with who acted. Poll with the last nextCursor to see only what is new.","security":[{"apiKey":["events:read"]}],"x-scope":"events:read","parameters":[{"name":"limit","in":"query","required":false,"description":"How many, 1 to 200.","schema":{"default":50,"type":"integer","minimum":1,"maximum":200}},{"name":"starting_after","in":"query","required":false,"description":"Return the items after this id: the nextCursor of the page before.","schema":{"type":"string","maxLength":64}},{"name":"type","in":"query","required":false,"description":"Only this type, or a prefix ending in \".\" (\"rfq.\").","schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"The party's events, oldest first","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Event"}},"hasMore":{"type":"boolean"},"nextCursor":{"type":["string","null"]}},"required":["data","hasMore","nextCursor"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/webhook-endpoints":{"post":{"operationId":"createWebhookEndpoint","tags":["Webhooks"],"summary":"Add a webhook endpoint","description":"Every event this party could read at GET /events is also POSTed here, signed with the secret in the answer (shown once). https only, on a public address. At most 16 per party. Requires an Idempotency-Key.","security":[{"apiKey":["webhooks:write"]}],"x-scope":"webhooks:write","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointInput"},"example":{"url":"https://hooks.acme.ai/silicon-liquid","description":"Ops alerts","eventTypes":["order.","rfq."]}}}},"responses":{"201":{"description":"Add a webhook endpoint","content":{"application/json":{"schema":{"type":"object","properties":{"endpoint":{"$ref":"#/components/schemas/WebhookEndpoint"},"secret":{"description":"whsec_...: shown here once, when made or rotated. Null when the secret did not change.","type":["string","null"]}},"required":["endpoint","secret"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"listWebhookEndpoints","tags":["Webhooks"],"summary":"The party's webhook endpoints","description":"Each with its health: the last success and failure, failures in a row, and deliveries still to go. Never the secret.","security":[{"apiKey":["webhooks:read"]}],"x-scope":"webhooks:read","responses":{"200":{"description":"The party's webhook endpoints","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"}}},"required":["data"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/webhook-endpoints/{id}":{"post":{"operationId":"updateWebhookEndpoint","tags":["Webhooks"],"summary":"Change, disable or re-enable an endpoint, or rotate its secret","description":"Fields left out stay as they are. rotateSecret answers with the new secret, once; expirePreviousInHours keeps the old one signing alongside it for up to 72 hours so receivers can switch without dropping events. Requires an Idempotency-Key.","security":[{"apiKey":["webhooks:write"]}],"x-scope":"webhooks:write","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointChange"},"example":{"rotateSecret":true,"expirePreviousInHours":24}}}},"responses":{"200":{"description":"Change, disable or re-enable an endpoint, or rotate its secret","content":{"application/json":{"schema":{"type":"object","properties":{"endpoint":{"$ref":"#/components/schemas/WebhookEndpoint"},"secret":{"description":"whsec_...: shown here once, when made or rotated. Null when the secret did not change.","type":["string","null"]}},"required":["endpoint","secret"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"deleteWebhookEndpoint","tags":["Webhooks"],"summary":"Delete an endpoint","description":"It stops at once; deliveries still waiting to be sent to it are dropped. Its events stay in GET /events.","security":[{"apiKey":["webhooks:write"]}],"x-scope":"webhooks:write","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"}}],"responses":{"200":{"description":"Delete an endpoint","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"deleted":{"type":"boolean","const":true}},"required":["id","deleted"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/webhook-endpoints/{id}/test":{"post":{"operationId":"testWebhookEndpoint","tags":["Webhooks"],"summary":"Send a test event now","description":"A signed \"webhook_endpoint.test\" event, sent at once and answered with what the endpoint said. Never retried, and never counted toward the endpoint's failures.","security":[{"apiKey":["webhooks:write"]}],"x-scope":"webhooks:write","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"}},{"name":"Idempotency-Key","in":"header","required":false,"description":"A fresh UUID per request. Sending the same request again with the same key returns the first answer instead of acting twice (24 hours).","schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Send a test event now","content":{"application/json":{"schema":{"type":"object","properties":{"delivered":{"type":"boolean","description":"The endpoint answered 2xx within 10 seconds."},"status":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"ms":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error":{"type":["string","null"]},"delivery":{"$ref":"#/components/schemas/WebhookDelivery"}},"required":["delivered","status","ms","error","delivery"]}}}},"400":{"description":"invalid_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"authentication_required, invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"insufficient_scope, party_blocked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"idempotency_conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"internal_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"webhooks":{"event":{"post":{"operationId":"receiveEvent","tags":["Webhooks"],"summary":"An event, POSTed to each of the party's endpoints that wants its type","description":"Every delivery carries `SL-Signature: t=<unix seconds>,v1=<hex>`. v1 is the HMAC-SHA256, keyed with the endpoint's whole secret (whsec_ included), of the timestamp, a full stop and the raw request body exactly as received: `t + \".\" + body`.\n\nCompute it yourself and compare in constant time; accept the request when any v1 in the header matches (during a secret rotation with an overlap there are two).\n\nRefuse a t more than 5 minutes from your clock, so a captured request cannot be replayed later.\n\n`SL-Event-Id` is the event's id and is the same on every attempt: use it to drop repeats. `SL-Event-Type` is its type.\n\nAnswer 2xx within 10 seconds. Anything else, a redirect included, is retried: up to 8 attempts over about 24 hours. An endpoint that fails every attempt for three days is disabled.","parameters":[{"name":"SL-Signature","in":"header","required":true,"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of t.body>; two v1 values during a rotation overlap.","schema":{"type":"string"},"example":"t=1760870400,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd"},{"name":"SL-Event-Id","in":"header","required":true,"description":"The event's id: the same on every attempt.","schema":{"type":"string"},"example":"evt_1204"},{"name":"SL-Event-Type","in":"header","required":true,"description":"The event's type.","schema":{"type":"string"},"example":"order.created_via_api"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"}}}},"responses":{"200":{"description":"Received. Any 2xx will do; anything else, or no answer within 10 s, is retried."}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","enum":["invalid_request","authentication_required","invalid_api_key","insufficient_scope","party_blocked","not_found","method_not_allowed","conflict","precondition_failed","idempotency_conflict","rate_limited","internal_error","unavailable"]},"message":{"type":"string"},"issues":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"}},"required":["path","message"]}},"requestId":{"type":"string"}},"required":["type","message"]}},"required":["error"],"description":"Every error from /api/v1 has this shape."},"Sku":{"type":"object","properties":{"id":{"type":"string"},"chip":{"type":"string","description":"The catalog chip: \"h100\", \"l40\"."},"chipLabel":{"type":"string"},"gpusPerNode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"memGb":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"GPU memory per GPU, GB."},"interconnect":{"type":"string","description":"The fabric between servers: none, IB-NDR, IB-HDR, IB-XDR, RoCE."}},"required":["id","chip","chipLabel","gpusPerNode","memGb","interconnect"],"description":"The fungibility boundary: two servers of one SKU are interchangeable."},"Availability":{"type":"object","properties":{"listingId":{"type":"string"},"chip":{"type":"string"},"chipLabel":{"type":"string"},"kind":{"type":"string","enum":["pool","window"]},"unit":{"type":"string","enum":["gpus","servers"]},"gpusPerNode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"region":{"type":["string","null"]},"perGpuHour":{"type":["number","null"]},"freeNow":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"mostFree":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"weeks":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"free":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Free in every hour of the week (GPUs for a pool, servers for a window); null: not on offer that week."}},"required":["start","free"]}}},"required":["listingId","chip","chipLabel","kind","unit","gpusPerNode","region","perGpuHour","freeNow","mostFree","weeks"],"description":"What is free on one listing in each of the next eight weeks."},"Listing":{"type":"object","properties":{"id":{"type":"string","description":"The listing's uuid, or the offer id (\"l40\") for the built-in catalog."},"source":{"type":"string","enum":["listing","catalog"]},"kind":{"type":"string","enum":["pool","window"]},"sku":{"$ref":"#/components/schemas/Sku"},"region":{"type":["string","null"]},"perGpuHour":{"description":"What the buyer pays, $ per GPU-hour; null: priced on request.","type":["number","null"]},"currency":{"type":"string"},"capacity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Pools: GPUs at once. Windows: whole servers."},"minBlock":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"startAt":{"type":"string","description":"ISO 8601, UTC."},"endAt":{"type":"string","description":"ISO 8601, UTC."},"deliveryClass":{"type":"string","enum":["M","C","B","D","A","E"]},"evidence":{"type":"string","enum":["declared","profiled","reporting","steady","certified","delivered","attested","deverified"]},"state":{"type":"string","enum":["draft","claimed","profiled","listed","partly_booked","booked","expired","withdrawn"]},"offer":{"description":"The order form this pool is bought through (POST /orders offer), or null.","type":["string","null"]},"weeks":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"free":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Free in every hour of the week (GPUs for a pool, servers for a window); null: not on offer that week."}},"required":["start","free"]},"description":"The next eight weeks, week 0 starting today 00:00 UTC."}},"required":["id","source","kind","sku","region","perGpuHour","currency","capacity","minBlock","startAt","endAt","deliveryClass","evidence","state","offer","weeks"],"description":"Something on sale. Never the supplier, never its floor."},"PriceRow":{"type":"object","properties":{"chip":{"type":"string"},"label":{"type":"string"},"onDemand":{"anyOf":[{"$ref":"#/components/schemas/Stat"},{"type":"null"}]},"spot":{"anyOf":[{"$ref":"#/components/schemas/Stat"},{"type":"null"}]},"reserved":{"anyOf":[{"$ref":"#/components/schemas/Stat"},{"type":"null"}]},"openMarket":{"anyOf":[{"$ref":"#/components/schemas/Stat"},{"type":"null"}]},"change1d":{"anyOf":[{"type":"object","properties":{"change":{"type":"number"},"providers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["change","providers"]},{"type":"null"}]},"change7d":{"anyOf":[{"type":"object","properties":{"change":{"type":"number"},"providers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["change","providers"]},{"type":"null"}]},"spark":{"type":"array","items":{"type":"number"}}},"required":["chip","label","onDemand","spot","reserved","openMarket","change1d","change7d","spark"],"description":"One chip on the public price reference."},"Stat":{"type":"object","properties":{"providers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"median":{"type":"number","description":"Median of provider medians, $ per GPU-hour."},"low":{"type":"number"},"lowProvider":{"type":"string"},"high":{"type":"number"},"highProvider":{"type":"string"}},"required":["providers","offers","median","low","lowProvider","high","highProvider"]},"Package":{"type":"object","properties":{"what":{"type":"string"},"detail":{"type":"string"},"why":{"type":"string"},"chip":{"type":"string"},"chipLabel":{"type":"string"},"gpus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nodes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"fabric":{"type":"boolean"},"termDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"lane":{"type":"string","enum":["buy_now","request_block","buy_direct"]},"laneLabel":{"type":"string"},"href":{"type":"string"},"action":{"type":"string"},"next":{"type":"string"},"price":{"anyOf":[{"type":"object","properties":{"perGpuHour":{"type":"number"},"monthly":{"type":"number"},"total":{"type":["number","null"]},"source":{"type":"string","enum":["listing","reference"]},"label":{"type":"string"}},"required":["perGpuHour","monthly","total","source","label"]},{"type":"null"}]},"priceNote":{"type":["string","null"]},"start":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"basis":{"type":"string","enum":["listing","typical","requested"]},"label":{"type":"string"}},"required":["date","basis","label"]}},"required":["what","detail","why","chip","chipLabel","gpus","nodes","fabric","termDays","lane","laneLabel","href","action","next","price","priceNote","start"],"description":"One package: what you get, the lane that buys it, a price and a start date."},"Answers":{"type":"object","properties":{"job":{"default":"serve","description":"What you want to do.","type":"string","enum":["serve","finetune","train","experiment","unsure"]},"size":{"default":{"by":"model","paramsB":8},"oneOf":[{"type":"object","properties":{"by":{"type":"string","const":"model"},"paramsB":{"type":"number","exclusiveMinimum":0,"maximum":10000,"description":"Billions of parameters."}},"required":["by","paramsB"],"additionalProperties":false},{"type":"object","properties":{"by":{"type":"string","const":"gpus"},"gpus":{"type":"integer","exclusiveMinimum":0,"maximum":100000}},"required":["by","gpus"],"additionalProperties":false},{"type":"object","properties":{"by":{"type":"string","const":"budget"},"usdPerMonth":{"type":"number","exclusiveMinimum":0,"maximum":1000000000}},"required":["by","usdPerMonth"],"additionalProperties":false},{"type":"object","properties":{"by":{"type":"string","const":"unsure"}},"required":["by"],"additionalProperties":false}]},"start":{"default":{"by":"now"},"oneOf":[{"type":"object","properties":{"by":{"type":"string","const":"now"}},"required":["by"],"additionalProperties":false},{"type":"object","properties":{"by":{"type":"string","const":"date"},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["by","date"],"additionalProperties":false},{"type":"object","properties":{"by":{"type":"string","const":"unsure"}},"required":["by"],"additionalProperties":false}]},"term":{"default":"unsure","type":"string","enum":["days","weeks","months","year","years","unsure"]}},"additionalProperties":false,"description":"The three questions: what for, how big, and when and for how long. Every field has a default."},"Window":{"type":"object","properties":{"startAt":{"type":"string","description":"ISO 8601, UTC."},"endAt":{"type":"string","description":"ISO 8601, UTC."},"hours":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["startAt","endAt","hours"],"description":"A span of whole hours, on the hour grid."},"OrderInput":{"type":"object","properties":{"offer":{"type":"string","maxLength":40},"gpus":{"anyOf":[{"type":"number"},{"type":"string","maxLength":12}]},"preset":{"type":"string","maxLength":40},"model":{"type":"string","maxLength":400},"image":{"type":"string","maxLength":400},"email":{"type":"string","maxLength":254},"company":{"type":"string","maxLength":400},"name":{"type":"string","maxLength":400},"country":{"type":"string","maxLength":2},"useCase":{"type":"string","maxLength":1500},"terms":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"listing":{"description":"The listed pool to take the GPUs from (Buy now). Left out: the built-in catalog.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"additionalProperties":false,"description":"The /gpus order form's fields: offer, gpus, preset, email, company and terms: true. Nothing is charged: the supplier invoices."},"Order":{"type":"object","properties":{"ref":{"type":"string"},"status":{"type":"string","enum":["requested","sent","invoiced","live","ended","declined","cancelled"]},"statusLabel":{"type":"string"},"statusText":{"type":"string","description":"What has happened and what happens next, in the buyer's words."},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"statusAt":{"type":"string","description":"ISO 8601, UTC."},"offer":{"type":"string"},"chip":{"type":"string"},"gpus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"listPrice":{"type":"number"},"agreedPrice":{"type":["number","null"]},"workload":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"company":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"country":{"type":"string"},"review":{"type":"boolean"},"useCase":{"type":"string"},"startBy":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"months":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"endpoint":{"type":["string","null"]},"listingId":{"type":["string","null"]},"hold":{"anyOf":[{"type":"object","properties":{"state":{"type":"string"},"gpus":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"expiresAt":{"type":"string","description":"ISO 8601, UTC."}},"required":["state","gpus","expiresAt"]},{"type":"null"}]},"events":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","description":"ISO 8601, UTC."},"status":{"anyOf":[{"type":"string","enum":["requested","sent","invoiced","live","ended","declined","cancelled"]},{"type":"null"}]},"note":{"type":["string","null"]}},"required":["at","status","note"]}}},"required":["ref","status","statusLabel","statusText","createdAt","statusAt","offer","chip","gpus","listPrice","agreedPrice","workload","company","name","email","country","review","useCase","startBy","months","endpoint","listingId","hold","events"],"description":"A GPU order, as its buyer sees it."},"RfqInput":{"type":"object","properties":{"spec":{"type":"object","properties":{"v":{"default":1,"type":"integer","minimum":0,"maximum":1000},"kind":{"default":"compute","type":"string","enum":["compute","servers"]},"side":{"default":"BUY","type":"string","enum":["BUY","SELL"]},"gpu":{"default":"","type":"string","maxLength":400},"gpusPerNode":{"default":8,"type":"integer","minimum":0,"maximum":1000},"units":{"default":0,"type":"integer","minimum":0,"maximum":100000},"gpus":{"default":0,"type":"integer","minimum":0,"maximum":100000},"interconnect":{"default":"","type":"string","enum":["","I","H","E","N","X"]},"contiguity":{"default":"1","type":"string","enum":["1","S","P"]},"country":{"default":"","type":"string","maxLength":400},"state":{"default":"","type":"string","maxLength":400},"termMonths":{"default":0,"type":"number","minimum":0,"maximum":1200},"priceMode":{"default":"R","type":"string","enum":["F","C","R"]},"price":{"default":0,"type":"number","minimum":0,"maximum":100000},"curve":{"default":[],"maxItems":12,"type":"array","items":{"type":"object","properties":{"months":{"type":"number","minimum":0,"maximum":1200},"price":{"type":"number","minimum":0,"maximum":100000}},"required":["months","price"]}},"startDate":{"default":"","type":"string"},"startHard":{"default":false,"type":"boolean"},"storage":{"default":"F","type":"string","enum":["F","B","D"]},"depositPct":{"default":30,"type":"number","minimum":0,"maximum":100},"prepay":{"default":"M","type":"string","enum":["M","Q","F","A"]},"accessDays":{"default":2,"type":"number","minimum":0,"maximum":365},"quoteWindowHours":{"default":72,"type":"number"},"note":{"default":"","type":"string","maxLength":1500},"email":{"default":"","type":"string"},"issuedBy":{"default":"","type":"string","maxLength":400},"issuedOn":{"default":"","type":"string"},"condition":{"default":"new","type":"string","enum":["new","used"]},"unitPrice":{"default":0,"type":"number","minimum":0,"maximum":1000000000},"serverQty":{"default":0,"type":"integer","minimum":0,"maximum":100000},"deliverBy":{"default":"","type":"string"},"nodesMin":{"default":0,"type":"integer","minimum":0,"maximum":100000},"ibRails":{"default":0,"type":"integer","minimum":0,"maximum":64},"ibOversub":{"default":0,"type":"number"},"startLatest":{"default":"","type":"string"},"residency":{"default":"","type":"string","enum":["","K","EU","US"]},"delivery":{"default":"","type":"string","enum":["","A","C","B","M"]},"storageTb":{"default":0,"type":"number","minimum":0,"maximum":1000000},"storageType":{"default":"","type":"string","enum":["","P","N","F","O"]},"storageGbps":{"default":0,"type":"number","minimum":0,"maximum":100000},"security":{"maxItems":5,"type":"array","items":{"type":"string","enum":["S2","IS","HI","DT","CC"]}},"indicative":{"default":false,"type":"boolean"},"flexDays":{"default":0,"type":"integer","minimum":0,"maximum":90},"altGpu":{"default":"","type":"string","maxLength":40},"flexPricePct":{"default":0,"type":"number","minimum":0,"maximum":100},"flexSplit":{"default":false,"type":"boolean"},"broadcast":{"default":false,"type":"boolean"}}},"ownerEmail":{"type":"string"}},"required":["spec"],"additionalProperties":false,"description":"A request: its terms (spec) and, optionally, where to email its private link."},"Rfq":{"type":"object","properties":{"ref":{"type":"string"},"spec":{"type":"object","properties":{"v":{"default":1,"type":"integer","minimum":0,"maximum":1000},"kind":{"default":"compute","type":"string","enum":["compute","servers"]},"side":{"default":"BUY","type":"string","enum":["BUY","SELL"]},"gpu":{"default":"","type":"string","maxLength":400},"gpusPerNode":{"default":8,"type":"integer","minimum":0,"maximum":1000},"units":{"default":0,"type":"integer","minimum":0,"maximum":100000},"gpus":{"default":0,"type":"integer","minimum":0,"maximum":100000},"interconnect":{"default":"","type":"string","enum":["","I","H","E","N","X"]},"contiguity":{"default":"1","type":"string","enum":["1","S","P"]},"country":{"default":"","type":"string","maxLength":400},"state":{"default":"","type":"string","maxLength":400},"termMonths":{"default":0,"type":"number","minimum":0,"maximum":1200},"priceMode":{"default":"R","type":"string","enum":["F","C","R"]},"price":{"default":0,"type":"number","minimum":0,"maximum":100000},"curve":{"default":[],"maxItems":12,"type":"array","items":{"type":"object","properties":{"months":{"type":"number","minimum":0,"maximum":1200},"price":{"type":"number","minimum":0,"maximum":100000}},"required":["months","price"]}},"startDate":{"default":"","type":"string"},"startHard":{"default":false,"type":"boolean"},"storage":{"default":"F","type":"string","enum":["F","B","D"]},"depositPct":{"default":30,"type":"number","minimum":0,"maximum":100},"prepay":{"default":"M","type":"string","enum":["M","Q","F","A"]},"accessDays":{"default":2,"type":"number","minimum":0,"maximum":365},"quoteWindowHours":{"default":72,"type":"number"},"note":{"default":"","type":"string","maxLength":1500},"email":{"default":"","type":"string"},"issuedBy":{"default":"","type":"string","maxLength":400},"issuedOn":{"default":"","type":"string"},"condition":{"default":"new","type":"string","enum":["new","used"]},"unitPrice":{"default":0,"type":"number","minimum":0,"maximum":1000000000},"serverQty":{"default":0,"type":"integer","minimum":0,"maximum":100000},"deliverBy":{"default":"","type":"string"},"nodesMin":{"default":0,"type":"integer","minimum":0,"maximum":100000},"ibRails":{"default":0,"type":"integer","minimum":0,"maximum":64},"ibOversub":{"default":0,"type":"number"},"startLatest":{"default":"","type":"string"},"residency":{"default":"","type":"string","enum":["","K","EU","US"]},"delivery":{"default":"","type":"string","enum":["","A","C","B","M"]},"storageTb":{"default":0,"type":"number","minimum":0,"maximum":1000000},"storageType":{"default":"","type":"string","enum":["","P","N","F","O"]},"storageGbps":{"default":0,"type":"number","minimum":0,"maximum":100000},"security":{"default":[]},"indicative":{"default":false,"type":"boolean"},"flexDays":{"default":0,"type":"integer","minimum":0,"maximum":90},"altGpu":{"default":"","type":"string","maxLength":40},"flexPricePct":{"default":0,"type":"number","minimum":0,"maximum":100},"flexSplit":{"default":false,"type":"boolean"},"broadcast":{"default":false,"type":"boolean"}},"required":["v","kind","side","gpu","gpusPerNode","units","gpus","interconnect","contiguity","country","state","termMonths","priceMode","price","curve","startDate","startHard","storage","depositPct","prepay","accessDays","quoteWindowHours","note","email","issuedBy","issuedOn","condition","unitPrice","serverQty","deliverBy","nodesMin","ibRails","ibOversub","startLatest","residency","delivery","storageTb","storageType","storageGbps","security","indicative","flexDays","altGpu","flexPricePct","flexSplit","broadcast"]},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"closedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"owner":{"type":"boolean","description":"Whether this key's party published it; only the owner sees replies."},"replies":{"anyOf":[{"type":"object","properties":{"quotes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"label":{"type":"string","description":"\"Supplier A\": names are shared on award."},"payload":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The quote's terms; the supplier's name, firm and email are blank until awarded."},"firm":{"type":"boolean"},"validUntil":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"withdrawnAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"supersededBy":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"awarded":{"type":"boolean"},"createdAt":{"type":"string","description":"ISO 8601, UTC."}},"required":["id","label","payload","firm","validUntil","withdrawnAt","supersededBy","awarded","createdAt"]}},"awards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"quoteId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"qty":{"type":"number"},"awardedAt":{"type":"string","description":"ISO 8601, UTC."}},"required":["id","quoteId","qty","awardedAt"]}},"coverage":{"type":"object","properties":{"asked":{"type":"number"},"awarded":{"type":"number"},"pct":{"type":"number"}},"required":["asked","awarded","pct"]},"hold":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"quoteIds":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"heldUntil":{"type":"string","description":"ISO 8601, UTC."}},"required":["id","quoteIds","heldUntil"]},{"type":"null"}]},"threads":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"awarded":{"type":"boolean"},"email":{"type":["string","null"]}},"required":["label","awarded","email"]}}},"required":["quotes","awards","coverage","hold","threads"]},{"type":"null"}]}},"required":["ref","spec","createdAt","closedAt","owner","replies"],"description":"A request, with its replies for the party that published it."},"AwardInput":{"type":"object","properties":{"quoteId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["quoteId"],"additionalProperties":false,"description":"The quote to accept, by its id from GET /rfqs/{ref}."},"DealInput":{"type":"object","properties":{"job":{"type":"string","enum":["inference","fine_tune","train","experiments","not_sure"]},"size":{"type":"object","properties":{"band":{"type":"string","enum":["model_small","model_mid","model_large","gpus_8","gpus_16_64","gpus_64_512","gpus_512","not_sure"]},"detail":{"type":"string","maxLength":160}},"additionalProperties":false},"gpu":{"description":"A GPU model (\"H100\", \"B200\") or \"not_sure\".","type":"string","maxLength":40},"nodes":{"description":"Servers, or not_sure.","anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"string","const":"not_sure"}]},"start":{"description":"YYYY-MM-DD, or \"asap\".","type":"string","maxLength":10},"termMonths":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"string","const":"not_sure"}]},"region":{"type":"string","enum":["north_america","europe","india","asia_pacific","middle_east","anywhere"]},"note":{"type":"string","maxLength":1000},"email":{"type":"string","maxLength":160},"company":{"type":"string","maxLength":120},"name":{"type":"string","maxLength":80}},"required":["email","company"],"additionalProperties":false,"description":"A long-term contract request: the /direct form's three questions and six fields."},"Deal":{"type":"object","properties":{"ref":{"type":"string"},"state":{"type":"string"},"step":{"type":"object","properties":{"title":{"type":"string"},"who":{"type":"string"},"what":{"type":"string"},"typical":{"type":"string"}},"required":["title","who","what","typical"]},"nextAction":{"type":"string"},"dueAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"summary":{"type":"string"},"request":{"type":"array","items":{"type":"array","prefixItems":[{"type":"string"},{"type":"string"}],"items":false,"minItems":2,"maxItems":2}},"timeline":{"type":"array","items":{"type":"object","properties":{"state":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["done","current","next"]},"at":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]}},"required":["state","title","status","at"]}},"updates":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","description":"ISO 8601, UTC."},"title":{"type":"string"},"note":{"type":"string"}},"required":["at","title","note"]}},"optionsShown":{"type":"boolean"},"options":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"Anonymous until names are passed: region, tier, earliest date, price band, evidence."},"recommendedId":{"type":["string","null"]},"messages":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"documents":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description":"The NDA, the paper and the rest. One signed here by email code carries signPath (/sign/<id>) and how many have signed."},"tranches":{"type":"array","items":{"type":"object","properties":{"seq":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"option":{"type":"string"},"nodes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startDate":{"type":"string"},"state":{"type":"string","enum":["planned","allocated","certified","failed","billing","cancelled"]},"statePlain":{"type":"string"},"allocationId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Read it, and its certificates, at /allocations/{id} and /certificates/{id}."},"certificate":{"anyOf":[{"type":"object","properties":{"hash":{"type":"string"},"verdict":{"type":"string","enum":["pass","fail"]},"issuedAt":{"type":"string","description":"ISO 8601, UTC."},"acceptedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"deemed":{"type":"boolean"}},"required":["hash","verdict","issuedAt","acceptedAt","deemed"]},{"type":"null"}]},"billingStartAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}],"description":"The certificate's acceptance: the data centre invoices the tranche from here."},"recorded":{"type":"boolean"}},"required":["seq","option","nodes","startDate","state","statePlain","allocationId","certificate","billingStartAt","recorded"]},"description":"The signed contract's tranches, each with its own allocation and Delivery Certificate."}},"required":["ref","state","step","nextAction","dueAt","createdAt","summary","request","timeline","updates","optionsShown","options","recommendedId","messages","documents","tranches"],"description":"A long-term contract request's room, as its buyer sees it: its anonymous shortlist (options), documents and tranches."},"DealInterestInput":{"type":"object","properties":{"optionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["optionId"],"additionalProperties":false,"description":"I'm interested in this option: starts the NDA step for it."},"Allocation":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"role":{"type":"string","enum":["buyer","supplier"],"description":"Which side of it this key's party is on."},"state":{"type":"string"},"class":{"type":"string","description":"Handover class A to D."},"window":{"$ref":"#/components/schemas/Window"},"nodes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"price":{"type":["number","null"]},"rfqRef":{"type":["string","null"]},"acceptedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"deemedAcceptedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"events":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","description":"ISO 8601, UTC."},"from":{"type":["string","null"]},"to":{"type":"string"},"note":{"type":"string"}},"required":["at","from","to","note"]}},"certificates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["delivery","return"]},"verdict":{"type":"string","enum":["pass","fail"]},"hash":{"type":"string"},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"acceptedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]}},"required":["id","kind","verdict","hash","createdAt","acceptedAt"]}},"grants":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string"},"principal":{"type":"string"},"notBefore":{"type":"string","description":"ISO 8601, UTC."},"notAfter":{"type":"string","description":"ISO 8601, UTC."},"fingerprint":{"type":"string"},"revokedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]}},"required":["id","kind","principal","notBefore","notAfter","fingerprint","revokedAt"]}}},"required":["id","role","state","class","window","nodes","price","rfqRef","acceptedAt","deemedAcceptedAt","events","certificates","grants"],"description":"Capacity handed over for a window: its state, history, certificates and access grants (fingerprints, never secrets)."},"Certificate":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"allocationId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The allocation this certifies; null for a Class M (managed pool) certificate."},"kind":{"type":"string","enum":["delivery","return"]},"verdict":{"type":"string","enum":["pass","fail"]},"harnessVersion":{"type":"string"},"stages":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"pass":{"type":"boolean"},"metrics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"notes":{"type":"string"}},"required":["name","pass","metrics"]}},"signerKeyId":{"type":"string"},"hash":{"type":"string","description":"SHA-256 of the canonical certificate body."},"prevHash":{"type":["string","null"]},"signature":{"type":"string","description":"Ed25519 over the hash, by signerKeyId."},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"acceptedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]}},"required":["id","allocationId","kind","verdict","harnessVersion","stages","signerKeyId","hash","prevHash","signature","createdAt","acceptedAt"],"description":"A signed acceptance-test certificate for an allocation."},"Event":{"type":"object","properties":{"id":{"type":"string","description":"\"evt_\" and the audit sequence number."},"seq":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","description":"The thing and what happened to it: \"rfq.award\", \"api_key.create\"."},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"actor":{"type":"object","properties":{"type":{"type":"string"},"id":{"description":"Shown for this party's own keys; null for everyone else.","type":["string","null"]}},"required":["type","id"]},"object":{"type":"object","properties":{"kind":{"type":"string"},"id":{"type":"string"}},"required":["kind","id"]},"data":{},"hash":{"type":"string","description":"This row's link in the audit chain."},"prevHash":{"type":["string","null"]}},"required":["id","seq","type","createdAt","actor","object","data","hash","prevHash"],"description":"One row of the audit chain this key's party may see. Append-only."},"WebhookEndpoint":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"description":{"type":"string"},"eventTypes":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["enabled","disabled"]},"disabledAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"disabledReason":{"description":"Why: its owner, or the automatic cut-off after three days of failures.","type":["string","null"]},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"secretRotatedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"previousSecretExpiresAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}],"description":"While set, the old secret signs too: SL-Signature carries two v1 values."},"health":{"type":"object","properties":{"lastSuccessAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"lastFailureAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"consecutiveFailures":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failingSince":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"pending":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Deliveries still to be sent or retried."}},"required":["lastSuccessAt","lastFailureAt","consecutiveFailures","failingSince","pending"]}},"required":["id","url","description","eventTypes","status","disabledAt","disabledReason","createdAt","secretRotatedAt","previousSecretExpiresAt","health"],"description":"Where a party's events are POSTed."},"WebhookEndpointInput":{"type":"object","properties":{"url":{"type":"string","minLength":9,"maxLength":2048,"description":"Where to POST events. https only, on a public address."},"description":{"type":"string","maxLength":200},"eventTypes":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":80},"description":"Event types to send: exact (\"rfq.award\") or a prefix ending in \".\" (\"order.\"). Empty or left out: every type."}},"required":["url"],"additionalProperties":false,"description":"A new webhook endpoint."},"WebhookEndpointChange":{"type":"object","properties":{"url":{"type":"string","minLength":9,"maxLength":2048},"description":{"type":"string","maxLength":200},"eventTypes":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":80},"description":"Event types to send: exact (\"rfq.award\") or a prefix ending in \".\" (\"order.\"). Empty or left out: every type."},"disabled":{"description":"true stops deliveries now; false turns the endpoint back on and clears its failure count.","type":"boolean"},"rotateSecret":{"description":"Replace the signing secret. The new one is in the answer, once.","type":"boolean"},"expirePreviousInHours":{"description":"With rotateSecret: keep signing with the old secret too for this long (0, the default: it stops at once).","type":"number","minimum":0,"maximum":72}},"additionalProperties":false,"description":"What to change on an endpoint. Fields left out stay as they are."},"WebhookDelivery":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"eventId":{"type":"string"},"type":{"type":"string"},"test":{"type":"boolean"},"createdAt":{"type":"string","description":"ISO 8601, UTC."},"attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lastStatus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"lastError":{"type":["string","null"]},"lastAttemptAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"nextAttemptAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"deliveredAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"failedAt":{"anyOf":[{"type":"string","description":"ISO 8601, UTC."},{"type":"null"}]},"state":{"type":"string","enum":["delivered","pending","failed"]}},"required":["id","eventId","type","test","createdAt","attempts","lastStatus","lastError","lastAttemptAt","nextAttemptAt","deliveredAt","failedAt","state"],"description":"One event sent to one endpoint, and how its attempts went."}},"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"sl_live_<prefix>_<secret>","description":"Scopes: orders:read (Read the party's GPU orders and estimate new ones); orders:write (Place GPU orders (Buy now, holding the GPUs)); rfqs:read (Read the party's requests, with their replies); rfqs:write (Publish requests and accept quotes); deals:read (Read the party's long-term contract requests); deals:write (Send long-term contract requests to the desk); delivery:read (Read the party's allocations and delivery certificates); events:read (Read the party's events feed); webhooks:read (List the party's webhook endpoints); webhooks:write (Add and remove webhook endpoints). A write scope includes the read scope of the same thing."}}}}