{"openapi":"3.1.2","info":{"title":"ONYX HUB Public Documentation API","version":"1.0.0","description":"Anonymous read-only access to five curated public ONYX HUB documents. No account, license, checkout or payment operations. Product listings remain the source for current pricing. Best-effort limit: 120 requests per minute per IP per Worker isolate; clients must respect HTTP 429 and Retry-After."},"servers":[{"url":"https://onyxhub.cc","description":"ONYX HUB production website"}],"security":[],"externalDocs":{"description":"Authentication, HTTP examples, errors and read-only MCP integration.","url":"https://onyxhub.cc/docs"},"paths":{"/api/public/pages":{"get":{"operationId":"getPublicPages","summary":"Read the complete five-document index; no pagination needed.","description":"the complete five-document index; no pagination needed.","parameters":[],"responses":{"200":{"description":"Public document response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageList"}}}},"404":{"description":"The document identifier or route does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Use GET or HEAD for this read-only endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"headers":{"Allow":{"schema":{"type":"string"},"description":"Permitted HTTP methods."}}},"429":{"description":"Best-effort per-isolate request limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"headers":{"Retry-After":{"schema":{"type":"integer","minimum":1},"description":"Seconds to wait before retrying."}}}}},"head":{"operationId":"headPublicPages","summary":"Inspect headers for the complete five-document index; no pagination needed.","description":"Return the same status and headers as GET, without a response body. the complete five-document index; no pagination needed.","parameters":[],"responses":{"200":{"description":"Public document response."},"404":{"description":"The document identifier or route does not exist; no body."},"405":{"description":"Use GET or HEAD for this read-only endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"headers":{"Allow":{"schema":{"type":"string"},"description":"Permitted HTTP methods."}}},"429":{"description":"Best-effort per-isolate request limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"headers":{"Retry-After":{"schema":{"type":"integer","minimum":1},"description":"Seconds to wait before retrying."}}}}}},"/api/public/pages/{page_id}":{"get":{"operationId":"getPublicPage","summary":"Read one existing public document and its Markdown representation.","description":"one existing public document and its Markdown representation.","parameters":[{"name":"page_id","in":"path","required":true,"description":"Use an identifier from the public document index.","schema":{"type":"string","enum":["home","docs","about","contact","privacy"]}}],"responses":{"200":{"description":"Public document response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPage"}}}},"404":{"description":"The document identifier or route does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"405":{"description":"Use GET or HEAD for this read-only endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"headers":{"Allow":{"schema":{"type":"string"},"description":"Permitted HTTP methods."}}},"429":{"description":"Best-effort per-isolate request limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"headers":{"Retry-After":{"schema":{"type":"integer","minimum":1},"description":"Seconds to wait before retrying."}}}}},"head":{"operationId":"headPublicPage","summary":"Inspect headers for one existing public document and its Markdown representation.","description":"Return the same status and headers as GET, without a response body. one existing public document and its Markdown representation.","parameters":[{"name":"page_id","in":"path","required":true,"description":"Use an identifier from the public document index.","schema":{"type":"string","enum":["home","docs","about","contact","privacy"]}}],"responses":{"200":{"description":"Public document response."},"404":{"description":"The document identifier or route does not exist; no body."},"405":{"description":"Use GET or HEAD for this read-only endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"headers":{"Allow":{"schema":{"type":"string"},"description":"Permitted HTTP methods."}}},"429":{"description":"Best-effort per-isolate request limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}},"headers":{"Retry-After":{"schema":{"type":"integer","minimum":1},"description":"Seconds to wait before retrying."}}}}}}},"components":{"schemas":{"PublicPage":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","enum":["home","docs","about","contact","privacy"],"description":"Identifier of one curated public document."},"title":{"type":"string","description":"Document title including the ONYX HUB brand."},"summary":{"type":"string","description":"Plain-text overview of the document."},"url":{"type":"string","format":"uri","description":"Canonical public HTML URL."},"markdown_url":{"type":"string","format":"uri","description":"Fixed Markdown representation URL."},"markdown":{"type":"string","description":"Full Markdown body of the public document, not account or order data."}},"required":["id","title","summary","url","markdown_url","markdown"]},"PageList":{"type":"object","additionalProperties":false,"required":["pages","total"],"properties":{"pages":{"type":"array","minItems":5,"maxItems":5,"description":"All five public documents, in stable order.","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","enum":["home","docs","about","contact","privacy"],"description":"Identifier of one curated public document."},"title":{"type":"string","description":"Document title including the ONYX HUB brand."},"summary":{"type":"string","description":"Plain-text overview of the document."},"url":{"type":"string","format":"uri","description":"Canonical public HTML URL."},"markdown_url":{"type":"string","format":"uri","description":"Fixed Markdown representation URL."}},"required":["id","title","summary","url","markdown_url"]}},"total":{"type":"integer","const":5,"description":"Number of documents in this fixed allowlist."}}},"ApiError":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","hint","docs_url"],"properties":{"code":{"type":"string","enum":["not_found","method_not_allowed","rate_limited"],"description":"Stable machine-readable error code."},"message":{"type":"string","description":"Human-readable explanation."},"hint":{"type":"string","description":"Action the caller can take to resolve the error."},"docs_url":{"type":"string","format":"uri","description":"Integration documentation URL."}}}}}}}}