Docs Rivya AI

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.json

Route 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:

  • id
  • status
  • model
  • session_id
  • message
  • usage
  • reserved_credits
  • final_credits
  • created_at
  • updated_at
  • result
  • error

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 diperlukan
  • prompt: rentetan pilihan, diperlukan oleh banyak model
  • params: objek pilihan dengan parameter khusus model
  • client_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:

  • ModelList untuk GET /api/v1/models
  • PublicApiModel dan ModelParam untuk pemilihan model dan borang parameter
  • PublicApiFile untuk POST /api/v1/files dan GET /api/v1/files/{fileId}
  • ReferenceMediaItem untuk parameter penjanaan yang disokong fail
  • PublicGeneration untuk respons cipta dan status
  • GenerationResult dan GenerationError untuk tugasan selesai
  • ChatCompletionRequest, ChatCompletion, ChatSession, ChatMessage, ChatUsage, ChatCredits dan schema acara stream Chat untuk Chat API
  • CreditBalance untuk GET /api/v1/credits
  • WebhookEndpoint, WebhookEvent, WebhookDelivery dan WebhookTestResult untuk webhook API bertandatangan
  • PublicApiError untuk 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-Key
  • model
  • prompt
  • message
  • session_id
  • params
  • client_request_id

Contoh Chat turut menggunakan:

  • chat:create
  • chat:read
  • file_id

Contoh webhook turut menggunakan:

  • Rivya-Webhook-Signature
  • Rivya-Webhook-Timestamp
  • webhooks: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.

Halaman Berkaitan

Jadual kandungan