OpenAPI och schemakontrakt
Granska Rivya API v1:s schemakällor, kompatibilitetsregler, offentliga fält och det skrivskyddade OpenAPI JSON-kontraktet.
Senast granskad 2026/05/11
Rivya API v1 exponerar ett skrivskyddat schemakontrakt på:
https://rivya.ai/api/v1/openapi.jsonDen här routen är en offentlig kontraktsutdata. Den läser inte användarsessionsdata, skickar inte in modelljobb och exponerar inte privata kontodata.
Kontraktskällor
Kontraktet härleds från:
- offentliga API-requestscheman
- offentliga felkoder
- det offentliga API-lagret för modellreferens
- samma modellkatalog som används av
/api/v1/models
Modellistan är dynamisk. Bygg inte integrationer som beror på ett manuellt skrivet modellantal.
Versionspolicy
Den aktuella API-versionen är v1.
Bakåtkompatibla ändringar kan omfatta:
- att lägga till en modell i
/api/v1/models - att lägga till ett valfritt svarsfält
- att lägga till en valfri requestparameter för en modell
- att lägga till en ny offentlig felkod
Brytande ändringar kräver en ny version eller en dokumenterad migreringsväg.
Gräns för offentliga fält
Offentliga schemafält använder offentliga namn:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Förlita dig inte på interna lagringsfält för uppgifter. De ingår inte i det offentliga kontraktet.
Requestschema
POST /api/v1/generations accepterar:
model: obligatoriskt offentligt modell-IDprompt: valfri sträng, krävs av många modellerparams: valfritt objekt med modellspecifika parametrarclient_request_id: valfri sträng för ditt eget trace-ID
Använd modellreferensen för API för modellspecifika params.
Referensmedia som returneras av /api/v1/files hör hemma i params.referenceMediaItems. Schemat dokumenterar url, kind, valfritt name, valfritt mimeType, valfritt durationSeconds och valfritt durationToken. Rivya accepterar inte ett toppnivåfält files i POST /api/v1/generations.
POST /api/v1/files accepterar multipart form data med file, kind, valfritt model och valfritt client_request_id. Svaret är PublicApiFile. GET /api/v1/files/{fileId} returnerar samma offentliga filmetadata för filer som ägs av API-kontot.
POST /api/v1/chat/completions accepterar model, message, valfritt session_id, valfria kontroller, valfria Files API-bilagor via file_id och valfritt client_request_id. Det returnerar ett komplett icke-streamande assistentmeddelande.
POST /api/v1/chat/completions/stream accepterar samma requestschema och returnerar text/event-stream med händelserna session.created, message.delta, message.completed, usage.completed, heartbeat, error och done. Chat API v1 accepterar inte en rå messages-array.
Svarsscheman
OpenAPI-utdata dokumenterar dessa offentliga svarsformer:
ModelListförGET /api/v1/modelsPublicApiModelochModelParamför modellval och parameterformulärPublicApiFileförPOST /api/v1/filesochGET /api/v1/files/{fileId}ReferenceMediaItemför filstödda genereringsparametrarPublicGenerationför svar vid skapande och statusGenerationResultochGenerationErrorför slutförda uppgifterChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditsoch Chat stream event schemas för Chat APICreditBalanceförGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliveryochWebhookTestResultför signerade API-webhooksPublicApiErrorför stabila felsvar
Schemat är säkert att använda för klientvalidering och interna integrationstester. TypeScript SDK beta förblir begränsat av detta schema.
Exempelstyrning
curl-, JavaScript- och Python-exempel i dessa dokument använder samma offentliga fältnamn som schemat:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Chat-exempel använder dessutom:
chat:createchat:readfile_id
Webhook-exempel använder dessutom:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
När en modellparameter ändras, uppdatera modellkatalogen och den offentliga serializern först. Dokumentationen och debuggern ska konsumera samma offentliga lager i stället för att kopiera en separat tabell.