Kontrak OpenAPI dan Schema
Semak sumber schema Rivya API v1, peraturan keserasian, medan awam dan kontrak OpenAPI JSON baca sahaja.
Terakhir disemak pada 2026/05/11
Rivya API v1 mendedahkan kontrak schema baca sahaja di:
https://rivya.ai/api/v1/openapi.jsonRoute ini ialah output kontrak awam. Ia tidak membaca data sesi pengguna, tidak menghantar tugasan model dan tidak mendedahkan data akaun peribadi.
Sumber Kontrak
Kontrak ini diterbitkan daripada:
- schema permintaan API awam
- kod ralat awam
- lapisan rujukan model API awam
- katalog model yang sama digunakan oleh
/api/v1/models
Senarai model adalah dinamik. Jangan bina integrasi yang bergantung pada kiraan model yang ditulis secara manual.
Dasar Versi
Versi API semasa ialah v1.
Perubahan yang serasi ke belakang boleh merangkumi:
- menambah model ke
/api/v1/models - menambah medan respons pilihan
- menambah parameter permintaan pilihan untuk model
- menambah kod ralat awam baharu
Perubahan yang memecahkan keserasian memerlukan versi baharu atau laluan migrasi yang didokumenkan.
Sempadan Medan Awam
Medan schema awam menggunakan nama awam:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Jangan bergantung pada medan storan tugasan dalaman. Medan itu bukan sebahagian daripada kontrak awam.
Schema Permintaan
POST /api/v1/generations menerima:
model: ID model awam yang diperlukanprompt: rentetan pilihan, diperlukan oleh banyak modelparams: objek pilihan dengan parameter khusus modelclient_request_id: rentetan pilihan untuk ID jejak anda sendiri
Gunakan Rujukan API Model untuk params khusus model.
Media rujukan yang dikembalikan oleh /api/v1/files berada di dalam params.referenceMediaItems. Schema mendokumenkan url, kind, name pilihan, mimeType pilihan, durationSeconds pilihan dan durationToken pilihan. Rivya tidak menerima medan files peringkat atas dalam POST /api/v1/generations.
POST /api/v1/files menerima multipart form data dengan file, kind, model pilihan dan client_request_id pilihan. Responsnya ialah PublicApiFile. GET /api/v1/files/{fileId} mengembalikan metadata fail awam yang sama untuk fail milik akaun API.
POST /api/v1/chat/completions menerima model, message, session_id pilihan, kawalan pilihan, lampiran Files API file_id pilihan dan client_request_id pilihan. Ia mengembalikan satu mesej assistant bukan penstriman yang lengkap.
POST /api/v1/chat/completions/stream menerima schema permintaan yang sama dan mengembalikan text/event-stream dengan acara session.created, message.delta, message.completed, usage.completed, heartbeat, error dan done. Chat API v1 tidak menerima array messages mentah.
Schema Respons
Output OpenAPI mendokumenkan bentuk respons awam berikut:
ModelListuntukGET /api/v1/modelsPublicApiModeldanModelParamuntuk pemilihan model dan borang parameterPublicApiFileuntukPOST /api/v1/filesdanGET /api/v1/files/{fileId}ReferenceMediaItemuntuk parameter penjanaan yang disokong failPublicGenerationuntuk respons cipta dan statusGenerationResultdanGenerationErroruntuk tugasan selesaiChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditsdan schema acara stream Chat untuk Chat APICreditBalanceuntukGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliverydanWebhookTestResultuntuk webhook API bertandatanganPublicApiErroruntuk respons ralat stabil
Schema ini selamat digunakan untuk pengesahan klien dan ujian integrasi dalaman. TypeScript SDK beta kekal terikat pada schema ini.
Tadbir Urus Contoh
Contoh curl, JavaScript dan Python dalam dokumen ini menggunakan nama medan awam yang sama seperti schema:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Contoh Chat turut menggunakan:
chat:createchat:readfile_id
Contoh webhook turut menggunakan:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
Apabila parameter model berubah, kemas kini katalog model dan public serializer terlebih dahulu. Dokumen dan penyahpepijat harus menggunakan lapisan awam yang sama, bukan menyalin jadual berasingan.