AiDefinitionVersionRequest ai.definition-version-request@1
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
- Version
- 1.0.0
- Owner
- ai
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/ai/definition-version-request.v1.json
ai.definition-version-request@1: bodies of ai.workflow.manage on OpenVibe.AI. An edit is always a new version (the previous one stays readable); fields left out are taken from the newest existing version. POST /api/v1/templates/:key/versions: a prompt template (input_schema and output_schema must compile as JSON Schema; visibility public, first-party or internal). POST /api/v1/workflows/:key/versions (key <namespace>.<name>): steps (at least one; kind llm (naming an existing template), passthrough, transcribe or embed), schemas, default route, cache mode. POST /api/v1/routes/:key/versions: primary { provider, model } and fallbacks (every provider must exist), or alias_of another route. POST …/:key/versions/:version/status: { status } (templates and workflows draft|active|deprecated|archived; routes active|disabled). Refusals are 422 ai.invalid.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: route
{
"primary": {
"provider": "anthropic",
"model": "claude-sonnet-4-5"
},
"fallbacks": [
{
"provider": "openai",
"model": "gpt-4.1-mini"
}
],
"response_format": "json"
}Valid: template
{
"name": "Clip title",
"system_prompt": "You title stream clips.",
"user_prompt": "Transcript: {{transcript}}",
"input_schema": {
"type": "object",
"required": [
"transcript"
]
},
"output_schema": {
"type": "object",
"required": [
"title"
]
},
"visibility": "first-party",
"status": "draft"
}Valid: workflow
{
"steps": [
{
"kind": "llm",
"template": "live.clip_title"
}
],
"cache_mode": "service",
"cache_ttl_sec": 86400
}Rejected: unknown-status
{
"status": "live"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('ai.definition-version-request@1', value); // { valid, errors: [{ path, message }] }