API reference
A complete OpenAPI 3.0 surface following the OpenAI-compatible request and response shapes. Streaming, function calling, structured JSON outputs and per-tier rate limits included.
Try it live
Try it live
Real requests against your account — usage is metered like any other call.
Streaming chat completion
Send a request to see the response.
curl -X POST https://api.novaserve.ai/v1/chat \
-H "Authorization: Bearer $NOVASERVE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.6-sol",
"messages": [
{
"role": "user",
"content": "Say hello in five words."
}
]
}'Quickstart
import json, os, requests
# Create a scoped key at /keys — it is shown once and hashed at rest.
KEY = os.environ["NOVASERVE_API_KEY"] # kg_live_...
with requests.post(
"https://api.novaserve.ai/v1/chat",
headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
json={"messages": [{"role": "user", "content": "Summarize our Q3 churn drivers."}]},
stream=True,
) as resp:
resp.raise_for_status() # 401 invalid key · 403 missing scope · 429 rate limited · 402 out of credits
for line in resp.iter_lines():
if line.startswith(b"data: "):
print(json.loads(line[6:]).get("delta", ""), end="")Endpoints
Expand any row to edit the request body and send a sandboxed call.
| Method | Endpoint | Try |
|---|---|---|
POST | /v1/chat/completions | |
POST | /v1/images/generations | |
POST | /v1/images/edits | |
POST | /v1/audio/transcriptions | |
POST | /v1/embeddings | |
POST | /v1/fine-tuning/jobs | |
GET | /v1/models | |
POST | /v1/files | |
POST | /v1/batches | |
POST | /v1/moderations |