Rivya AI 文档

OpenAPI 与 Schema 合同

查看 Rivya API v1 的 schema 来源、兼容规则、公共字段和只读 OpenAPI JSON 合同。

最近审阅于 2026/05/11

Rivya API v1 在这里提供只读 schema 合同:

https://rivya.ai/api/v1/openapi.json

这个 route 只输出公开合同。它不会读取用户 session 数据,不会提交模型任务,也不会暴露私有账户数据。

合同来源

合同来自:

  • 公共 API 请求 schema

  • 公共错误码

  • 公共 API 模型参考层

  • /api/v1/models 使用的同一模型目录

模型列表是动态的。不要让集成依赖人工写死的模型数量。

版本策略

当前 API 版本是 v1

兼容性变更可以包括:

  • /api/v1/models 增加模型

  • 增加可选响应字段

  • 给某个模型增加可选请求参数

  • 增加新的公共错误码

破坏性变更需要新版本或明确迁移路径。

公共字段边界

公共 schema 字段使用公开命名:

  • id

  • status

  • model

  • session_id

  • message

  • usage

  • reserved_credits

  • final_credits

  • created_at

  • updated_at

  • result

  • error

不要依赖内部任务存储字段。它们不是公共合同的一部分。

请求 Schema

POST /api/v1/generations 接受:

  • model:必填,公共模型 ID

  • prompt:可选字符串,很多模型实际需要

  • params:可选对象,放模型专属参数

  • client_request_id:可选字符串,用于你的追踪 ID

模型专属 params模型 API Reference

/api/v1/files 返回的参考素材应放在 params.referenceMediaItems 中。schema 会说明 urlkind、可选 name、可选 mimeType、可选 durationSeconds 和可选 durationTokenPOST /api/v1/generations 不接受顶层 files 字段。

POST /api/v1/files 接受 multipart form data,字段包括 filekind、可选 model 和可选 client_request_id。响应结构是 PublicApiFileGET /api/v1/files/{fileId} 会返回该 API 账户名下文件的同一套公共元数据。

POST /api/v1/chat/completions 接受 modelmessage、可选 session_id、可选控制项、可选 Files API file_id 附件和可选 client_request_id。它返回一条完整的非 streaming assistant message。

POST /api/v1/chat/completions/stream 使用同一套 request schema,并返回 text/event-stream,事件包括 session.createdmessage.deltamessage.completedusage.completedheartbeaterrordone。Chat API v1 不接受 raw messages 数组。

响应 Schema

OpenAPI 输出会记录这些公共响应结构:

  • ModelList,用于 GET /api/v1/models

  • PublicApiModelModelParam,用于模型选择和参数表单

  • PublicApiFile,用于 POST /api/v1/filesGET /api/v1/files/{fileId}

  • ReferenceMediaItem,用于带文件引用的生成参数

  • PublicGeneration,用于创建任务和查询状态响应

  • GenerationResultGenerationError,用于已完成任务

  • ChatCompletionRequestChatCompletionChatSessionChatMessageChatUsageChatCredits 和 Chat stream event schemas,用于 Chat API

  • CreditBalance,用于 GET /api/v1/credits

  • WebhookEndpointWebhookEventWebhookDeliveryWebhookTestResult,用于签名 API webhooks

  • PublicApiError,用于稳定错误响应

这份 schema 可以用于客户端校验和内部集成测试。TypeScript SDK beta 继续受这份 schema 约束。

示例治理

文档中的 curl、JavaScript 和 Python 示例使用同一套公共字段:

  • Authorization: Bearer rvya_sk_...

  • Idempotency-Key

  • model

  • prompt

  • message

  • session_id

  • params

  • client_request_id

Chat 示例还会使用:

  • chat:create

  • chat:read

  • file_id

Webhook 示例还会使用:

  • Rivya-Webhook-Signature

  • Rivya-Webhook-Timestamp

  • webhooks:manage

当模型参数变化时,先更新模型目录和 public serializer。文档和调试器应该消费同一层公共数据,而不是复制另一张表。

相关页面