Jatevo
Early access

API

The gateway address is https://jatevo.ai. Use your individual team key; provider credentials stay on the server. Team mode is on by default.

Request formats

FormatPathConnection support
OpenAI ChatPOST /v1/chat/completionsCompatible APIs, GLM, DeepSeek and configured engines
ResponsesPOST /v1/responsesCompatible APIs and configured engines
Anthropic MessagesPOST /v1/messagesClaude API and compatible engines
Anthropic token countPOST /v1/messages/count_tokensClaude API and compatible engines
GeminiPOST /v1beta/models/<provider/model>:generateContentGemini API and compatible engines
Gemini streamingPOST /v1beta/models/<provider/model>:streamGenerateContentGemini API and compatible engines
ModelsGET /v1/modelsCatalog filtered by member and key permissions

Send Authorization: Bearer <key>, x-api-key: <key>, or x-goog-api-key: <key>. Query-string credentials are refused. A provider name does not imply every format is supported; unsupported combinations return a clear error.

Models and routing

Public model IDs are provider/model, such as the exact IDs shown in Connections and Set up a tool. The /v1/models catalog includes wires metadata listing each model's supported protocols. The gateway validates permissions against the resolved provider and model, then sends the original model ID to that connection. When a bare model name appears on multiple providers, the gateway refuses it as ambiguous.

Several enabled connections for the same provider/model rotate on successive requests. No implicit retry or cross-provider fallback occurs. Disable a connection to remove it from selection. An adapter endpoint must serve only its declared provider so the namespace remains meaningful.

Limits

The effective permission is the intersection of the member policy and key policy. Revocation, expiry, suspension, provider/model permission, daily allowance, RPM, concurrency and maximum output are checked before dispatch. Additional keys consume the same member allowance.

Admission reserves a conservative input estimate plus a capped output allowance atomically. Missing usage or interrupted streams retain their reservation as a charge. Measured provider usage replaces estimates when available. Provider-reported usage can exceed an estimate, so this is not a guaranteed vendor billing ceiling. Finite token allowances currently require self-contained text requests; remote media and server-stored conversation references are refused. See team gateway.

Streaming

Chat, Responses and Messages use stream: true. Gemini uses :streamGenerateContent. Responses are streamed with backpressure and usage is settled at completion. Client cancellation aborts the upstream request and retains conservative accounting when final usage is unavailable. Persistent WebSocket inference is currently refused; use HTTP/SSE.

Errors

StatusMeaning
400Invalid input, ambiguous model, unsupported format, or unsupported bounded-usage input
401Missing, invalid, rotated, revoked or expired key
403Disabled member or denied provider/model/output policy
404Unknown model or route
413Request exceeds the gateway body limit
429Token reservation, request-rate or concurrency limit reached
502 / 504Upstream connection failed or timed out

Provider errors preserve the provider's status when a response is received. The gateway's own errors include a message and machine-readable code. Prompt and answer bodies are not stored in the usage history.

Usage

Usage shows the member's own request records; administrators can inspect team totals. Each record carries key, provider, model, timestamps, status, token usage and whether usage was measured or charged conservatively. Historical 0.1 engine records remain separate from gateway requests to avoid double counting during migration.

At /app/usage, select Today, a rolling 24 hours, or 7, 14, 30 or 60 UTC calendar days (including today). The default is 14 days. The key filter and clickable provider nodes apply to totals, charts, the routing map and request details together. The map shows recorded activity, including failed and running requests, rather than provider health. Each member sees only their own traffic, including when filtering by a key.

Details show the newest 200 matching requests, with input, cached input, output, allowance charge, accounting source, HTTP status and duration. CSV exports the newest 1,000 matching records for the same period and filters. Cached input means cache reads already included in input tokens; it is never added again to the allowance charge. Missing breakdowns, including requests recorded before this feature, remain unknown. Aggregate totals disclose how many requests reported a value. Estimated cost is unavailable: the gateway does not yet store per-model pricing.

Cache reads come from the provider's usage metadata: OpenAI cached tokens, Claude cache reads, and Gemini usage metadata. Prompt and response contents are not retained for analytics.

This page as markdown · llms.txt