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.

MethodEndpointTry
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