> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hitl.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Invite reviewers by email

> Emails each address an invitation to review the workflow. People without a HITL account create one from the email. Needs `humans:write`.



## OpenAPI

````yaml POST /api/workflows/{id}/invitations
openapi: 3.1.0
info:
  title: HITL API
  version: 1.0.0
  description: >-
    Run the workflows you build in HITL, follow each run until a person has
    answered, and manage who reviews them.
servers:
  - url: https://api.hitl.sh/v1
security:
  - bearerAuth: []
tags:
  - name: Workflows
  - name: Runs
  - name: Reviewers
  - name: Webhooks
  - name: Account
  - name: Uploads
paths:
  /api/workflows/{id}/invitations:
    post:
      tags:
        - Reviewers
      summary: Invite reviewers by email
      description: >-
        Emails each address an invitation to review the workflow. People without
        a HITL account create one from the email. Needs `humans:write`.
      operationId: reviewers-invite
      parameters:
        - name: id
          in: path
          required: true
          description: The workflow id
          schema:
            type: string
            example: 6af2ce4e8207961501f59472
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - emails
              properties:
                emails:
                  type: array
                  items:
                    type: string
                role:
                  type: string
                  enum:
                    - member
                    - admin
                  description: Default `member`
                custom_message:
                  type: string
                phone:
                  type: string
                  description: E.164 phone number, only with a single email
            example:
              emails:
                - sam.okafor@example.com
                - priya.shah@example.com
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                error: false
                msg: Invitations sent
                data:
                  sent:
                    - sam.okafor@example.com
                  already_members:
                    - priya.shah@example.com
                  invalid: []
                  declined_recently: []
                  failed: []
                  email_sent: true
        '400':
          $ref: '#/components/responses/E400'
        '401':
          $ref: '#/components/responses/E401'
        '403':
          $ref: '#/components/responses/E403'
        '404':
          $ref: '#/components/responses/E404'
components:
  responses:
    E400:
      description: Invalid input; `msg` says what to fix
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            msg: Invalid execution id
    E401:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            msg: Invalid API key
    E403:
      description: The key lacks the scope, or the signup is not confirmed yet
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            code: confirmation_required
            msg: 'Confirm the signup first: ask your human for the code in the email'
    E404:
      description: Not found, or not yours
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            msg: Workflow not found
  schemas:
    Error:
      type: object
      required:
        - error
        - msg
      properties:
        error:
          type: boolean
          example: true
        msg:
          type: string
          description: What went wrong, in plain words
        code:
          type: string
          description: >-
            A machine-readable reason, when there is one (for example
            `confirmation_required`)
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key: `hitl_live_…`'

````

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