duvo.ai Revisions API

Create and manage agent revisions — the underlying Setup for an Agent

OpenAPI Specification

duvoai-revisions-api-openapi.yml Raw ↑
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