> ## 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.

# Get Automation

> Get a single automation with its agent and queue counts, and the tab arrangement its detail view navigates by.



## OpenAPI

````yaml https://api.duvo.ai/v2/documentation/mintlify.json get /v2/automations/{automation_id}
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}:
    get:
      tags:
        - Automations
      summary: Get Automation
      description: >-
        Get a single automation with its agent and queue counts, and the tab
        arrangement its detail view navigates by.
      operationId: getAutomation
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: automation_id
          required: true
          description: Automation ID
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  automation:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      name:
                        type: string
                      agent_count:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      queue_count:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      created_at:
                        type: string
                      updated_at:
                        type: string
                      live_revision_number:
                        nullable: true
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      module_template_slug:
                        nullable: true
                        description: >-
                          Slug of the Module template this Automation was
                          created from, or null. Permanent provenance — it
                          survives setup and is not cleared.
                        type: string
                      module_template_version:
                        nullable: true
                        description: Version of that template, set alongside the slug.
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      is_demo:
                        type: boolean
                        description: >-
                          True while this is an unconverted Module demo: its
                          data is sample data and it cannot run. Cleared by the
                          Setup tab.
                      is_setting_up:
                        default: false
                        description: >-
                          True once a team has started setting this Module up.
                          Read together with is_demo: both true is a module
                          being built from its setup interview, is_demo alone is
                          an untouched demo. Stays true after setup, when
                          is_demo is what has changed. Defaulted rather than
                          required for the same reason `tabs` is optional: the
                          client parses this response, so during a deploy window
                          a backend that predates the field would otherwise
                          throw and take the automation's name and revision
                          state down with it.
                        type: boolean
                      has_draft:
                        type: boolean
                        description: >-
                          Whether an open draft revision exists. Always false
                          for an automation without revisions: an
                          automation-level draft badge is a revision concept,
                          and the agent builder surfaces its own draft build
                          state.
                      created_by:
                        nullable: true
                        description: >-
                          User who created the automation (null for migrated
                          teams)
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          name:
                            type: string
                            nullable: true
                          email:
                            type: string
                        required:
                          - id
                          - name
                          - email
                        additionalProperties: false
                      updated_by:
                        nullable: true
                        description: User who last updated the automation
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          name:
                            type: string
                            nullable: true
                          email:
                            type: string
                        required:
                          - id
                          - name
                          - email
                        additionalProperties: false
                    required:
                      - id
                      - name
                      - agent_count
                      - queue_count
                      - created_at
                      - updated_at
                      - live_revision_number
                      - module_template_slug
                      - module_template_version
                      - is_demo
                      - is_setting_up
                      - has_draft
                      - created_by
                      - updated_by
                    additionalProperties: false
                  tabs:
                    description: >-
                      The detail view's tab arrangement, carried here so opening
                      an automation resolves its navigation in the same request
                      as the automation itself.
                    type: object
                    properties:
                      layout:
                        type: object
                        properties:
                          order:
                            maxItems: 50
                            type: array
                            items:
                              type: string
                              minLength: 1
                              maxLength: 200
                            description: Left-group tab keys in render order
                          hidden:
                            maxItems: 50
                            type: array
                            items:
                              type: string
                              minLength: 1
                              maxLength: 200
                            description: Native tab keys the user removed from the bar
                        required:
                          - order
                          - hidden
                        additionalProperties: false
                      pulse_tabs:
                        type: array
                        items:
                          type: object
                          properties:
                            artifact_id:
                              type: string
                              format: uuid
                              description: Pinned Pulse dashboard
                            title:
                              nullable: true
                              description: Dashboard title (null until the agent names it)
                              type: string
                            icon:
                              description: >-
                                Lucide icon name picked when the dashboard was
                                named (null for dashboards generated before
                                icons existed)
                              nullable: true
                              type: string
                              minLength: 1
                              maxLength: 64
                              pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
                            status:
                              type: string
                              enum:
                                - not_started
                                - pending
                                - running
                                - completed
                                - failed
                                - interrupted
                              description: Generation status of the dashboard
                          required:
                            - artifact_id
                            - title
                            - status
                          additionalProperties: false
                        description: >-
                          Resolved metadata for the pinned Pulse dashboards in
                          `order`
                    required:
                      - layout
                      - pulse_tabs
                    additionalProperties: false
                required:
                  - automation
                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
        '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.

````