OpenAPI और Schema Contract
Rivya API v1 schema sources, compatibility rules, public fields और read-only OpenAPI JSON contract की समीक्षा करें.
अंतिम समीक्षा 2026/05/11 को
Rivya API v1 read-only schema contract यहां expose करता है:
https://rivya.ai/api/v1/openapi.jsonयह route public contract output है। यह user session data नहीं पढ़ता, model jobs submit नहीं करता, और private account data expose नहीं करता।
Contract Sources
Contract इन sources से derive होता है:
- public API request schemas
- public error codes
- public API model reference layer
- वही model catalog जिसे
/api/v1/modelsइस्तेमाल करता है
Model list dynamic है। ऐसी integrations न बनाएं जो manually written model count पर निर्भर हों।
Version Policy
Current API version v1 है।
Backward-compatible changes में ये शामिल हो सकते हैं:
/api/v1/modelsमें model जोड़ना- optional response field जोड़ना
- किसी model के लिए optional request parameter जोड़ना
- नया public error code जोड़ना
Breaking changes के लिए नई version या documented migration path चाहिए।
Public Field Boundary
Public schema fields public names इस्तेमाल करते हैं:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Internal task storage fields पर निर्भर न रहें। वे public contract का हिस्सा नहीं हैं।
Request Schema
POST /api/v1/generations स्वीकार करता है:
model: जरूरी public model IDprompt: optional string, कई models में जरूरीparams: model-specific parameters वाला optional objectclient_request_id: आपकी अपनी trace ID के लिए optional string
Model-specific params के लिए Model API Reference इस्तेमाल करें।
/api/v1/files से returned reference media params.referenceMediaItems के अंदर आता है। Schema url, kind, optional name, optional mimeType, optional durationSeconds और optional durationToken document करता है। Rivya top-level files field को POST /api/v1/generations में accept नहीं करता।
POST /api/v1/files multipart form data accept करता है जिसमें file, kind, optional model और optional client_request_id होते हैं। Response PublicApiFile है। GET /api/v1/files/{fileId} API account की owned files के लिए वही public file metadata return करता है।
POST /api/v1/chat/completions model, message, optional session_id, optional controls, optional Files API file_id attachments और optional client_request_id accept करता है। यह एक complete non-streaming assistant message return करता है।
POST /api/v1/chat/completions/stream वही request schema accept करता है और text/event-stream return करता है, जिसमें session.created, message.delta, message.completed, usage.completed, heartbeat, error और done events होते हैं। Chat API v1 raw messages array accept नहीं करता।
Response Schemas
OpenAPI output ये public response shapes document करता है:
ModelListforGET /api/v1/modelsPublicApiModelऔरModelParamfor model selection and parameter formsPublicApiFileforPOST /api/v1/filesऔरGET /api/v1/files/{fileId}ReferenceMediaItemfor file-backed generation parametersPublicGenerationfor create and status responsesGenerationResultऔरGenerationErrorfor completed tasksChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCredits, and Chat stream event schemas for Chat APICreditBalanceforGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDelivery, andWebhookTestResultfor signed API webhooksPublicApiErrorfor stable error responses
Schema client validation और internal integration tests के लिए safe है। TypeScript SDK beta इसी schema से constrained रहता है।
Example Governance
इन docs में curl, JavaScript और Python examples वही public field names इस्तेमाल करते हैं जो schema में हैं:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Chat examples अतिरिक्त रूप से इस्तेमाल करते हैं:
chat:createchat:readfile_id
Webhook examples अतिरिक्त रूप से इस्तेमाल करते हैं:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
जब कोई model parameter बदलता है, तो पहले model catalog और public serializer update करें। Docs और debugger को अलग table copy करने के बजाय उसी public layer को consume करना चाहिए।