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

# Create Participant(s) by Envelope ID

> The **Create Participant(s) by Envelope ID** endpoint adds one or more participants to a specified envelope.
Accepts either a single participant object or a bulk request with an 'items' array.
Participants are associated to the parent Envelope and can sign multiple fields in different documents.

When creating participants, the following limits apply:
  - Maximum participants: 200




## OpenAPI

````yaml https://api.gonitro.dev/openapi.json post /sign/envelopes/{envelopeID}/participants
openapi: 3.1.0
info:
  title: Nitro Sign Public API
  description: REST API for Nitro Sign
  version: '0.1'
servers:
  - url: https://api.gonitro.dev
security:
  - bearerAuth: []
paths:
  /sign/envelopes/{envelopeID}/participants:
    post:
      tags:
        - Sign
      summary: Create Participant(s) by Envelope ID
      description: >
        The **Create Participant(s) by Envelope ID** endpoint adds one or more
        participants to a specified envelope.

        Accepts either a single participant object or a bulk request with an
        'items' array.

        Participants are associated to the parent Envelope and can sign multiple
        fields in different documents.


        When creating participants, the following limits apply:
          - Maximum participants: 200
      operationId: createParticipant
      parameters:
        - name: envelopeID
          in: path
          description: >-
            A unique UUIDv4 string that identifies the envelope in the Nitro
            system.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Participant creation request - single or bulk
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/SingleParticipantRequest'
                - $ref: '#/components/schemas/BulkParticipantRequest'
            examples:
              Single Participant:
                description: Create a single participant
                value:
                  email: user@gonitro.com
                  role: SIGNER
                  authentication:
                    type: AccessCode
                    accessCode: '123456'
              Bulk Participants:
                description: Create multiple participants in a single request
                value:
                  items:
                    - email: user@gonitro.com
                      role: SIGNER
                      authentication:
                        type: AccessCode
                        accessCode: '123456'
                    - email: user1@gonitro.com
                      role: SIGNER
                      authentication:
                        type: SMS
                        countryCode: '+1'
                        phoneNumber: '1234567890'
        required: true
      responses:
        '200':
          description: >-
            Multiple participants created successfully. Returns an object with
            an 'items' array containing all created participants.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkParticipantResponse'
        '201':
          description: Participant created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Participant'
        '400':
          description: Invalid request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/BadRequestProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
components:
  schemas:
    SingleParticipantRequest:
      description: Create a single participant
      properties:
        email:
          type: string
          description: The email address of the participant
        role:
          type: string
          description: >
            Role of the participant.

            - `signer`: A participant with the signer role can have fields
            assigned to them in order to sign the documents in the envelope.

            - `cc`: A participant with the cc role has read-only access. They
            can view the documents but cannot interact with them, so you cannot
            assign fields to a cc participant.
          enum:
            - signer
            - cc
        authentication:
          description: >
            Participant authentication


            When inviting a participant to a Nitro Sign flow, you must define
            how they will authenticate before signing the document.


            There are two supported methods:


            - Access code: A static code that you provide to the participant.

            - SMS code: A dynamic code that is sent to the participant's phone
            number.
          oneOf:
            - $ref: '#/components/schemas/AccessCode'
            - $ref: '#/components/schemas/SMS'
      title: Single Participant Request
    BulkParticipantRequest:
      description: Create multiple participants wrapped in an items array
      properties:
        items:
          type: array
          description: List of participants to create.
          items:
            $ref: '#/components/schemas/ParticipantCreate'
      title: Bulk Participant Request
    BulkParticipantResponse:
      type: object
      description: >-
        Response containing multiple created participants wrapped in an items
        array
      properties:
        items:
          type: array
          description: >-
            List of all participants created in this request. Each participant
            contains its unique ID and configuration.
          items:
            $ref: '#/components/schemas/Participant'
            description: >-
              List of all participants created in this request. Each participant
              contains its unique ID and configuration.
            title: Participants
          title: Participants
      required:
        - items
      title: Bulk Participant Response
    Participant:
      type: object
      properties:
        ID:
          type: string
          format: uuid
          description: The unique identifier of the participant
        email:
          type: string
          description: The email address of the participant
        role:
          type: string
          description: The role of the participant
        authentication:
          description: Participant authentication
          oneOf:
            - $ref: '#/components/schemas/AccessCode'
            - $ref: '#/components/schemas/SMS'
    BadRequestProblemDetail:
      type: object
      description: Bad Request error details
      example:
        type: https://developers.gonitro.com/docs/build-nitro/errors#400-bad-request
        title: Bad Request
        status: 400
        detail: Request validation failed
        instance: /sign/envelopes
        validation_errors:
          name: must not be blank
      properties:
        type:
          type: string
          description: A URI reference that identifies the problem type
        title:
          type: string
          description: A short, human-readable summary of the problem type
        status:
          type: integer
          format: int32
          description: The HTTP status code
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence
        extensions:
          type: object
          additionalProperties: {}
          description: Additional problem-specific properties
    UnauthorizedProblemDetail:
      type: object
      description: Unauthorized error details
      example:
        type: >-
          https://developers.gonitro.com/docs/build-nitro/errors#401-unauthorized
        title: Unauthorized
        status: 401
        detail: Missing or invalid Authorization header
        instance: /sign/envelopes
      properties:
        type:
          type: string
          description: A URI reference that identifies the problem type
        title:
          type: string
          description: A short, human-readable summary of the problem type
        status:
          type: integer
          format: int32
          description: The HTTP status code
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence
        extensions:
          type: object
          additionalProperties: {}
          description: Additional problem-specific properties
    NotFoundProblemDetail:
      type: object
      description: Not Found error details
      example:
        type: https://developers.gonitro.com/docs/build-nitro/errors#404-not-found
        title: Not Found
        status: 404
        detail: Envelope with ID 'envelop-123' not found
        instance: /sign/envelopes/envelop-123
      properties:
        type:
          type: string
          description: A URI reference that identifies the problem type
        title:
          type: string
          description: A short, human-readable summary of the problem type
        status:
          type: integer
          format: int32
          description: The HTTP status code
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence
        instance:
          type: string
          description: A URI reference that identifies the specific occurrence
        extensions:
          type: object
          additionalProperties: {}
          description: Additional problem-specific properties
    AccessCode:
      description: Access code
      properties:
        accessCode:
          type: string
          description: Access code. It must contain between 4-32 characters.
        type:
          type: string
          enum:
            - AccessCode
          title: type
      title: Access Code
    SMS:
      description: SMS
      properties:
        countryCode:
          type: string
          description: >-
            Country code. It must start with `+` and be followed by 1-4 digits.
            For example +1, +55, +598
        phoneNumber:
          type: string
          description: >-
            Phone number. Enter digits only, without a country code or
            formatting characters.
        type:
          type: string
          enum:
            - SMS
          title: type
      title: SMS
    ParticipantCreate:
      type: object
      description: Request to create a new participant
      properties:
        email:
          type: string
          description: The email address of the participant
        role:
          type: string
          description: >
            Role of the participant.

            - `signer`: A participant with the signer role can have fields
            assigned to them in order to sign the documents in the envelope.

            - `cc`: A participant with the cc role has read-only access. They
            can view the documents but cannot interact with them, so you cannot
            assign fields to a cc participant.
          enum:
            - signer
            - cc
        authentication:
          description: >
            Participant authentication


            When inviting a participant to a Nitro Sign flow, you must define
            how they will authenticate before signing the document.


            There are two supported methods:


            - Access code: A static code that you provide to the participant.

            - SMS code: A dynamic code that is sent to the participant's phone
            number.
          oneOf:
            - $ref: '#/components/schemas/AccessCode'
            - $ref: '#/components/schemas/SMS'
      required:
        - role
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````