OpenAPI- og schema-kontrakt
Gennemgå Rivya API v1's schema-kilder, kompatibilitetsregler, offentlige felter og den read-only OpenAPI JSON-kontrakt.
Sidst gennemgået den 2026/05/11
Rivya API v1 eksponerer en read-only schema-kontrakt på:
https://rivya.ai/api/v1/openapi.jsonDenne route er et offentligt kontraktoutput. Den læser ikke brugerens sessiondata, indsender ikke modeljobs og eksponerer ikke private kontodata.
Kontraktkilder
Kontrakten er afledt af:
- offentlige API-request schemas
- offentlige fejlkoder
- det offentlige API-modelreferencelag
- det samme modelkatalog, der bruges af
/api/v1/models
Modellisten er dynamisk. Byg ikke integrationer, der afhænger af et manuelt skrevet modelantal.
Versionspolitik
Den aktuelle API-version er v1.
Bagudkompatible ændringer kan omfatte:
- tilføjelse af en model til
/api/v1/models - tilføjelse af et valgfrit svarfelt
- tilføjelse af en valgfri request-parameter for en model
- tilføjelse af en ny offentlig fejlkode
Breaking changes kræver en ny version eller en dokumenteret migreringsvej.
Offentlig feltgrænse
Offentlige schema-felter bruger offentlige navne:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Afhæng ikke af interne task storage-felter. De er ikke en del af den offentlige kontrakt.
Request schema
POST /api/v1/generations accepterer:
model: påkrævet offentlig model-IDprompt: valgfri string, påkrævet af mange modellerparams: valgfrit objekt med modelspecifikke parametreclient_request_id: valgfri string til dit eget trace-ID
Brug Model API Reference for modelspecifikke params.
Referencemedier returneret af /api/v1/files hører hjemme i params.referenceMediaItems. Schemaet dokumenterer url, kind, valgfri name, valgfri mimeType, valgfri durationSeconds og valgfri durationToken. Rivya accepterer ikke et top-level files-felt i POST /api/v1/generations.
POST /api/v1/files accepterer multipart form data med file, kind, valgfri model og valgfri client_request_id. Svaret er PublicApiFile. GET /api/v1/files/{fileId} returnerer de samme offentlige filmetadata for filer, der ejes af API-kontoen.
POST /api/v1/chat/completions accepterer model, message, valgfri session_id, valgfri kontroller, valgfri Files API-vedhæftninger med file_id og valgfri client_request_id. Det returnerer én komplet ikke-streaming assistant-besked.
POST /api/v1/chat/completions/stream accepterer samme request schema og returnerer text/event-stream med events for session.created, message.delta, message.completed, usage.completed, heartbeat, error og done. Chat API v1 accepterer ikke et råt messages-array.
Response schemas
OpenAPI-outputtet dokumenterer disse offentlige response shapes:
ModelListforGET /api/v1/modelsPublicApiModelogModelParamfor modelvalg og parameterformularerPublicApiFileforPOST /api/v1/filesogGET /api/v1/files/{fileId}ReferenceMediaItemfor filbaserede genereringsparametrePublicGenerationfor create- og status-svarGenerationResultogGenerationErrorfor completed tasksChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditsog Chat stream event schemas for Chat APICreditBalanceforGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliveryogWebhookTestResultfor signerede API webhooksPublicApiErrorfor stabile fejlsvar
Schemaet er sikkert at bruge til klientvalidering og interne integrationstests. TypeScript SDK beta forbliver begrænset af dette schema.
Eksempel-governance
curl-, JavaScript- og Python-eksempler i disse docs bruger de samme offentlige feltnavne som schemaet:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Chat-eksempler bruger desuden:
chat:createchat:readfile_id
Webhook-eksempler bruger desuden:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
Når en modelparameter ændres, skal modelkataloget og den offentlige serializer opdateres først. Docs og debugger bør bruge det samme offentlige lag i stedet for at kopiere en separat tabel.