duvo.ai Revisions API
Create and manage agent revisions — the underlying Setup for an Agent
Create and manage agent revisions — the underlying Setup for an Agent
openapi: 3.0.3
info:
title: Duvo Public Agent Folders Revisions API
description: Public API for programmatic access to Duvo. Authenticate with API keys created in the Duvo dashboard.
version: 1.0.0
servers:
- url: https://api.duvo.ai
description: Production server
tags:
- name: Revisions
description: Create and manage agent revisions — the underlying Setup for an Agent
paths:
/v2/agents/{agent_id}/revisions:
post:
operationId: createRevision
tags:
- Revisions
description: Create a new revision for an existing agent.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
description: Build name
config:
description: Build configuration (latest schema version only; legacy v1 configs are not accepted)
type: object
properties:
version:
type: string
enum:
- v2
description: Schema version discriminator — must be "v2" for the current schema
data:
type: object
properties:
models:
type: object
properties:
agent:
type: object
properties:
model:
type: string
enum:
- claude-sonnet-5
- claude-sonnet-5[1m]
- claude-opus-4-8
- claude-opus-4-8[1m]
- d1-max
- duvo-1-max
- duvo-1-max-sonnet-1m
- duvo-1-max-sonnet-4.5
- duvo-1-max-sonnet-4.5-1m
- duvo-1-max-opus
- duvo-1-max-opus-4.5
- gpt-4.1
- gpt-4o
- gpt-4o-mini
- gpt-5
- gpt-5.1
- claude-sonnet-4-20250514
- claude-sonnet-4-20250514[1m]
- claude-sonnet-4-5-20250929
- claude-sonnet-4-5-20250929[1m]
- claude-sonnet-4-6
- claude-sonnet-4-6[1m]
- claude-opus-4-1-20250805
- claude-opus-4-5-20251101
- claude-opus-4-6
- claude-opus-4-6[1m]
- claude-opus-4-7
- claude-opus-4-7[1m]
description: Claude model identifier used for the primary agent loop
required:
- model
description: Primary Claude agent model configuration
browsing:
type: object
properties:
provider:
type: string
enum:
- google
- anthropic
description: Provider backing the browsing/computer-use model
model:
type: string
enum:
- gemini-2.5-pro
- gemini-2.5-flash
- gemini-3-pro-preview
- claude-haiku-4-5
- claude-sonnet-4-5
- claude-opus-4-1
description: Model identifier for the browsing provider
required:
- provider
- model
description: Browsing/computer-use model configuration
required:
- agent
- browsing
description: Model configuration for each capability the agent uses
input:
anyOf:
- type: string
- type: array
items:
type: object
properties:
role:
type: string
enum:
- system
- user
- assistant
content:
anyOf:
- type: string
- type: array
items:
anyOf:
- type: object
properties:
type:
type: string
enum:
- input_text
text:
type: string
required:
- type
- text
- type: object
properties:
type:
type: string
enum:
- input_image
detail:
nullable: true
type: string
enum:
- low
- high
- auto
file_id:
nullable: true
type: string
url:
nullable: true
type: string
required:
- type
- type: object
properties:
type:
type: string
enum:
- input_file
file_id:
type: string
required:
- type
- file_id
type:
nullable: true
type: string
enum:
- message
required:
- role
- content
description: Initial agent instructions — either a single system prompt string or a list of structured messages
files:
default: []
description: IDs of team files that should be available to the agent
nullable: true
type: array
items:
type: string
skills:
default: []
description: IDs of skills (team or system) that should be available to the agent
nullable: true
type: array
items:
type: string
plugins:
default: []
description: Plugins to load — either a built-in plugin name (e.g. "code-review") or a GitHub URL (e.g. "https://github.com/owner/repo")
nullable: true
type: array
items:
type: string
subAgents:
default: []
description: IDs of other agents (in the same team) to expose to this agent as Claude Code subagents. Each sub-agent runs with its own AOP and connections; the parent can delegate to them via the Agent tool.
nullable: true
type: array
items:
type: string
format: uuid
options:
description: Optional runtime options controlling how the agent executes
type: object
properties:
browserProvider:
description: Browser infrastructure provider
type: string
enum:
- browserbase
- browser-use
evaluationSchemaId:
description: ID of the evaluation schema to apply to runs of this agent
type: string
benchmarkExpectedOutcomes:
description: Expected outcomes used when running benchmark scenarios
type: array
items:
type: object
properties:
description:
type: string
description: Human-readable description of the expected outcome
criteria:
type: string
description: Pass/fail criteria used to evaluate the outcome
required:
- description
- criteria
additionalProperties: {}
required:
- models
- input
description: Agent configuration payload
required:
- version
- data
handover_target_ids:
description: Agent IDs that this agent can hand work off to
type: array
items:
type: string
format: uuid
source_build_id:
description: Build ID to copy integrations and queue links from
type: string
format: uuid
required:
- name
parameters:
- schema:
type: string
format: uuid
in: path
name: agent_id
required: true
description: The agent's unique identifier
security:
- bearerAuth: []
responses:
'201':
description: Default Response
content:
application/json:
schema:
type: object
properties:
build:
type: object
properties:
id:
type: string
format: uuid
copilot_id:
type: string
format: uuid
agent_id:
type: string
format: uuid
name:
type: string
revision_name:
nullable: true
type: string
revision_description:
nullable: true
type: string
config:
nullable: true
anyOf:
- type: object
properties:
version:
type: string
enum:
- v1
data:
type: object
properties:
model:
type: string
temperature:
nullable: true
type: number
minimum: 0
maximum: 2
max_output_tokens:
nullable: true
type: number
minimum: 0
exclusiveMinimum: true
top_p:
nullable: true
type: number
minimum: 0
maximum: 1
store:
nullable: true
type: boolean
tools: {}
input:
anyOf:
- type: string
- type: array
items:
type: object
properties:
role:
type: string
enum:
- system
- user
- assistant
content:
anyOf:
- type: string
- type: array
items:
anyOf:
- type: object
properties:
type:
type: string
enum:
- input_text
text:
type: string
required:
- type
- text
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- input_image
detail:
nullable: true
type: string
enum:
- low
- high
- auto
file_id:
nullable: true
type: string
url:
nullable: true
type: string
required:
- type
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- input_file
file_id:
type: string
required:
- type
- file_id
additionalProperties: false
type:
nullable: true
type: string
enum:
- message
required:
- role
- content
additionalProperties: false
text:
nullable: true
type: object
properties:
format:
nullable: true
anyOf:
- type: object
properties:
type:
type: string
enum:
- text
required:
- type
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- json_object
required:
- type
additionalProperties: false
additionalProperties: false
files:
default: []
nullable: true
type: array
items:
type: string
skills:
default: []
nullable: true
type: array
items:
type: string
required:
- model
- tools
- input
- files
- skills
additionalProperties: false
required:
- version
- data
additionalProperties: false
- type: object
properties:
version:
type: string
enum:
- v2
description: Schema version discriminator — must be "v2" for the current schema
data:
type: object
properties:
models:
type: object
properties:
agent:
type: object
properties:
model:
type: string
enum:
- claude-sonnet-5
- claude-sonnet-5[1m]
- claude-opus-4-8
- claude-opus-4-8[1m]
- d1-max
- duvo-1-max
- duvo-1-max-sonnet-1m
- duvo-1-max-sonnet-4.5
- duvo-1-max-sonnet-4.5-1m
- duvo-1-max-opus
- duvo-1-max-opus-4.5
- gpt-4.1
- gpt-4o
- gpt-4o-mini
- gpt-5
- gpt-5.1
- claude-sonnet-4-20250514
- claude-sonnet-4-20250514[1m]
- claude-sonnet-4-5-20250929
- claude-sonnet-4-5-20250929[1m]
- claude-sonnet-4-6
- claude-sonnet-4-6[1m]
- claude-opus-4-1-20250805
- claude-opus-4-5-20251101
- claude-opus-4-6
- claude-opus-4-6[1m]
- claude-opus-4-7
- claude-opus-4-7[1m]
description: Claude model identifier used for the primary agent loop
required:
- model
additionalProperties: false
description: Primary Claude agent model configuration
browsing:
type: object
properties:
provider:
type: string
enum:
- google
- anthropic
description: Provider backing the browsing/computer-use model
model:
type: string
enum:
- gemini-2.5-pro
- gemini-2.5-flash
- gemini-3-pro-preview
- claude-haiku-4-5
- claude-sonnet-4-5
- claude-opus-4-1
description: Model identifier for the browsing provider
required:
- provider
- model
additionalProperties: false
description: Browsing/computer-use model configuration
required:
- agent
- browsing
additionalProperties: false
description: Model configuration for each capability the agent uses
input:
anyOf:
- type: string
- type: array
items:
type: object
properties:
role:
type: string
enum:
- system
- user
- assistant
content:
anyOf:
- type: string
- type: array
items:
anyOf:
- type: object
properties:
type:
type: string
enum:
- input_text
text:
type: string
required:
- type
- text
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- input_image
detail:
nullable: true
type: string
enum:
- low
- high
- auto
file_id:
nullable: true
type: string
url:
nullable: true
type: string
required:
- type
additionalProperties: false
- type: object
properties:
type:
type: string
enum:
- input_file
file_id:
type: string
required:
- type
- file_id
additionalProperties: false
type:
nullable: true
type: string
enum:
- message
required:
- role
- content
additionalProperties: false
description: Initial agent instructions — either a single system prompt string or a list of structured messages
files:
default: []
description: IDs of team files that should be available to the agent
nullable: true
type: array
items:
type: string
skills:
default: []
description: IDs of skills (team or system) that should be available to the agent
nullable: true
type: array
items:
type: string
plugins:
default: []
description: Plugins to load — either a built-in plugin name (e.g. "code-review") or a GitHub URL (e.g. "https://github.com/owner/repo")
nullable: true
type: array
items:
type: string
subAgents:
default: []
description: IDs of other agents (in the same team) to expose to this agent as Claude Code subagents. Each sub-agent runs with its own AOP and connections; the parent can delegate to them via the Agent tool.
nullable: true
type: array
items:
type: string
format: uuid
options:
description: Optional runtime options controlling how the agent executes
type: object
properties:
browserProvider:
description: Browser infrastructure provider
type: string
enum:
- browserbase
- browser-use
# --- truncated at 32 KB (136 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/duvoai/refs/heads/main/openapi/duvoai-revisions-api-openapi.yml