> ## 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 Clarity Process

> Get the v2 read model for a clarity process: the process row (with operational fields like generation_error, generation_progress, custom_prompt), its captures, and the lightweight version arrays for both snapshot tabs. The full payload of any specific snapshot is fetched lazily via the unified per-snapshot detail endpoint (`GET .../snapshots/:kind/:id`); this read model deliberately doesn't carry it so the response stays small.



## OpenAPI

````yaml /api-reference/openapi.json get /v2/clarity-v2/processes/{process_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.
  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: 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: 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: 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, transformation proposals, and the
      extra-capture-request follow-up loop
paths:
  /v2/clarity-v2/processes/{process_id}:
    get:
      tags:
        - ClarityV2
      summary: Get Clarity Process
      description: >-
        Get the v2 read model for a clarity process: the process row (with
        operational fields like generation_error, generation_progress,
        custom_prompt), its captures, and the lightweight version arrays for
        both snapshot tabs. The full payload of any specific snapshot is fetched
        lazily via the unified per-snapshot detail endpoint (`GET
        .../snapshots/:kind/:id`); this read model deliberately doesn't carry it
        so the response stays small.
      operationId: getClarityProcess
      parameters:
        - schema:
            default: full
            type: string
            enum:
              - full
              - lite
          in: query
          name: captures
          required: false
          description: >-
            Capture payload mode. `full` (default) embeds each capture's
            transcript content. `lite` omits `transcript`/`videoTranscript`
            (returned as null) and relies on the
            `hasTranscript`/`hasVideoTranscript` flags; fetch content on demand
            via `GET .../captures/:capture_id`.
        - schema:
            type: string
            format: uuid
          in: path
          name: process_id
          required: true
          description: The clarity process id
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  process:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Clarity process id
                      team_id:
                        type: string
                        format: uuid
                        description: Owning team id
                      user_id:
                        type: string
                        format: uuid
                        description: Creator user id
                      name:
                        type: string
                        description: Process name
                      status:
                        type: string
                        enum:
                          - draft
                          - collecting
                          - generating
                          - generating-current-process
                          - generating-transformation-proposal
                          - review
                          - complete
                          - generation_failed
                        description: Lifecycle status
                      visibility:
                        type: string
                        enum:
                          - team
                          - restricted
                        description: >-
                          Process visibility. 'team' is workspace-visible to
                          full members; 'restricted' is visible to the creator,
                          org admins, workspace managers/admins, and accepted
                          grant holders.
                      version:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: Schema version (always 2 here)
                      generation_error:
                        nullable: true
                        description: >-
                          Error message from the most recent failed generation,
                          if any
                        type: string
                      generation_progress:
                        nullable: true
                        description: >-
                          Live progress checklist while a generation is in
                          flight; null otherwise. Field names inside the payload
                          are camelCase, matching the legacy v1
                          generation-progress shape.
                        type: object
                        properties:
                          steps:
                            type: array
                            items:
                              type: object
                              properties:
                                key:
                                  type: string
                                label:
                                  type: string
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - in_progress
                                    - complete
                                order:
                                  type: number
                                count:
                                  type: number
                              required:
                                - key
                                - label
                                - status
                                - order
                              additionalProperties: false
                        required:
                          - steps
                        additionalProperties: false
                      custom_prompt:
                        nullable: true
                        description: User-supplied custom prompt that steers generation
                        type: string
                      created_at:
                        type: string
                        description: ISO 8601 creation timestamp
                      updated_at:
                        type: string
                        description: ISO 8601 last-update timestamp
                    required:
                      - id
                      - team_id
                      - user_id
                      - name
                      - status
                      - visibility
                      - version
                      - generation_error
                      - generation_progress
                      - custom_prompt
                      - created_at
                      - updated_at
                    additionalProperties: false
                  current_process_versions:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Snapshot id
                        process_id:
                          type: string
                          format: uuid
                          description: Parent clarity_process id
                        parent_current_process_id:
                          nullable: true
                          description: >-
                            Parent current-process snapshot this draft forked
                            from
                          type: string
                          format: uuid
                        created_at:
                          type: string
                          description: ISO 8601 creation timestamp
                        status:
                          type: string
                          enum:
                            - live
                            - historic
                            - draft
                            - generating
                          description: >-
                            Versioning state. Only one 'live' row per process at
                            a time; drafts may be edited or generating before
                            promotion.
                        creator_type:
                          type: string
                          enum:
                            - human
                            - ai
                          description: >-
                            Whether this row was created by a user edit
                            ('human') or an AI pipeline run ('ai').
                        user_id:
                          nullable: true
                          description: >-
                            Creator user id (the human who edited or triggered
                            the run).
                          type: string
                          format: uuid
                        sandbox_id:
                          nullable: true
                          description: >-
                            E2B sandbox id that produced AI rows; null for user
                            edits.
                          type: string
                        last_session_id:
                          nullable: true
                          description: >-
                            Claude SDK session id for artifact-chat follow-up
                            reuse.
                          type: string
                      required:
                        - id
                        - process_id
                        - parent_current_process_id
                        - created_at
                        - status
                        - creator_type
                        - user_id
                        - sandbox_id
                        - last_session_id
                      additionalProperties: false
                    description: >-
                      All non-deleted current-process snapshots, newest first.
                      Lightweight rows (no `data`) for the version-picker UI.
                      Clients lazy-fetch the live (or selected) snapshot via the
                      per-snapshot detail endpoint.
                  transformation_proposal_versions:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Proposal id
                        process_id:
                          type: string
                          format: uuid
                          description: Parent clarity_process id
                        clarity_current_process_id:
                          type: string
                          format: uuid
                          description: >-
                            The current-process snapshot this proposal was
                            generated against (provenance only; the live
                            proposal can target any current-process snapshot).
                        parent_transformation_proposal_id:
                          nullable: true
                          description: >-
                            Parent transformation-proposal snapshot this draft
                            forked from
                          type: string
                          format: uuid
                        created_at:
                          type: string
                          description: ISO 8601 creation timestamp
                        status:
                          type: string
                          enum:
                            - live
                            - historic
                            - draft
                            - generating
                          description: >-
                            Versioning state. Only one 'live' row per process at
                            a time; drafts may be edited or generating before
                            promotion.
                        creator_type:
                          type: string
                          enum:
                            - human
                            - ai
                          description: >-
                            Whether this row was created by a user edit
                            ('human') or an AI pipeline run ('ai').
                        user_id:
                          nullable: true
                          description: >-
                            Creator user id (the human who edited or triggered
                            the run).
                          type: string
                          format: uuid
                        sandbox_id:
                          nullable: true
                          description: >-
                            E2B sandbox id that produced AI rows; null for user
                            edits.
                          type: string
                        last_session_id:
                          nullable: true
                          description: >-
                            Claude SDK session id for artifact-chat follow-up
                            reuse.
                          type: string
                        extra_capture_requests:
                          description: >-
                            Active extra-capture requests for this proposal.
                            Populated only on the live proposal version row in
                            the read-model endpoint so the FE can render
                            assignment UI without a second round-trip; historic
                            versions return an empty array. Other endpoints
                            (e.g. admin snapshot views) may omit it entirely, in
                            which case it is `undefined`. The standalone list
                            endpoint stays the source of truth for
                            paginated/admin views.
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: Extra-capture-request id
                              proposal_id:
                                type: string
                                format: uuid
                                description: >-
                                  The transformation proposal this request
                                  belongs to
                              step_id:
                                type: string
                                description: Step id within the proposal's BPMN graph
                              capture_id:
                                nullable: true
                                description: >-
                                  Capture that fulfilled this request, once one
                                  is created
                                type: string
                                format: uuid
                              requested_user_id:
                                nullable: true
                                description: Assigned team member, if any
                                type: string
                                format: uuid
                              status:
                                type: string
                                enum:
                                  - requested
                                  - captured
                                  - resolved
                                description: Lifecycle status of the request
                              gap:
                                type: string
                                description: Plain-language gap blocking automation
                              suggested_prompt:
                                nullable: true
                                description: LLM-produced suggested capture prompt
                                type: string
                              priority:
                                type: string
                                enum:
                                  - low
                                  - medium
                                  - high
                                description: Priority of fulfilling this request
                              created_at:
                                type: string
                                description: ISO 8601 creation timestamp
                              updated_at:
                                type: string
                                description: ISO 8601 last-update timestamp
                            required:
                              - id
                              - proposal_id
                              - step_id
                              - capture_id
                              - requested_user_id
                              - status
                              - gap
                              - suggested_prompt
                              - priority
                              - created_at
                              - updated_at
                            additionalProperties: false
                      required:
                        - id
                        - process_id
                        - clarity_current_process_id
                        - parent_transformation_proposal_id
                        - created_at
                        - status
                        - creator_type
                        - user_id
                        - sandbox_id
                        - last_session_id
                      additionalProperties: false
                    description: >-
                      All non-deleted transformation-proposal snapshots, newest
                      first. Lightweight rows (no `data`) for the version-picker
                      UI.
                  captures:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        processId:
                          type: string
                          format: uuid
                        userId:
                          type: string
                          format: uuid
                        userName:
                          type: string
                        type:
                          type: string
                          x-extensible-enum:
                            - video
                            - interview
                            - document
                            - screenshare
                            - meeting
                        videoUrl:
                          nullable: true
                          type: string
                        videoTranscript:
                          nullable: true
                          type: string
                        documentFileName:
                          nullable: true
                          type: string
                        documentTextMetadata:
                          nullable: true
                          type: object
                          properties:
                            pages:
                              type: array
                              items:
                                type: object
                                properties:
                                  pageNumber:
                                    type: integer
                                    exclusiveMinimum: true
                                    maximum: 9007199254740991
                                  startOffset:
                                    type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                  endOffset:
                                    type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                  lines:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        pageNumber:
                                          type: integer
                                          exclusiveMinimum: true
                                          maximum: 9007199254740991
                                        lineNumber:
                                          type: integer
                                          exclusiveMinimum: true
                                          maximum: 9007199254740991
                                        startOffset:
                                          type: integer
                                          minimum: 0
                                          maximum: 9007199254740991
                                        endOffset:
                                          type: integer
                                          minimum: 0
                                          maximum: 9007199254740991
                                      required:
                                        - pageNumber
                                        - lineNumber
                                        - startOffset
                                        - endOffset
                                      additionalProperties: false
                                required:
                                  - pageNumber
                                  - startOffset
                                  - endOffset
                                  - lines
                                additionalProperties: false
                          required:
                            - pages
                          additionalProperties: false
                        transcript:
                          nullable: true
                          type: array
                          items:
                            type: object
                            properties:
                              source:
                                type: string
                                enum:
                                  - ai
                                  - user
                                  - interviewer
                              speakerName:
                                type: string
                              message:
                                type: string
                                minLength: 1
                              timestamp:
                                type: number
                            required:
                              - source
                              - message
                            additionalProperties: false
                        hasTranscript:
                          type: boolean
                        hasVideoTranscript:
                          type: boolean
                        transcriptQuestionCount:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        status:
                          type: string
                          enum:
                            - pending
                            - recording
                            - processing
                            - complete
                            - failed
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - processId
                        - userId
                        - type
                        - videoUrl
                        - videoTranscript
                        - transcript
                        - status
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                    description: >-
                      All captures (videos, interviews, documents) attached to
                      this process. Field names follow the legacy v1 capture
                      wire format (camelCase) so existing capture consumers keep
                      working unchanged.
                required:
                  - process
                  - current_process_versions
                  - transformation_proposal_versions
                  - captures
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    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.

````