Skip to main content
Operayde
Talk to usGet a quote
/
API reference

Operayde Gateway API

OpenAPI 3.1.0 · v1.0.0

OpenAI-compatible chat completions, embeddings, and virtual-key management. Served by the appliance-resident gateway. Requests never leave the customer network unless the caller explicitly selects a cloud provider in their routing policy.

Base URLEnvironment
https://{appliance}.internal/v1Appliance, in-cluster
https://api.operayde.com/v1Hosted central endpoint (control-plane only)

chat

Chat completions

POST/chat/completionsCreate a chat completion

OpenAI-compatible chat completions. Routing decisions (local vs cloud, which model, which silicon) are made by the appliance based on the virtual key's policy.

Request body (required) · application/json

ChatRequest
FieldTypeNotes
model*string
messages*array<ChatMessage>
temperaturenumber
max_tokensinteger
streamboolean
route_hintstringOptional override ('local-only', 'cloud-ok'). Ignored if the key's policy forbids it.
Example · Simple completion
{
  "model": "operayde/llama-3.1-70b",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "Summarise the attached contract."
    }
  ],
  "temperature": 0.2
}

Responses

200Chat completion response
ChatResponse
FieldTypeNotes
idstring
modelstring
createdinteger
choicesarray<object>
usageobject
401Missing or invalid bearer.
Error
FieldTypeNotes
errorstring
codestring
detailstring
403Policy denied the request.
Error
FieldTypeNotes
errorstring
codestring
detailstring
429Per-tenant or per-key rate limit exceeded.
Error
FieldTypeNotes
errorstring
codestring
detailstring

embeddings

Text embeddings

POST/embeddingsCreate embeddings

Returns a dense vector embedding for each input string. Embeddings are computed locally on the appliance by default.

Request body (required) · application/json

EmbeddingsRequest
FieldTypeNotes
model*string
input*oneOf<string | array<string>>

Responses

200Embeddings response
EmbeddingsResponse
FieldTypeNotes
modelstring
dataarray<object>
401Missing or invalid bearer.
Error
FieldTypeNotes
errorstring
codestring
detailstring

keys

Virtual-key management

GET/keysList virtual keys

Responses

200List of virtual keys for the calling tenant.
FieldTypeNotes
dataarray<VirtualKey>
POST/keysCreate a virtual key

Request body (required) · application/json

VirtualKeyCreate
FieldTypeNotes
label*string
policy_id*string

Responses

201Created
allOf<VirtualKey & object>
DELETE/keys/{id}Revoke a virtual key

Responses

204Revoked
404Resource does not exist.
Error
FieldTypeNotes
errorstring
codestring
detailstring

models

Model registry

GET/modelsList available models

Responses

200Model registry entries visible to the calling tenant.
FieldTypeNotes
dataarray<Model>

health

Operational probes

GET/healthLiveness probe

Responses

200Gateway is responsive.
FieldTypeNotes
statusstring
uptime_sinteger