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

# List Process Roles

> List the process roles of an automation (Operator, Executive, Approver and the like, defined on that one automation, not the team's Admin/Member/Builder roles) with what each can do and who holds it. Answer "who can see X", "who has which role" and "what does each role see" on an automation from this, not from team membership or dashboard sharing. Each role has its `key` (pass it to assignProcessMember), `label`, `can_act_on_cases`, `can_view_manage`, the `dashboards` it opens, its `members` and its `pending_invites`. `dashboards_shared_individually` are pinned dashboards a role alone does not open: say they must be shared with the person too. `dashboards_creator_only` read a live Connection and open only for their creator. When `roster.complete` is false the lists were cut off: say so, give the totals, and point to the People tab (`urls.people`) instead of saying who holds a role. Give the user the full `url`s, not the paths. Managers and above only.



## OpenAPI

````yaml https://api.duvo.ai/v2/documentation/mintlify.json get /v2/automations/{automation_id}/process-roles
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}/process-roles:
    get:
      tags:
        - Automations
      summary: List Process Roles
      description: >-
        List the process roles of an automation (Operator, Executive, Approver
        and the like, defined on that one automation, not the team's
        Admin/Member/Builder roles) with what each can do and who holds it.
        Answer "who can see X", "who has which role" and "what does each role
        see" on an automation from this, not from team membership or dashboard
        sharing. Each role has its `key` (pass it to assignProcessMember),
        `label`, `can_act_on_cases`, `can_view_manage`, the `dashboards` it
        opens, its `members` and its `pending_invites`.
        `dashboards_shared_individually` are pinned dashboards a role alone does
        not open: say they must be shared with the person too.
        `dashboards_creator_only` read a live Connection and open only for their
        creator. When `roster.complete` is false the lists were cut off: say so,
        give the totals, and point to the People tab (`urls.people`) instead of
        saying who holds a role. Give the user the full `url`s, not the paths.
        Managers and above only.
      operationId: listProcessRoles
      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:
                  process_roles:
                    type: object
                    properties:
                      automation:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: The automation
                          name:
                            type: string
                            description: The automation's name
                        required:
                          - id
                          - name
                        additionalProperties: false
                        description: The automation these roles belong to
                      roles:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                              description: >-
                                Pass to assignProcessMember as `role_key`, never
                                the label
                            label:
                              type: string
                              description: The role's name as the People tab shows it
                            can_act_on_cases:
                              type: boolean
                              description: >-
                                Opens and acts on the Cases behind its
                                dashboards
                            can_view_manage:
                              type: boolean
                              description: Sees the automation's Manage section
                            sees_all_dashboards:
                              type: boolean
                              description: Opens every dashboard the automation pins
                            dashboards:
                              type: array
                              items:
                                type: object
                                properties:
                                  artifact_id:
                                    type: string
                                    format: uuid
                                    description: The dashboard
                                  name:
                                    type: string
                                    description: The dashboard's tab label
                                  link:
                                    type: string
                                    description: Root-relative path of the dashboard's tab
                                  url:
                                    type: string
                                    description: The dashboard's tab as a full web-app URL
                                required:
                                  - artifact_id
                                  - name
                                  - link
                                  - url
                                additionalProperties: false
                              description: The dashboards this role opens
                            members:
                              type: array
                              items:
                                type: object
                                properties:
                                  name:
                                    nullable: true
                                    description: The member's name
                                    type: string
                                  email:
                                    nullable: true
                                    description: The member's email
                                    type: string
                                required:
                                  - name
                                  - email
                                additionalProperties: false
                              description: People who hold this role
                            pending_invites:
                              type: array
                              items:
                                type: object
                                properties:
                                  email:
                                    type: string
                                    description: The invited address
                                required:
                                  - email
                                additionalProperties: false
                              description: Invitations to this role not yet accepted
                          required:
                            - key
                            - label
                            - can_act_on_cases
                            - can_view_manage
                            - sees_all_dashboards
                            - dashboards
                            - members
                            - pending_invites
                          additionalProperties: false
                      dashboards_shared_individually:
                        type: array
                        items:
                          type: object
                          properties:
                            artifact_id:
                              type: string
                              format: uuid
                              description: The dashboard
                            name:
                              type: string
                              description: The dashboard's tab label
                            link:
                              type: string
                              description: Root-relative path of the dashboard's tab
                            url:
                              type: string
                              description: The dashboard's tab as a full web-app URL
                          required:
                            - artifact_id
                            - name
                            - link
                            - url
                          additionalProperties: false
                        description: >-
                          Pinned dashboards that are private or shared one by
                          one: a role alone does not open them; they must be
                          shared with the person too
                      dashboards_creator_only:
                        type: array
                        items:
                          type: object
                          properties:
                            artifact_id:
                              type: string
                              format: uuid
                              description: The dashboard
                            name:
                              type: string
                              description: The dashboard's tab label
                            link:
                              type: string
                              description: Root-relative path of the dashboard's tab
                            url:
                              type: string
                              description: The dashboard's tab as a full web-app URL
                          required:
                            - artifact_id
                            - name
                            - link
                            - url
                          additionalProperties: false
                        description: >-
                          Pinned dashboards that read a live Connection: only
                          their creator can open them, whatever the role
                      roster:
                        type: object
                        properties:
                          complete:
                            type: boolean
                            description: >-
                              False when the role or member lists were cut off:
                              give the totals and point to the People tab
                              instead of saying who holds a role
                          roles_total:
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                            description: Roles on the process
                          members_total:
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                            description: Role holders, all roles
                          pending_invites_total:
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                            description: Invitations not yet accepted, all roles
                        required:
                          - complete
                          - roles_total
                          - members_total
                          - pending_invites_total
                        additionalProperties: false
                        description: Totals behind the lists above
                      links:
                        type: object
                        properties:
                          overview:
                            type: string
                            description: Root-relative path that opens this tab
                          process:
                            type: string
                            description: Root-relative path that opens this tab
                          past_runs:
                            description: >-
                              The Past Runs tab. A Module automation has none:
                              its Runs are on each Agent, opened from
                              agents_queues
                            type: string
                          requests:
                            description: >-
                              The Requests tab: the questions and approvals this
                              automation's runs raised, and answering them
                            type: string
                          policy:
                            type: string
                            description: Root-relative path that opens this tab
                          people:
                            description: >-
                              The People tab: the process roles, meaning who
                              runs, reviews and manages the work. Its own tab,
                              not part of Policy
                            type: string
                          agents_queues:
                            description: >-
                              The Automation tab: its Agents, Queues and the
                              flow between them
                            type: string
                          revisions:
                            description: >-
                              The Revisions tab. A Module automation has none:
                              say so, and do not point to another tab or to the
                              Agents for revision history
                            type: string
                          setup:
                            type: string
                            description: Root-relative path that opens this tab
                          setup_start:
                            type: string
                            description: Root-relative path that opens this tab
                          upload_files:
                            type: string
                            description: Root-relative path that opens this tab
                          interview:
                            type: string
                            description: Root-relative path that opens this tab
                          automation_proposal:
                            type: string
                            description: Root-relative path that opens this tab
                          dashboards:
                            type: array
                            items:
                              type: object
                              properties:
                                artifact_id:
                                  type: string
                                  format: uuid
                                  description: The dashboard
                                name:
                                  type: string
                                  description: The dashboard's tab label
                                link:
                                  type: string
                                  description: Root-relative path that opens this tab
                              required:
                                - artifact_id
                                - name
                                - link
                              additionalProperties: false
                            description: >-
                              One link per dashboard on this automation's tab
                              bar
                        required:
                          - dashboards
                        additionalProperties: false
                        description: >-
                          Links to the automation's tabs that exist right now,
                          for this viewer. When the user asks where something on
                          the automation is, answer with one of these. A tab the
                          automation does not have is absent: say it has none.
                          Copy these into a reply; never build an automation URL
                          by hand.
                      urls:
                        type: object
                        properties:
                          overview:
                            type: string
                            description: Root-relative path that opens this tab
                          process:
                            type: string
                            description: Root-relative path that opens this tab
                          past_runs:
                            description: >-
                              The Past Runs tab. A Module automation has none:
                              its Runs are on each Agent, opened from
                              agents_queues
                            type: string
                          requests:
                            description: >-
                              The Requests tab: the questions and approvals this
                              automation's runs raised, and answering them
                            type: string
                          policy:
                            type: string
                            description: Root-relative path that opens this tab
                          people:
                            description: >-
                              The People tab: the process roles, meaning who
                              runs, reviews and manages the work. Its own tab,
                              not part of Policy
                            type: string
                          agents_queues:
                            description: >-
                              The Automation tab: its Agents, Queues and the
                              flow between them
                            type: string
                          revisions:
                            description: >-
                              The Revisions tab. A Module automation has none:
                              say so, and do not point to another tab or to the
                              Agents for revision history
                            type: string
                          setup:
                            type: string
                            description: Root-relative path that opens this tab
                          setup_start:
                            type: string
                            description: Root-relative path that opens this tab
                          upload_files:
                            type: string
                            description: Root-relative path that opens this tab
                          interview:
                            type: string
                            description: Root-relative path that opens this tab
                          automation_proposal:
                            type: string
                            description: Root-relative path that opens this tab
                          dashboards:
                            type: array
                            items:
                              type: object
                              properties:
                                artifact_id:
                                  type: string
                                  format: uuid
                                  description: The dashboard
                                name:
                                  type: string
                                  description: The dashboard's tab label
                                link:
                                  type: string
                                  description: Root-relative path that opens this tab
                              required:
                                - artifact_id
                                - name
                                - link
                              additionalProperties: false
                            description: >-
                              One link per dashboard on this automation's tab
                              bar
                        required:
                          - dashboards
                        additionalProperties: false
                        description: '`links` as full web-app URLs; give these to the user'
                    required:
                      - automation
                      - roles
                      - dashboards_shared_individually
                      - dashboards_creator_only
                      - roster
                      - links
                      - urls
                    additionalProperties: false
                required:
                  - process_roles
                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
        '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.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.