Contrato de OpenAPI e Schema
Revise fontes de schema da Rivya API v1, regras de compatibilidade, campos públicos e o contrato JSON OpenAPI somente leitura.
Última revisão em 2026/05/11
A Rivya API v1 expõe um contrato de schema somente leitura em:
https://rivya.ai/api/v1/openapi.jsonEsta rota é uma saída de contrato público. Ela não lê dados de sessão de usuário, não envia jobs de modelo e não expõe dados privados da conta.
Fontes do Contrato
O contrato é derivado de:
- schemas públicos de solicitação da API
- códigos públicos de erro
- a camada pública de referência de modelos da API
- o mesmo catálogo de modelos usado por
/api/v1/models
A lista de modelos é dinâmica. Não crie integrações que dependam de uma contagem de modelos escrita manualmente.
Política de Versão
A versão atual da API é v1.
Mudanças compatíveis com versões anteriores podem incluir:
- adicionar um modelo a
/api/v1/models - adicionar um campo opcional de resposta
- adicionar um parâmetro opcional de solicitação para um modelo
- adicionar um novo código público de erro
Mudanças incompatíveis exigem uma nova versão ou um caminho de migração documentado.
Limite dos Campos Públicos
Campos públicos de schema usam nomes públicos:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Não dependa de campos internos de armazenamento de tarefas. Eles não fazem parte do contrato público.
Schema de Solicitação
POST /api/v1/generations aceita:
model: ID público obrigatório do modeloprompt: string opcional, obrigatória em muitos modelosparams: objeto opcional com parâmetros específicos do modeloclient_request_id: string opcional para seu próprio ID de rastreamento
Use a Referência da API de Modelos para params específicos por modelo.
Mídia de referência retornada por /api/v1/files pertence a params.referenceMediaItems. O schema documenta url, kind, name opcional, mimeType opcional, durationSeconds opcional e durationToken opcional. A Rivya não aceita um campo files de nível superior em POST /api/v1/generations.
POST /api/v1/files aceita dados de formulário multipart com file, kind, model opcional e client_request_id opcional. A resposta é PublicApiFile. GET /api/v1/files/{fileId} retorna os mesmos metadados públicos de arquivo para arquivos pertencentes à conta da API.
POST /api/v1/chat/completions aceita model, message, session_id opcional, controles opcionais, anexos opcionais da Files API por file_id e client_request_id opcional. Ele retorna uma mensagem completa de assistente sem streaming.
POST /api/v1/chat/completions/stream aceita o mesmo schema de solicitação e retorna text/event-stream com eventos session.created, message.delta, message.completed, usage.completed, heartbeat, error e done. A Chat API v1 não aceita um array bruto de messages.
Schemas de Resposta
A saída OpenAPI documenta estes formatos públicos de resposta:
ModelListparaGET /api/v1/modelsPublicApiModeleModelParampara seleção de modelos e formulários de parâmetrosPublicApiFileparaPOST /api/v1/fileseGET /api/v1/files/{fileId}ReferenceMediaItempara parâmetros de geração baseados em arquivosPublicGenerationpara respostas de criação e statusGenerationResulteGenerationErrorpara tarefas concluídasChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditse schemas de eventos de stream de Chat para a Chat APICreditBalanceparaGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliveryeWebhookTestResultpara webhooks assinados da APIPublicApiErrorpara respostas de erro estáveis
O schema é seguro para validação de cliente e testes internos de integração. O beta do TypeScript SDK permanece limitado por este schema.
Governança dos Exemplos
Exemplos de curl, JavaScript e Python nestes docs usam os mesmos nomes de campos públicos que o schema:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Exemplos de Chat também usam:
chat:createchat:readfile_id
Exemplos de webhook também usam:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
Quando um parâmetro de modelo mudar, atualize primeiro o catálogo de modelos e o public serializer. Os docs e o debugger devem consumir essa mesma camada pública em vez de copiar uma tabela separada.
Páginas Relacionadas
Modelos da API
Liste modelos da Rivya API, entenda IDs de modelos, categorias, limites de prompt, mídia de referência, estados de prontidão e dependências da Files API.
Quickstart da Rivya API
Crie uma chave de API, escolha um modelo, envie um job assíncrono de geração e envie um turno da Chat API com streaming SSE opcional.