Chat completions
POST /v1/chat/completions mirrors the OpenAI Chat Completions API: the
same model, messages, temperature, max_tokens, tools,
tool_choice, and stream fields are accepted. Unknown fields are
forwarded transparently upstream.
Every response carries Sable-specific headers:
x-sable-node— the Sable node that served the requestx-sable-region— the region it executed inx-sable-privacy-tier— the tier it executed underx-sable-receipt,x-sable-receipt-sig,x-sable-receipt-signer— the signed, metadata-only receipt (streaming responses emit it as a trailingsable.receiptSSE event instead, since headers are already flushed)
Sable extensions
Two additional body fields are accepted:
sable_privacy_tier— overrides the tier inherited from the API key for that single call. See Privacy tiers.sable_region— pins the request to a region. See Region pinning.