{"openapi":"3.1.0","info":{"title":"Syzygy Gateway API","version":"1.0.0","description":"Syzygy's multi-provider, OpenAI-compatible inference gateway. Unmodified `openai` / `openai-node` clients work against it — point the client's base URL at this server and authenticate with a Syzygy API key. Endpoints extend the OpenAI surface with Syzygy fields (pricing/catalog metadata, `tags`, `metadata`, `trace`, response `provider`)."},"servers":[{"url":"https://inference.withsyzygy.com","description":"Production"}],"tags":[{"name":"Chat","description":"Chat Completions API."},{"name":"Responses","description":"Responses API (stateful, streaming, background)."},{"name":"Models","description":"Model catalog."},{"name":"System","description":"Health and readiness probes."}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"A Syzygy API key, sent as `Authorization: Bearer <key>`. (Internal service-to-service calls use a separate internal service key and are not documented here.)"}},"schemas":{"ChatCompletionRequest":{"type":"object","properties":{"model":{"type":"string"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ChatMessage"}},"temperature":{"type":"number","minimum":0,"maximum":2},"top_p":{"type":"number","minimum":0,"maximum":1},"max_tokens":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"max_completion_tokens":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"n":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"stop":{"anyOf":[{"type":"string"},{"maxItems":4,"type":"array","items":{"type":"string"}}]},"stream":{"type":"boolean"},"stream_options":{"type":"object","properties":{"include_usage":{"type":"boolean"}},"additionalProperties":false},"tools":{"type":"array","items":{"$ref":"#/components/schemas/Tool"}},"tool_choice":{"anyOf":[{"type":"string","enum":["auto","none","required"]},{"type":"object","properties":{"type":{"type":"string","const":"function"},"function":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false}]},"response_format":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"json_object"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"json_schema"},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"strict":{"type":"boolean"}},"required":["name","schema"],"additionalProperties":false}},"required":["type","json_schema"],"additionalProperties":false}]},"seed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"frequency_penalty":{"type":"number","minimum":-2,"maximum":2},"presence_penalty":{"type":"number","minimum":-2,"maximum":2},"logit_bias":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},"logprobs":{"type":"boolean"},"top_logprobs":{"type":"integer","minimum":0,"maximum":20},"user":{"type":"string"},"reasoning_effort":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"parallel_tool_calls":{"type":"boolean"},"service_tier":{"type":"string","enum":["auto","default","flex","priority"]},"performance_mode":{"type":"string","enum":["standard","fast"]},"store":{"type":"boolean"},"tags":{"maxItems":32,"type":"array","items":{"type":"string","maxLength":128}},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"trace":{"$ref":"#/components/schemas/TraceContext"}},"required":["model","messages"],"additionalProperties":{}},"ChatCompletionResponse":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"chat.completion"},"created":{"type":"number"},"model":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"function"},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}},"reasoning":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["role","content"],"additionalProperties":false},"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter"]},{"type":"null"}]},"logprobs":{"type":"null"}},"required":["index","message","finish_reason","logprobs"],"additionalProperties":false}},"usage":{"$ref":"#/components/schemas/Usage"},"provider":{"type":"string"},"warnings":{"type":"array","items":{"type":"string"}},"service_tier":{"anyOf":[{"type":"string","enum":["default","priority"]},{"type":"null"}]},"performance_mode":{"type":"string","enum":["standard","fast"]}},"required":["id","object","created","model","choices","usage"],"additionalProperties":false},"ChatCompletionChunk":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"chat.completion.chunk"},"created":{"type":"number"},"model":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"delta":{"type":"object","properties":{"role":{"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"function"},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}},"reasoning":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter"]},{"type":"null"}]}},"required":["index","delta","finish_reason"],"additionalProperties":false}},"usage":{"anyOf":[{"$ref":"#/components/schemas/Usage"},{"type":"null"}]},"provider":{"type":"string"},"service_tier":{"anyOf":[{"type":"string","enum":["default","priority"]},{"type":"null"}]},"performance_mode":{"type":"string","enum":["standard","fast"]}},"required":["id","object","created","model","choices"],"additionalProperties":false},"StoredChatCompletion":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"chat.completion"},"created":{"type":"number"},"model":{"type":"string"},"choices":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"message":{"type":"object","properties":{"role":{"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"function"},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}},"reasoning":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["role","content"],"additionalProperties":false},"finish_reason":{"anyOf":[{"type":"string","enum":["stop","length","tool_calls","content_filter"]},{"type":"null"}]},"logprobs":{"type":"null"}},"required":["index","message","finish_reason","logprobs"],"additionalProperties":false}},"usage":{"$ref":"#/components/schemas/Usage"},"provider":{"type":"string"},"warnings":{"type":"array","items":{"type":"string"}},"service_tier":{"anyOf":[{"type":"string","enum":["default","priority"]},{"type":"null"}]},"performance_mode":{"type":"string","enum":["standard","fast"]},"metadata":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]}},"required":["id","object","created","model","choices","usage"],"additionalProperties":false},"ChatCompletionList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/StoredChatCompletion"}},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["object","data","first_id","last_id","has_more"],"additionalProperties":false},"ChatCompletionMessageList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string"},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image_url"},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string"}},"required":["url"],"additionalProperties":false}},"required":["type","image_url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},{"type":"null"}]},"name":{"type":"string"},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"function"},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}},"tool_call_id":{"type":"string"}},"required":["id","role","content"],"additionalProperties":false}},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["object","data","first_id","last_id","has_more"],"additionalProperties":false},"ChatCompletionDeleted":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"chat.completion.deleted"},"deleted":{"type":"boolean","const":true}},"required":["id","object","deleted"],"additionalProperties":false},"ChatMessage":{"type":"object","properties":{"role":{"type":"string","enum":["system","user","assistant","tool","developer"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image_url"},"image_url":{"type":"object","properties":{"url":{"type":"string"},"detail":{"type":"string"}},"required":["url"],"additionalProperties":false}},"required":["type","image_url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}},{"type":"null"}]},"name":{"type":"string"},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"function"},"function":{"type":"object","properties":{"name":{"type":"string"},"arguments":{"type":"string"}},"required":["name","arguments"],"additionalProperties":false}},"required":["id","type","function"],"additionalProperties":false}},"tool_call_id":{"type":"string"}},"required":["role"],"additionalProperties":false},"Tool":{"type":"object","properties":{"type":{"type":"string","const":"function"},"function":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["name"],"additionalProperties":false}},"required":["type","function"],"additionalProperties":false},"Usage":{"type":"object","properties":{"prompt_tokens":{"type":"number"},"completion_tokens":{"type":"number"},"total_tokens":{"type":"number"},"prompt_tokens_details":{"type":"object","properties":{"cached_tokens":{"type":"number"},"audio_tokens":{"type":"number"}},"additionalProperties":false},"completion_tokens_details":{"type":"object","properties":{"reasoning_tokens":{"type":"number"},"audio_tokens":{"type":"number"}},"additionalProperties":false}},"required":["prompt_tokens","completion_tokens","total_tokens"],"additionalProperties":false},"ResponsesRequest":{"type":"object","properties":{"model":{"type":"string"},"input":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"message"},"role":{"type":"string","enum":["system","developer","user","assistant"]},"content":{"anyOf":[{"type":"string"},{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"input_text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"input_image"},"image_url":{"type":"string"},"detail":{"type":"string"},"file_id":{"type":"string"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]}},"required":["role","content"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}]}}]},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"max_output_tokens":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"temperature":{"anyOf":[{"type":"number","minimum":0,"maximum":2},{"type":"null"}]},"top_p":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"stream":{"type":"boolean"},"background":{"type":"boolean"},"store":{"type":"boolean"},"previous_response_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"reasoning":{"anyOf":[{"type":"object","properties":{"effort":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"summary":{"anyOf":[{"type":"string","enum":["auto","concise","detailed"]},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"text":{"type":"object","properties":{"format":{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}},"additionalProperties":false},"tools":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":{}}},"tool_choice":{},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"truncation":{"anyOf":[{"type":"string"},{"type":"null"}]},"user":{"type":"string"},"include":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"metadata":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"tags":{"maxItems":32,"type":"array","items":{"type":"string","maxLength":128}},"trace":{"$ref":"#/components/schemas/TraceContext"}},"required":["model","input"],"additionalProperties":{}},"ResponseObject":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"response"},"created_at":{"type":"number"},"status":{"type":"string","enum":["queued","in_progress","completed","failed","incomplete"]},"error":{"default":null,"anyOf":[{"type":"object","properties":{"code":{"anyOf":[{"type":"string"},{"type":"null"}]},"message":{"type":"string"}},"required":["message"],"additionalProperties":false},{"type":"null"}]},"incomplete_details":{"default":null,"anyOf":[{"type":"object","properties":{"reason":{"type":"string"}},"required":["reason"],"additionalProperties":false},{"type":"null"}]},"instructions":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"max_output_tokens":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}]},"model":{"type":"string"},"output":{"default":[],"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"message"},"id":{"type":"string"},"status":{"type":"string","enum":["in_progress","completed","incomplete"]},"role":{"type":"string","const":"assistant"},"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"output_text"},"text":{"type":"string"},"annotations":{"default":[],"type":"array","items":{}}},"required":["type","text","annotations"],"additionalProperties":false}}},"required":["type","id","status","role","content"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"reasoning"},"id":{"type":"string"},"summary":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"summary_text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false}}},"required":["type","id","summary"],"additionalProperties":false}]}},"parallel_tool_calls":{"default":true,"type":"boolean"},"previous_response_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"reasoning":{"default":null,"anyOf":[{"type":"object","properties":{"effort":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"]},"summary":{"anyOf":[{"type":"string","enum":["auto","concise","detailed"]},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"temperature":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}]},"top_p":{"default":null,"anyOf":[{"type":"number"},{"type":"null"}]},"text":{"type":"object","properties":{"format":{"type":"object","properties":{"type":{"type":"string"}},"required":["type"],"additionalProperties":false}},"required":["format"],"additionalProperties":false},"tool_choice":{},"tools":{"default":[],"type":"array","items":{}},"truncation":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"usage":{"default":null,"anyOf":[{"$ref":"#/components/schemas/ResponseUsage"},{"type":"null"}]},"metadata":{"default":{},"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"provider":{"type":"string"},"warnings":{"type":"array","items":{"type":"string"}}},"required":["id","object","created_at","status","error","incomplete_details","instructions","max_output_tokens","model","output","parallel_tool_calls","previous_response_id","reasoning","temperature","top_p","tools","truncation","usage","metadata"],"additionalProperties":false},"ResponseDeleted":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"response.deleted"},"deleted":{"type":"boolean","const":true}},"required":["id","object","deleted"],"additionalProperties":false},"ResponseUsage":{"type":"object","properties":{"input_tokens":{"type":"number"},"input_tokens_details":{"type":"object","properties":{"cached_tokens":{"type":"number"}},"additionalProperties":false},"output_tokens":{"type":"number"},"output_tokens_details":{"type":"object","properties":{"reasoning_tokens":{"type":"number"}},"additionalProperties":false},"total_tokens":{"type":"number"}},"required":["input_tokens","output_tokens","total_tokens"],"additionalProperties":false},"ModelListResponse":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ModelObject"}}},"required":["object","data"],"additionalProperties":false},"ModelObject":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","const":"model"},"created":{"type":"number"},"owned_by":{"type":"string"},"slug":{"type":"string"},"display_name":{"type":"string"},"provider":{"type":"string"},"author":{"type":"string"},"context_window":{"anyOf":[{"type":"number"},{"type":"null"}]},"max_output_tokens":{"anyOf":[{"type":"number"},{"type":"null"}]},"pricing":{"anyOf":[{"type":"object","properties":{"input":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"output":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"cache_read":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"cache_write":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"request":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"image":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"input_modalities":{"type":"array","items":{"type":"string"}},"output_modalities":{"type":"array","items":{"type":"string"}},"supported_parameters":{"type":"array","items":{"type":"string"}},"supported_apis":{"type":"array","items":{"type":"string"}},"reasoning":{"anyOf":[{"type":"object","properties":{"supported_efforts":{"type":"array","items":{"type":"string"}},"default_effort":{"anyOf":[{"type":"string"},{"type":"null"}]},"default_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"mandatory":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["supported_efforts"],"additionalProperties":false},{"type":"null"}]},"performance":{"anyOf":[{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"base"},"default_mode":{"type":"string","const":"standard"},"fast":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"model_variant"},"target_slug":{"type":"string","minLength":1},"pricing":{"type":"object","properties":{"input":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"output":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"cache_read":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"cache_write":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"request":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"image":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"additionalProperties":false},"supported_parameters":{"type":"array","items":{"type":"string"}}},"required":["strategy","target_slug","pricing"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"service_tier"},"service_tier":{"type":"string","const":"priority"},"pricing":{"type":"object","properties":{"input":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"output":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"cache_read":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"cache_write":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"request":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"image":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"additionalProperties":false},"supported_parameters":{"type":"array","items":{"type":"string"}}},"required":["strategy","service_tier","pricing"],"additionalProperties":false}]}},"required":["kind","default_mode"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"variant"},"mode":{"type":"string","const":"fast"},"variant_of":{"type":"string","minLength":1}},"required":["kind","mode","variant_of"],"additionalProperties":false}]},{"type":"null"}]}},"required":["id","object","created","owned_by","slug"],"additionalProperties":false},"TraceContext":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"span_id":{"type":"string","minLength":1,"maxLength":256},"parent_span_id":{"type":"string","minLength":1,"maxLength":256},"name":{"type":"string","maxLength":256},"source":{"type":"string","maxLength":256},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["id"],"additionalProperties":false},"ErrorBody":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"param":{"anyOf":[{"type":"string"},{"type":"null"}]},"code":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["message","type"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}},"paths":{"/v1/models":{"get":{"operationId":"listModels","tags":["Models"],"summary":"List available models","description":"List the enabled catalog models. Returns the OpenAI list shape with Syzygy extensions (pricing, context window, modalities, supported parameters/APIs).","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"The model catalog.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelListResponse"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limit exceeded for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/chat/completions":{"post":{"operationId":"createChatCompletion","tags":["Chat"],"summary":"Create a chat completion","description":"OpenAI-compatible chat completion (streaming and non-streaming). With `stream: true` the response is a `text/event-stream` of `chat.completion.chunk` frames terminated by `data: [DONE]`. With `store: true` (default false) the completion is persisted and retrievable via the GET endpoints below. Syzygy extensions: `tags`, `metadata`, `trace`, and a `provider` field on the response.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}}},"responses":{"200":{"description":"A chat completion. JSON when `stream` is false; an SSE stream of chunks when `stream` is true.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}},"text/event-stream":{"schema":{"$ref":"#/components/schemas/ChatCompletionChunk"}}}},"400":{"description":"Invalid request (failed validation or unsupported parameter).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"402":{"description":"Insufficient balance or billing not configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"403":{"description":"API key has no associated organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"Model not found in the catalog.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limit exceeded for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Upstream provider error or missing provider key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"A required dependency was unavailable (fail-closed).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"get":{"operationId":"listChatCompletions","tags":["Chat"],"summary":"List stored chat completions","description":"List chat completions created with `store: true`, scoped to the caller's organization. Cursor-paginated by creation time; filter by `model` and `metadata`.","security":[{"bearerAuth":[]}],"parameters":[{"name":"model","in":"query","required":false,"description":"Filter by the model used to generate the completions.","schema":{"type":"string"}},{"name":"metadata","in":"query","required":false,"description":"Filter by metadata key/value pairs, e.g. `metadata[key]=value` (repeatable; ANDed).","style":"deepObject","explode":true,"schema":{"type":"object","additionalProperties":{"type":"string"}}},{"name":"after","in":"query","required":false,"description":"A cursor: the id of the last completion from the previous page. Results start strictly after it.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Number of completions to return (1–100, default 20).","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"order","in":"query","required":false,"description":"Sort by creation time: `asc` (default) or `desc`.","schema":{"type":"string","enum":["asc","desc"],"default":"asc"}}],"responses":{"200":{"description":"A cursor page of stored chat completions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionList"}}}},"400":{"description":"Invalid request (failed validation or unsupported parameter).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limit exceeded for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/chat/completions/{completion_id}":{"get":{"operationId":"getChatCompletion","tags":["Chat"],"summary":"Retrieve a stored chat completion","description":"Retrieve a chat completion created with `store: true`, by id, scoped to the caller's organization.","security":[{"bearerAuth":[]}],"parameters":[{"name":"completion_id","in":"path","required":true,"description":"The chat completion id (e.g. `chatcmpl-...`).","schema":{"type":"string"}}],"responses":{"200":{"description":"The stored chat completion.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredChatCompletion"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"No chat completion found with that id (or not owned by the caller).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"post":{"operationId":"updateChatCompletion","tags":["Chat"],"summary":"Update a stored chat completion","description":"Update the `metadata` of a stored chat completion. Only `metadata` may be changed.","security":[{"bearerAuth":[]}],"parameters":[{"name":"completion_id","in":"path","required":true,"description":"The chat completion id (e.g. `chatcmpl-...`).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"metadata":{"type":"object"}},"required":["metadata"]}}}},"responses":{"200":{"description":"The updated stored chat completion.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredChatCompletion"}}}},"400":{"description":"Invalid request (failed validation or unsupported parameter).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"No chat completion found with that id (or not owned by the caller).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limit exceeded for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"delete":{"operationId":"deleteChatCompletion","tags":["Chat"],"summary":"Delete a stored chat completion","description":"Delete a stored chat completion by id, scoped to the caller's organization.","security":[{"bearerAuth":[]}],"parameters":[{"name":"completion_id","in":"path","required":true,"description":"The chat completion id (e.g. `chatcmpl-...`).","schema":{"type":"string"}}],"responses":{"200":{"description":"Deletion confirmation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionDeleted"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"No chat completion found with that id (or not owned by the caller).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/chat/completions/{completion_id}/messages":{"get":{"operationId":"getChatCompletionMessages","tags":["Chat"],"summary":"List the input messages of a stored chat completion","description":"List the messages of a stored chat completion (the request `messages`), scoped to the caller's organization. Cursor-paginated.","security":[{"bearerAuth":[]}],"parameters":[{"name":"completion_id","in":"path","required":true,"description":"The chat completion id (e.g. `chatcmpl-...`).","schema":{"type":"string"}},{"name":"after","in":"query","required":false,"description":"A cursor: the id of the last message from the previous page.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Number of messages to return (1–100, default 20).","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"order","in":"query","required":false,"description":"Sort order: `asc` (default) or `desc`.","schema":{"type":"string","enum":["asc","desc"],"default":"asc"}}],"responses":{"200":{"description":"A cursor page of the completion's input messages.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionMessageList"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"No chat completion found with that id (or not owned by the caller).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/responses":{"post":{"operationId":"createResponse","tags":["Responses"],"summary":"Create a response","description":"OpenAI Responses API. Supports non-streaming and streaming (the `response.created` → `response.output_text.delta` → `response.completed` event taxonomy), stateful storage (`store`, `previous_response_id` chaining), and `background: true` async runs (returns `status: \"queued\"` immediately; poll or reconnect via `GET /v1/responses/{id}`). Managed `tools` are not yet supported — a non-empty `tools` list is rejected.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponsesRequest"}}}},"responses":{"200":{"description":"A response object. JSON when `stream` is false; an SSE event stream when `stream` is true. With `background: true`, a `queued` response object is returned immediately.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseObject"}},"text/event-stream":{"schema":{"$ref":"#/components/schemas/ResponseObject"}}}},"400":{"description":"Invalid request (failed validation or unsupported parameter).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"402":{"description":"Insufficient balance or billing not configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"403":{"description":"API key has no associated organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"Model not found in the catalog.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limit exceeded for the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"502":{"description":"Upstream provider error or missing provider key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"503":{"description":"A required dependency was unavailable (fail-closed).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/responses/{id}":{"get":{"operationId":"getResponse","tags":["Responses"],"summary":"Retrieve a response","description":"Retrieve a stored response by id, scoped to the caller's organization. With `?stream=true`, replay/tail the run as Server-Sent Events.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"The response id (e.g. `resp_...`).","schema":{"type":"string"}},{"name":"stream","in":"query","required":false,"description":"When `true` (or `1`), replay/tail the stored response as Server-Sent Events instead of returning JSON.","schema":{"type":"string","enum":["true","1"]}}],"responses":{"200":{"description":"The stored response (JSON), or an SSE replay when `stream` is set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseObject"}},"text/event-stream":{"schema":{"$ref":"#/components/schemas/ResponseObject"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"No response found with that id (or not owned by the caller).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}},"delete":{"operationId":"deleteResponse","tags":["Responses"],"summary":"Delete a response","description":"Delete a stored response by id, scoped to the caller's organization.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"The response id (e.g. `resp_...`).","schema":{"type":"string"}}],"responses":{"200":{"description":"Deletion confirmation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDeleted"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"No response found with that id (or not owned by the caller).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/v1/responses/{id}/cancel":{"post":{"operationId":"cancelResponse","tags":["Responses"],"summary":"Cancel a background response","description":"Cooperatively cancel a queued or in-progress background run. Returns the response object with `status: \"incomplete\"`.","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"The response id (e.g. `resp_...`).","schema":{"type":"string"}}],"responses":{"200":{"description":"The cancelled response object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseObject"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"No response found with that id (or not owned by the caller).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/healthz":{"get":{"operationId":"healthz","tags":["System"],"summary":"Liveness probe","description":"Liveness check with no external dependencies.","responses":{"200":{"description":"The service is alive.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"]}}}}}}},"/readyz":{"get":{"operationId":"readyz","tags":["System"],"summary":"Readiness probe","description":"Readiness check that reports dependency (Redis) health without failing liveness.","responses":{"200":{"description":"The service is ready.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"redis":{"type":"string","enum":["up","down","unconfigured"]}},"required":["ok"]}}}},"503":{"description":"A dependency is unhealthy.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"redis":{"type":"string"},"error":{"type":"string"}},"required":["ok"]}}}}}}}}}