Contrat OpenAPI et schéma
Examinez les sources de schéma Rivya API v1, les règles de compatibilité, les champs publics et le contrat OpenAPI JSON en lecture seule.
Dernière révision le 2026/05/11
Rivya API v1 expose un contrat de schéma en lecture seule à cette adresse :
https://rivya.ai/api/v1/openapi.jsonCette route est une sortie de contrat publique. Elle ne lit pas les données de session utilisateur, ne soumet pas de jobs modèle et n'expose pas de données privées de compte.
Sources du contrat
Le contrat est dérivé de :
- schémas de requêtes de l'API publique
- codes d'erreur publics
- couche publique de référence des modèles API
- même catalogue de modèles que celui utilisé par
/api/v1/models
La liste des modèles est dynamique. Ne construisez pas d'intégrations qui dépendent d'un nombre de modèles écrit manuellement.
Politique de version
La version actuelle de l'API est v1.
Les changements rétrocompatibles peuvent inclure :
- l'ajout d'un modèle à
/api/v1/models - l'ajout d'un champ de réponse optionnel
- l'ajout d'un paramètre de requête optionnel pour un modèle
- l'ajout d'un nouveau code d'erreur public
Les changements cassants exigent une nouvelle version ou un chemin de migration documenté.
Limite des champs publics
Les champs du schéma public utilisent des noms publics :
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Ne dépendez pas des champs internes de stockage des tâches. Ils ne font pas partie du contrat public.
Schéma de requête
POST /api/v1/generations accepte :
model: ID public du modèle requisprompt: chaîne optionnelle, requise par de nombreux modèlesparams: objet optionnel avec paramètres propres au modèleclient_request_id: chaîne optionnelle pour votre propre ID de trace
Utilisez la référence API des modèles pour les params propres à chaque modèle.
Les médias de référence renvoyés par /api/v1/files doivent être placés dans params.referenceMediaItems. Le schéma documente url, kind, name optionnel, mimeType optionnel, durationSeconds optionnel et durationToken optionnel. Rivya n'accepte pas de champ files au niveau racine dans POST /api/v1/generations.
POST /api/v1/files accepte des données de formulaire multipart avec file, kind, model optionnel et client_request_id optionnel. La réponse est PublicApiFile. GET /api/v1/files/{fileId} renvoie les mêmes métadonnées publiques de fichier pour les fichiers appartenant au compte API.
POST /api/v1/chat/completions accepte model, message, session_id optionnel, les contrôles optionnels, les pièces jointes Files API file_id optionnelles et client_request_id optionnel. Il renvoie un message assistant complet sans streaming.
POST /api/v1/chat/completions/stream accepte le même schéma de requête et renvoie text/event-stream avec les événements session.created, message.delta, message.completed, usage.completed, heartbeat, error et done. Chat API v1 n'accepte pas de tableau brut messages.
Schémas de réponse
La sortie OpenAPI documente ces formes de réponse publiques :
ModelListpourGET /api/v1/modelsPublicApiModeletModelParampour la sélection de modèle et les formulaires de paramètresPublicApiFilepourPOST /api/v1/filesetGET /api/v1/files/{fileId}ReferenceMediaItempour les paramètres de génération adossés à des fichiersPublicGenerationpour les réponses de création et de statutGenerationResultetGenerationErrorpour les tâches terminéesChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditset les schémas d'événements de stream Chat pour l'API ChatCreditBalancepourGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliveryetWebhookTestResultpour les webhooks API signésPublicApiErrorpour les réponses d'erreur stables
Le schéma peut être utilisé en sécurité pour la validation client et les tests d'intégration internes. La bêta du SDK TypeScript reste contrainte par ce schéma.
Gouvernance des exemples
Les exemples curl, JavaScript et Python de cette documentation utilisent les mêmes noms de champs publics que le schéma :
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Les exemples Chat utilisent aussi :
chat:createchat:readfile_id
Les exemples webhook utilisent aussi :
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
Quand un paramètre de modèle change, mettez d'abord à jour le catalogue de modèles et le sérialiseur public. La documentation et le débogueur doivent consommer cette même couche publique au lieu de copier un tableau séparé.
Pages associées
Modèles API
Listez les modèles API Rivya, comprenez les ID de modèles, catégories, limites de prompt, médias de référence, états de disponibilité et dépendances à l'API Files.
Démarrage rapide de l'API Rivya
Créez une clé API, choisissez un modèle, soumettez une tâche de génération asynchrone et envoyez un tour Chat API avec streaming SSE optionnel.