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

# Send Clarity Interview Invites

> Invite people to record an interview about this Clarity process, and email each of them. To invite people from the organization chart or landscape, first use the Clarity hierarchy people tools to find their names and email addresses, then pass them as invitees. Set includeProcessPeople to true to also invite everyone already listed as a person on this process. At most 25 unique recipients per call. Each invitee gets a Clarity process invitation, exactly as the Invite dialog creates one; someone already invited is sent their invitation again rather than a second one. Where the team has account-free interview links on, people without a Duvo account get a link that opens the interview directly and expires after 30 days; everyone else gets the normal invitation that asks them to sign in. Revoke a pending invitation with deleteTeamInvite.



## OpenAPI

````yaml https://api.duvo.ai/v2/documentation/mintlify.json post /v2/clarity/processes/{id}/interview-invites
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/clarity/processes/{id}/interview-invites:
    post:
      tags:
        - Clarity Guest Interviews
      summary: Send Clarity Interview Invites
      description: >-
        Invite people to record an interview about this Clarity process, and
        email each of them. To invite people from the organization chart or
        landscape, first use the Clarity hierarchy people tools to find their
        names and email addresses, then pass them as invitees. Set
        includeProcessPeople to true to also invite everyone already listed as a
        person on this process. At most 25 unique recipients per call. Each
        invitee gets a Clarity process invitation, exactly as the Invite dialog
        creates one; someone already invited is sent their invitation again
        rather than a second one. Where the team has account-free interview
        links on, people without a Duvo account get a link that opens the
        interview directly and expires after 30 days; everyone else gets the
        normal invitation that asks them to sign in. Revoke a pending invitation
        with deleteTeamInvite.
      operationId: sendClarityInterviewInvites
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: id
          required: true
          description: The Clarity process ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                invitees:
                  maxItems: 25
                  type: array
                  items:
                    type: object
                    properties:
                      email:
                        type: string
                        format: email
                        description: The interview invitee's email address.
                      name:
                        type: string
                        maxLength: 200
                        description: The invitee's name, if it is known.
                    required:
                      - email
                  description: >-
                    People found through org-chart or landscape people tools. At
                    most 25 unique recipients per call, counting
                    includeProcessPeople.
                includeProcessPeople:
                  type: boolean
                  description: >-
                    Also invite every active process person with an email
                    address. Use this for people already assigned to the
                    process.
                message:
                  type: string
                  maxLength: 500
                  description: >-
                    Optional plain-text note added to each invitation email, at
                    most 500 characters. Line breaks are collapsed and markup is
                    shown as text.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  invites:
                    type: array
                    items:
                      type: object
                      properties:
                        invitationId:
                          nullable: true
                          description: >-
                            The Clarity process invitation ID. Pass it to
                            deleteTeamInvite to revoke a pending invitation.
                            Null when no invitation could be created.
                          type: string
                          format: uuid
                        email:
                          type: string
                          format: email
                          description: The invitee's normalized email address.
                        name:
                          nullable: true
                          description: The invitee's name, if known.
                          type: string
                        status:
                          type: string
                          enum:
                            - sent
                            - failed
                          description: >-
                            sent: the invitation exists and its email was sent.
                            failed: see error; when invitationId is set the
                            invitation exists and the email can be retried with
                            sendTeamInviteEmail.
                        delivery:
                          nullable: true
                          type: string
                          enum:
                            - guest_link
                            - sign_in
                          description: >-
                            How the invitation was emailed: guest_link is an
                            account-free interview link; sign_in is the normal
                            invitation that asks the person to sign in (used for
                            people who already have a Duvo account, SSO-enforced
                            organizations, or when account-free links are off).
                        error:
                          nullable: true
                          description: Why the invitation or its email failed, if it did.
                          type: string
                      required:
                        - invitationId
                        - email
                        - name
                        - status
                        - delivery
                        - error
                      additionalProperties: false
                    description: The result for each unique invitee.
                required:
                  - invites
                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
        '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.

````

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