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

# Batch Add Clarity Landscape Node People

> Add one or more people to multiple Process Landscape nodes in a bounded batch. Email entries can create invitations; each node-person outcome reports success, conflict, or delivery failure.



## OpenAPI

````yaml /api-reference/openapi.json post /v2/organizations/{orgId}/clarity/hierarchy/people/batch
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: 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, transformation proposals, and the
      extra-capture-request follow-up loop
paths:
  /v2/organizations/{orgId}/clarity/hierarchy/people/batch:
    post:
      tags:
        - Clarity
      summary: Batch Add Clarity Landscape Node People
      description: >-
        Add one or more people to multiple Process Landscape nodes in a bounded
        batch. Email entries can create invitations; each node-person outcome
        reports success, conflict, or delivery failure.
      operationId: batchAddClarityLandscapeNodePeople
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: orgId
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                nodeIds:
                  minItems: 1
                  maxItems: 20
                  type: array
                  items:
                    type: string
                    format: uuid
                people:
                  minItems: 1
                  maxItems: 20
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        nullable: true
                        type: string
                        maxLength: 200
                      email:
                        nullable: true
                        type: string
                      processRole:
                        nullable: true
                        type: string
                        maxLength: 200
                      teamRole:
                        type: string
                        enum:
                          - team:owner
                          - team:superadmin
                          - team:admin
                          - team:manager
                          - team:builder
                          - team:member
                          - team:clarity-member
                    required:
                      - name
                      - email
                      - processRole
                      - teamRole
                    additionalProperties: false
              required:
                - nodeIds
                - people
              additionalProperties: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  outcomes:
                    minItems: 1
                    maxItems: 100
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            nodeId:
                              type: string
                              format: uuid
                            email:
                              nullable: true
                              type: string
                              format: email
                            name:
                              nullable: true
                              type: string
                            outcome:
                              type: string
                              enum:
                                - assigned
                            processPerson:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                userId:
                                  nullable: true
                                  type: string
                                  format: uuid
                                name:
                                  nullable: true
                                  type: string
                                email:
                                  nullable: true
                                  type: string
                                  format: email
                                role:
                                  nullable: true
                                  type: string
                                status:
                                  nullable: true
                                  type: string
                                  enum:
                                    - pending
                                invitationId:
                                  nullable: true
                                  type: string
                                  format: uuid
                                captureCount:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                createdAt:
                                  type: string
                              required:
                                - id
                                - userId
                                - name
                                - email
                                - role
                                - status
                                - invitationId
                                - captureCount
                                - createdAt
                              additionalProperties: false
                            invitationDeliveryStatus:
                              type: string
                              enum:
                                - sent
                                - not_needed
                                - failed
                          required:
                            - nodeId
                            - email
                            - name
                            - outcome
                            - processPerson
                            - invitationDeliveryStatus
                          additionalProperties: false
                        - type: object
                          properties:
                            nodeId:
                              type: string
                              format: uuid
                            email:
                              nullable: true
                              type: string
                              format: email
                            name:
                              nullable: true
                              type: string
                            outcome:
                              type: string
                              enum:
                                - already_present
                            processPerson:
                              nullable: true
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                userId:
                                  nullable: true
                                  type: string
                                  format: uuid
                                name:
                                  nullable: true
                                  type: string
                                email:
                                  nullable: true
                                  type: string
                                  format: email
                                role:
                                  nullable: true
                                  type: string
                                status:
                                  nullable: true
                                  type: string
                                  enum:
                                    - pending
                                invitationId:
                                  nullable: true
                                  type: string
                                  format: uuid
                                captureCount:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                createdAt:
                                  type: string
                              required:
                                - id
                                - userId
                                - name
                                - email
                                - role
                                - status
                                - invitationId
                                - captureCount
                                - createdAt
                              additionalProperties: false
                            invitationDeliveryStatus:
                              type: string
                              enum:
                                - not_needed
                          required:
                            - nodeId
                            - email
                            - name
                            - outcome
                            - processPerson
                            - invitationDeliveryStatus
                          additionalProperties: false
                        - type: object
                          properties:
                            nodeId:
                              type: string
                              format: uuid
                            email:
                              nullable: true
                              type: string
                              format: email
                            name:
                              nullable: true
                              type: string
                            outcome:
                              type: string
                              enum:
                                - failed
                            processPerson:
                              nullable: true
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                userId:
                                  nullable: true
                                  type: string
                                  format: uuid
                                name:
                                  nullable: true
                                  type: string
                                email:
                                  nullable: true
                                  type: string
                                  format: email
                                role:
                                  nullable: true
                                  type: string
                                status:
                                  nullable: true
                                  type: string
                                  enum:
                                    - pending
                                invitationId:
                                  nullable: true
                                  type: string
                                  format: uuid
                                captureCount:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                createdAt:
                                  type: string
                              required:
                                - id
                                - userId
                                - name
                                - email
                                - role
                                - status
                                - invitationId
                                - captureCount
                                - createdAt
                              additionalProperties: false
                            invitationDeliveryStatus:
                              type: string
                              enum:
                                - not_needed
                            error:
                              type: object
                              properties:
                                code:
                                  type: string
                                  enum:
                                    - NODE_NOT_FOUND
                                    - PROCESS_NOT_FOUND
                                    - CONCURRENT_CONFLICT
                                    - ASSIGNMENT_FAILED
                                message:
                                  type: string
                                  minLength: 1
                                retryable:
                                  type: boolean
                              required:
                                - code
                                - message
                                - retryable
                              additionalProperties: false
                          required:
                            - nodeId
                            - email
                            - name
                            - outcome
                            - processPerson
                            - invitationDeliveryStatus
                            - error
                          additionalProperties: false
                  counts:
                    type: object
                    properties:
                      requested:
                        type: integer
                        minimum: 1
                        maximum: 100
                      assigned:
                        type: integer
                        minimum: 0
                        maximum: 100
                      alreadyPresent:
                        type: integer
                        minimum: 0
                        maximum: 100
                      failed:
                        type: integer
                        minimum: 0
                        maximum: 100
                      invitationsSent:
                        type: integer
                        minimum: 0
                        maximum: 100
                      invitationFailures:
                        type: integer
                        minimum: 0
                        maximum: 100
                    required:
                      - requested
                      - assigned
                      - alreadyPresent
                      - failed
                      - invitationsSent
                      - invitationFailures
                    additionalProperties: false
                required:
                  - outcomes
                  - counts
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
                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
        '422':
          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.

````