> ## Documentation Index
> Fetch the complete documentation index at: https://docs.duvo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Set Automation Revision Agent

> Fold a build into a draft revision for one agent — adds the agent to the revision or replaces the build it references. Live and historic revisions are immutable.



## OpenAPI

````yaml https://api.duvo.ai/v2/documentation/mintlify.json patch /v2/automations/{automation_id}/revisions/{revision_id}/agents
openapi: 3.0.3
info:
  title: Duvo Public API
  description: >-
    Public API for programmatic access to Duvo. Authenticate with API keys
    created in the Duvo dashboard.


    ## Rate limits


    Requests are counted per API key. Every response advertises the quota with
    the IETF RateLimit fields, so a client can self-throttle without waiting for
    a rejection:


    - `RateLimit-Policy: "default";q=<quota>;w=<window seconds>` — the policy in
    force: `q` requests per `w` seconds.

    - `RateLimit: "default";r=<remaining>;t=<seconds>` — the live state: `r`
    requests left, quota resetting in `t` seconds.

    - Read the quota from the headers rather than hard-coding it; it differs per
    environment.

    - The same numbers are also sent as `ratelimit-limit`, `ratelimit-remaining`
    and `ratelimit-reset`.


    Once the quota is exhausted the API answers `429 Too Many Requests` with
    `Retry-After` set to the seconds to wait; honor it instead of retrying
    immediately.
  version: 1.0.0
servers:
  - url: https://api.duvo.ai
    description: Production server
security: []
tags:
  - name: Runs
    description: Start, monitor, and manage agent runs (Runs in the Duvo UI)
  - name: Sandboxes
    description: Create sandboxes and upload files for agent runs
  - name: Queues
    description: Manage queues and their agent bindings
  - name: Cases
    description: Create, list, and manage cases and their labels within queues
  - name: Case Approvals
    description: Submit decisions on pending case approval requests issued by an agent run
  - name: Case Attachments
    description: Upload, list, download, and remove the files attached to a case
  - name: Automations
    description: >-
      List and manage automations — the workspace container that groups the
      agents and queues making up one end-to-end process
  - name: Agents
    description: Create and manage agents for automation workloads
  - name: Revisions
    description: Create and manage agent revisions — the underlying Setup for an Agent
  - name: Agent Folders
    description: Organize agents into folders
  - name: Agent Memory
    description: Read an agent's memory files (the Memory feature in the Duvo UI)
  - name: Suggestions
    description: >-
      List, apply, and dismiss an Agent's improvement suggestions (the
      suggestions inbox in the Duvo UI)
  - name: Notifications
    description: >-
      List, read, dismiss, and clear the authenticated user's team notifications
      (the Notification Center in the Duvo UI)
  - name: Schedules
    description: List schedules configured for an agent
  - name: Duvo Pulse
    description: >-
      Create, list, iterate on, and delete Duvo Pulse dashboards — live,
      agent-generated visualizations of your Duvo data
  - name: Case Triggers
    description: >-
      Configure case triggers that automatically dispatch agent runs (Runs in
      the Duvo UI) for cases added to a queue
  - name: Triggers
    description: >-
      Configure event triggers that start a Run automatically when an external
      event fires (e.g. an email arrives, a Linear issue is created, or a file
      changes in Google Drive)
  - name: Skills
    description: Manage team and system skills (reusable knowledge packs).
  - name: Files
    description: Manage team files.
  - name: Plugins
    description: Discover plugins that can be referenced from a revision.
  - name: Organizations
    description: Inspect organizations you belong to and the teams within them
  - name: Team
    description: Inspect the team and members associated with the API key
  - name: Invites
    description: >-
      Invite people to a team — one at a time or in bulk, scoped to a Clarity
      process or the whole team — and manage the team's shareable invite link
  - name: Integrations
    description: Browse the team's catalog of available integration types
  - name: Connections
    description: Manage your connected integrations
  - name: Credentials
    description: >-
      Manage logins (domain + username + password + TOTP) used by agents to sign
      in to websites and desktop applications, and attach them to assignment
      revisions
  - name: Secrets
    description: >-
      Manage env-var secrets injected into runs, and attach them to assignment
      revisions. Only metadata is exposed; values are never returned
  - name: Revision Integrations
    description: >-
      Attach integrations to assignment revisions, pin specific connections, and
      link queues
  - name: ClarityV2
    description: >-
      Manage Clarity v2 process snapshots, automation proposals, and the
      extra-capture-request follow-up loop
paths:
  /v2/automations/{automation_id}/revisions/{revision_id}/agents:
    patch:
      tags:
        - Automations
      summary: Set Automation Revision Agent
      description: >-
        Fold a build into a draft revision for one agent — adds the agent to the
        revision or replaces the build it references. Live and historic
        revisions are immutable.
      operationId: setAutomationRevisionAgent
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: automation_id
          required: true
          description: Automation ID
        - schema:
            type: string
            format: uuid
          in: path
          name: revision_id
          required: true
          description: Revision ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                agent_id:
                  type: string
                  format: uuid
                  description: Agent to bind in the revision
                build_id:
                  type: string
                  format: uuid
                  description: Build to reference for the agent
              required:
                - agent_id
                - build_id
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  revision:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique revision identifier
                      automation_id:
                        type: string
                        format: uuid
                        description: ID of the automation this revision belongs to
                      revision_number:
                        nullable: true
                        description: >-
                          Sequential revision number, assigned on activation
                          (null for a draft)
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      status:
                        type: string
                        enum:
                          - draft
                          - live
                          - historic
                        description: 'Lifecycle status: draft, live, or historic'
                      base_revision_id:
                        nullable: true
                        description: >-
                          Revision this draft was branched from (null when it
                          has no base)
                        type: string
                        format: uuid
                      name:
                        nullable: true
                        description: Optional human-readable revision name
                        type: string
                      description:
                        nullable: true
                        description: Optional revision description
                        type: string
                      is_live:
                        type: boolean
                        description: True when this is the automation's active revision
                      is_stale_base:
                        type: boolean
                        description: >-
                          True when a draft's base is no longer the active
                          revision and must be resolved before activation
                      agent_count:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: Number of agent bindings in the revision
                      queue_count:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: Number of queue bindings in the revision
                      trigger_count:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: Number of trigger bindings in the revision
                      modified_agent_ids:
                        type: array
                        items:
                          type: string
                          format: uuid
                        description: >-
                          Agents whose referenced build differs from the base
                          revision
                      changes:
                        type: array
                        items:
                          type: object
                          properties:
                            entity_kind:
                              type: string
                              enum:
                                - agent
                                - queue
                                - trigger
                                - schedule
                              description: What kind of entity changed
                            entity_id:
                              type: string
                              format: uuid
                              description: >-
                                The affected entity's id (agent, queue, trigger
                                declaration, or schedule declaration)
                            change_kind:
                              type: string
                              enum:
                                - added
                                - modified
                                - removed
                              description: >-
                                Whether the entity was added, modified, or
                                removed
                            name:
                              nullable: true
                              description: >-
                                Display name of the affected entity — the agent
                                or queue name; for triggers and schedules, the
                                name of the agent they route to
                              type: string
                            integration_slug:
                              nullable: true
                              description: >-
                                Integration a changed trigger watches (e.g.
                                `gmail`); null for other entity kinds
                              type: string
                            changed_fields:
                              type: array
                              items:
                                type: string
                                enum:
                                  - build
                                  - routing
                                  - enabled
                                  - disabled
                                  - name
                                  - description
                                  - filter
                                  - cadence
                                  - task
                              description: >-
                                What changed on a modified entity (empty for
                                added/removed entries)
                          required:
                            - entity_kind
                            - entity_id
                            - change_kind
                            - name
                            - integration_slug
                            - changed_fields
                          additionalProperties: false
                        description: >-
                          Per-entity diff against the base revision, agents
                          first (empty for revisions without a base)
                      created_at:
                        type: string
                        description: ISO 8601 creation timestamp
                      updated_at:
                        type: string
                        description: ISO 8601 last-modified timestamp
                      ai_description:
                        nullable: true
                        description: >-
                          AI-generated short description of what this revision
                          does (null until generated)
                        type: string
                      ai_summary:
                        nullable: true
                        description: >-
                          AI-generated detailed overview of this revision —
                          business and technical (null until generated)
                        type: string
                      overview_generated_at:
                        nullable: true
                        description: >-
                          ISO 8601 timestamp of this revision's last AI overview
                          generation
                        type: string
                      agents:
                        type: array
                        items:
                          type: object
                          properties:
                            agent_id:
                              type: string
                              format: uuid
                              description: Agent identifier
                            build_id:
                              type: string
                              format: uuid
                              description: Build referenced for the agent in this revision
                          required:
                            - agent_id
                            - build_id
                          additionalProperties: false
                        description: Agent bindings in the revision
                      queues:
                        type: array
                        items:
                          type: object
                          properties:
                            case_queue_id:
                              type: string
                              format: uuid
                              description: Queue identifier
                            agent_id:
                              nullable: true
                              description: >-
                                Agent the queue routes to in this revision (null
                                when unrouted)
                              type: string
                              format: uuid
                            enabled:
                              type: boolean
                              description: Whether the queue's routing is enabled
                            name:
                              nullable: true
                              description: >-
                                Per-revision queue name override (null to keep
                                the queue's own name)
                              type: string
                            description:
                              nullable: true
                              description: Per-revision queue description override
                              type: string
                          required:
                            - case_queue_id
                            - agent_id
                            - enabled
                            - name
                            - description
                          additionalProperties: false
                        description: Queue routing bindings in the revision
                      triggers:
                        type: array
                        items:
                          type: object
                          properties:
                            automation_trigger_id:
                              type: string
                              format: uuid
                              description: >-
                                Stable, credential-free trigger declaration
                                identity
                            agent_id:
                              type: string
                              format: uuid
                              description: Agent this trigger routes to
                            integration_slug:
                              type: string
                              description: >-
                                Integration the declaration watches, e.g.
                                `gmail`
                            trigger_type:
                              type: string
                              description: >-
                                Trigger type within the integration, e.g.
                                `new_email`
                            enabled:
                              type: boolean
                              description: Whether the trigger is enabled in this revision
                            filter_config:
                              type: object
                              additionalProperties: {}
                              description: Per-revision trigger filter configuration
                          required:
                            - automation_trigger_id
                            - agent_id
                            - integration_slug
                            - trigger_type
                            - enabled
                            - filter_config
                          additionalProperties: false
                        description: Trigger config bindings in the revision
                      schedules:
                        type: array
                        items:
                          type: object
                          properties:
                            automation_schedule_id:
                              type: string
                              format: uuid
                              description: >-
                                Stable, credential-free schedule declaration
                                identity
                            agent_id:
                              type: string
                              format: uuid
                              description: Agent this schedule fires
                            enabled:
                              type: boolean
                              description: Whether the schedule is enabled in this revision
                            cron:
                              nullable: true
                              description: >-
                                5-field cron expression; when set, the frequency
                                form is unused
                              type: string
                            frequency:
                              nullable: true
                              description: Frequency form, used when `cron` is null
                              type: string
                              enum:
                                - hourly
                                - daily
                                - workday
                                - weekly
                                - monthly
                            time:
                              nullable: true
                              description: >-
                                Local time of day as HH:MM, for the frequency
                                form
                              type: string
                            timezone:
                              type: string
                              description: IANA timezone the schedule is evaluated in
                            day:
                              nullable: true
                              description: Day of week for a weekly schedule
                              type: string
                              enum:
                                - monday
                                - tuesday
                                - wednesday
                                - thursday
                                - friday
                                - saturday
                                - sunday
                            day_of_month:
                              nullable: true
                              description: Day of month for a monthly schedule
                              type: integer
                              minimum: 1
                              maximum: 31
                            task:
                              nullable: true
                              description: Prompt passed as the run's initial user message
                              type: string
                          required:
                            - automation_schedule_id
                            - agent_id
                            - enabled
                            - cron
                            - frequency
                            - time
                            - timezone
                            - day
                            - day_of_month
                            - task
                          additionalProperties: false
                        description: Recurring schedule config bindings in the revision
                    required:
                      - id
                      - automation_id
                      - revision_number
                      - status
                      - base_revision_id
                      - name
                      - description
                      - is_live
                      - is_stale_base
                      - agent_count
                      - queue_count
                      - trigger_count
                      - modified_agent_ids
                      - changes
                      - created_at
                      - updated_at
                      - ai_description
                      - ai_summary
                      - overview_generated_at
                      - agents
                      - queues
                      - triggers
                      - schedules
                    additionalProperties: false
                    description: The revision with its full manifest
                required:
                  - revision
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your API key from the Duvo dashboard.

````