Nitro Software Sign API

The Sign API from Nitro Software — 22 operation(s) for sign.

OpenAPI Specification

nitro-software-sign-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Nitro Public Authentication Sign API
  description: REST API for Nitro Sign
  version: '0.1'
servers:
- url: https://api.gonitro.dev
security:
- bearerAuth: []
tags:
- name: Sign
paths:
  /sign/envelopes/{envelopeID}:cancel:
    put:
      tags:
      - Sign
      summary: Cancel Envelope by ID
      description: 'The **Cancel Envelope by ID** endpoint cancels the signing request for the envelope specified by its UUIDv4 identifier.

        This endpoint allows you to cancel an envelope and changes its status to Cancelled but keeps it available for reference and reuse after updates. In Cancelled status, no further signing operations can be done on the envelope.


        **Note:** Only envelopes that have been sent for signing can be cancelled. Draft envelopes cannot be cancelled.

        '
      operationId: cancelEnvelope
      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
      responses:
        '200':
          description: Envelope cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedEnvelope'
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '409':
          description: Envelope cannot be modified
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/EnvelopeInInvalidStateProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
  /sign/envelopes/{envelopeID}/documents:reorder:
    put:
      tags:
      - Sign
      summary: Reorder Documents by Envelope ID
      description: 'The **Reorder Documents by Envelope ID** endpoint reorders all documents associated with a specific envelope based on the order specified in the request body.

        Documents are returned in an `items` array within the JSON response reflecting the new order.

        '
      operationId: reorderDocuments
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderDocumentsRequest'
        required: true
      responses:
        '200':
          description: Documents reordered successfully.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/PendingDocumentResponse'
                - $ref: '#/components/schemas/UploadedDocumentResponse'
                - $ref: '#/components/schemas/FailedDocumentResponse'
                - $ref: '#/components/schemas/SignedDocumentResponse'
                - $ref: '#/components/schemas/SealedDocumentResponse'
              examples:
                Reordered Documents Response Example:
                  description: Reordered Documents Response Example
                  value:
                    items:
                    - ID: 987e6543-e21b-12d3-a456-426614174999
                      name: First Document
                      statue: pending
                      createdAt: '2023-11-07T05:31:56Z'
                    - ID: bc58d090-1368-4764-96b2-e59f8e4c0e0c
                      name: Second Document
                      statue: pending
                      createdAt: '2023-11-08T05:31:56Z'
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '409':
          description: Envelope cannot be modified
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/EnvelopeInInvalidStateProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
  /sign/envelopes/{envelopeID}:send-reminders:
    post:
      tags:
      - Sign
      summary: Send Reminders for Envelope
      description: 'The **Send Reminders for Envelope** endpoint triggers reminder notifications to pending participants of a specified envelope using its UUIDv4 identifier.

        '
      operationId: sendReminders
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendReminders'
      responses:
        '202':
          description: Reminders triggered successfully
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '409':
          description: Reminder cannot be sent
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/EnvelopeInInvalidStateProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
  /sign/envelopes/{envelopeID}:send-for-signing:
    post:
      tags:
      - Sign
      summary: Send Envelope for Signing
      description: 'The **Send Envelope for Signing** endpoint sends an envelope to participants for signature collection.


        **Note**: All documents in the envelope must have an "uploaded" status before the envelope can be sent for signature.

        '
      operationId: sendForSigning
      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
      responses:
        '200':
          description: Envelope successfully sent for signing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '409':
          description: Envelope is in an invalid state for sending
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/EnvelopeInInvalidStateProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
  /sign/envelopes/{envelopeID}/participants:batch-delete:
    post:
      tags:
      - Sign
      summary: Delete Participants by Participant IDs
      description: The **Delete Participants** endpoint permanently deletes multiple participants from an envelope.
      operationId: deleteParticipants
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteParticipantsRequest'
        required: true
      responses:
        '200':
          description: Participants deleted successfully
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
  /sign/envelopes/{envelopeID}/participants:
    get:
      tags:
      - Sign
      summary: List Participants by Envelope ID
      description: 'The **List Participant by Envelope ID** endpoint returns all participants associated with a specific envelope.

        The request must include the envelope ID to ensure the complete set of participants is retrieved for the correct envelope.

        '
      operationId: listParticipants
      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
      responses:
        '200':
          description: List participants
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParticipantList'
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
    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.\nAccepts either a single participant object or a bulk request with an 'items' array.\nParticipants are associated to the parent Envelope and can sign multiple fields in different documents.\n\nWhen creating participants, the following limits apply:\n  - Maximum participants: 200\n"
      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:
        '201':
          description: Participant created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Participant'
        '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'
        '400':
          description: Invalid request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/BadRequestProblemDetail'
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
  /sign/envelopes/{envelopeID}/documents/{documentID}/fields:batch-delete:
    post:
      tags:
      - Sign
      summary: Delete Fields by Field IDs
      description: 'The **Delete Fields** endpoint permanently deletes multiple fields from a document within an envelope.

        '
      operationId: deleteFields
      parameters:
      - name: envelopeID
        in: path
        description: A unique string that identifies the envelope in the Nitro system.
        required: true
        schema:
          type: string
          format: uuid
      - name: documentID
        in: path
        description: A unique string that identifies the document in the Nitro system.
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteFieldsRequest'
        required: true
      responses:
        '200':
          description: Fields deleted successfully
        '404':
          description: Envelope or document not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
  /sign/envelopes/{envelopeID}/documents/{documentID}/fields:
    get:
      tags:
      - Sign
      summary: List Fields by Document ID
      description: The **List Fields by Document ID** endpoint retrieves all fields associated with a specific document within an envelope. The request must include the envelope and document ID to ensure the complete set of fields is retrieved for the correct document.
      operationId: listFields
      parameters:
      - name: envelopeID
        in: path
        description: A unique string that identifies the envelope in the Nitro system.
        required: true
        schema:
          type: string
          format: uuid
      - name: documentID
        in: path
        description: A unique string that identifies the document in the Nitro system.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: List of all fields. Each field contains its unique ID and configuration.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/Checkbox'
                - $ref: '#/components/schemas/Company'
                - $ref: '#/components/schemas/Custom'
                - $ref: '#/components/schemas/Date'
                - $ref: '#/components/schemas/Initials'
                - $ref: '#/components/schemas/Name'
                - $ref: '#/components/schemas/Signature'
                - $ref: '#/components/schemas/Title'
              examples:
                List Fields Response Example:
                  description: List Fields Response Example
                  value:
                    items:
                    - fieldID: 987e6543-e21b-12d3-a456-426614174999
                      participantID: 123e4567-e89b-12d3-a456-426614174000
                      documentID: 456e7890-e12b-34d5-a678-426614175000
                      page: 1
                      boundingBox:
                      - 100.0
                      - 200.0
                      - 150.0
                      - 50.0
                      required: true
                      type: signature
        '404':
          description: Envelope or document not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
    post:
      tags:
      - Sign
      summary: Create Field(s) by Document ID
      description: 'The **Create Field(s) by Document ID** endpoint creates one or more fields on a document and assigns it to a participant.

        Accepts either a single field object or a bulk request with an ''items'' array containing multiple field objects.

        '
      operationId: createField
      parameters:
      - name: envelopeID
        in: path
        description: A unique string that identifies the envelope in the Nitro system.
        required: true
        schema:
          type: string
          format: uuid
      - name: documentID
        in: path
        description: A unique string that identifies the document in the Nitro system.
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: 'Field creation request. Can be a single field object or bulk with ''items'' array.

          The `type` field determines which properties are required:

          - `checkbox` - Checkbox field

          - `company` - Company field

          - `custom` - Custom text field

          - `date` - Date field

          - `initials` - Initials field

          - `name` - Name field

          - `signature` - Signature field

          - `title` - Title field

          '
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateCheckboxField'
              - $ref: '#/components/schemas/CreateCompanyField'
              - $ref: '#/components/schemas/CreateCustomField'
              - $ref: '#/components/schemas/CreateDateField'
              - $ref: '#/components/schemas/CreateInitialsField'
              - $ref: '#/components/schemas/CreateNameField'
              - $ref: '#/components/schemas/CreateSignatureField'
              - $ref: '#/components/schemas/CreateTitleField'
              - $ref: '#/components/schemas/BulkFieldRequest'
            examples:
              Single Field:
                description: Single Field
                value:
                  participantID: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  page: 1
                  boundingBox:
                  - 100.0
                  - 200.0
                  - 150.0
                  - 250.0
                  required: true
                  type: signature
              Bulk Fields:
                description: Bulk Fields
                value:
                  items:
                  - participantID: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    page: 1
                    boundingBox:
                    - 100.0
                    - 200.0
                    - 150.0
                    - 250.0
                    required: true
                    type: signature
                  - participantID: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    page: 1
                    boundingBox:
                    - 200.0
                    - 300.0
                    - 150.0
                    - 50.0
                    required: false
                    type: date
                    format: MM/DD/YYYY
                    modifiable: true
        required: true
      responses:
        '201':
          description: Single Field created successfully
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/CreateCheckboxFieldResponse'
                - $ref: '#/components/schemas/CreateCompanyFieldResponse'
                - $ref: '#/components/schemas/CreateCustomFieldResponse'
                - $ref: '#/components/schemas/CreateDateFieldResponse'
                - $ref: '#/components/schemas/CreateInitialsFieldResponse'
                - $ref: '#/components/schemas/CreateNameFieldResponse'
                - $ref: '#/components/schemas/CreateSignatureFieldResponse'
                - $ref: '#/components/schemas/CreateTitleFieldResponse'
              example:
                ID: 987e6543-e21b-12d3-a456-426614174999
                participantID: 123e4567-e89b-12d3-a456-426614174000
                documentID: 456e7890-e12b-34d5-a678-426614175000
                page: 1
                boundingBox:
                - 100.0
                - 200.0
                - 150.0
                - 250.0
                required: true
                type: signature
        '200':
          description: Fields created successfully
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/CreateCheckboxFieldResponse'
                - $ref: '#/components/schemas/CreateCompanyFieldResponse'
                - $ref: '#/components/schemas/CreateCustomFieldResponse'
                - $ref: '#/components/schemas/CreateDateFieldResponse'
                - $ref: '#/components/schemas/CreateInitialsFieldResponse'
                - $ref: '#/components/schemas/CreateNameFieldResponse'
                - $ref: '#/components/schemas/CreateSignatureFieldResponse'
                - $ref: '#/components/schemas/CreateTitleFieldResponse'
              example:
                items:
                - ID: 987e6543-e21b-12d3-a456-426614174999
                  participantID: 123e4567-e89b-12d3-a456-426614174000
                  documentID: 456e7890-e12b-34d5-a678-426614175000
                  page: 1
                  boundingBox:
                  - 100.0
                  - 200.0
                  - 150.0
                  - 250.0
                  required: true
                  type: signature
                - ID: 654e3210-e21b-12d3-a456-426614174888
                  participantID: 123e4567-e89b-12d3-a456-426614174000
                  documentID: 456e7890-e12b-34d5-a678-426614175000
                  page: 1
                  boundingBox:
                  - 200.0
                  - 300.0
                  - 150.0
                  - 50.0
                  required: false
                  type: date
                  format: MM/DD/YYYY
                  modifiable: true
        '400':
          description: Invalid request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/BadRequestProblemDetail'
        '404':
          description: Envelope or document not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '422':
          description: The requested participant does not exist on the given package
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
  /sign/envelopes/{envelopeID}/documents:
    get:
      tags:
      - Sign
      summary: List Documents by Envelope ID
      description: 'The **List Documents by Envelope ID** endpoint retrieves all documents associated with a specific envelope. Documents are returned in an `items` array within the JSON response.

        The request must include the envelope ID to ensure the complete set of documents is retrieved for the correct envelope.

        '
      operationId: listDocuments
      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
      responses:
        '200':
          description: List all documents associated with the envelope.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/PendingDocumentResponse'
                - $ref: '#/components/schemas/UploadedDocumentResponse'
                - $ref: '#/components/schemas/FailedDocumentResponse'
                - $ref: '#/components/schemas/SignedDocumentResponse'
                - $ref: '#/components/schemas/SealedDocumentResponse'
              examples:
                List Documents Response Example:
                  description: List Documents Response Example
                  value:
                    items:
                    - ID: 987e6543-e21b-12d3-a456-426614174999
                      name: Document
                      statue: pending
                      createdAt: '2023-11-07T05:31:56Z'
        '404':
          description: Envelope not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/NotFoundProblemDetail'
        '401':
          description: Unauthorized - Invalid or missing JWT token
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedProblemDetail'
    post:
      tags:
      - Sign
      summary: Create Document by Envelope ID
      description: "In Nitro, a *Document* is a file that participants in an eSignature Envelope will read and sign. This could be an employment contract, NDA, legal agreement, banking form, or any other file required in your signature workflow.\n\nThe **Create Document by Envelope ID** endpoint supports uploading a **single** file per request.\nEvery document must be part of an Envelope container. To upload a document, first [Create an Envelope](https://developers.gonitro.com/docs/api-reference/envelope/create-envelope) and retain the Envelope `ID`.\n\n### Supported file formats\nWhen a `contentType` is provided in the metadata, the following formats are accepted and will be converted to PDF automatically:\n\n#### Document formats\n\n| Extension | Content Type |\n|-----------|-------------|\n| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |\n| .doc | application/msword |\n| .dot | application/msword |\n| .docm | application/vnd.ms-word.document.macroenabled.12 |\n| .dotx | application/vnd.openxmlformats-officedocument.wordprocessingml.template |\n| .dotm | application/vnd.ms-word.template.macroenabled.12 |\n\n#### Spreadsheet formats\n\n| Extension | Content Type |\n|-----------|-------------|\n| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |\n| .xls | application/vnd.ms-excel |\n| .xlt | application/vnd.ms-excel |\n| .xlsm | application/vnd.ms-excel.sheet.macroenabled.12 |\n| .xltx | application/vnd.openxmlformats-officedocument.spreadsheetml.template |\n| .xltm | application/vnd.ms-excel.template.macroenabled.12 |\n\n#### Presentation formats\n\n| Extension | Content Type |\n|-----------|-------------|\n| .pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |\n| .ppt | application/vnd.ms-powerpoint |\n\n#### Web formats\n\n| Extension | Content Type |\n|-----------|-------------|\n| .html | text/html |\n| .htm | text/html |\n| .rtf | application/rtf |\n| .xml | application/xml |\n\n#### Image formats\n\n| Extension | Content Type |\n|-----------|-------------|\n| .png | image/png |\n| .jpg | image/jpeg |\n| .jpeg | image/jpeg |\n| .tif | image/tiff |\n| .tiff | image/tiff |\n| .gif | image/gif |\n| .psd | image/vnd.adobe.photoshop |\n| .eps | application/postscript |\n| .svg | image/svg+xml |\n\n#### Other formats\n\n| Extension | Content Type |\n|-----------|-------------|\n| .csv | text/csv |\n\n#### PDF formats\n\n| Extension | Content Type |\n|-----------|-------------|\n| .pdf | application/pdf |\n\nWhen `contentType` is omitted from the metadata, only PDF files are accepted.\n\nWhen uploading a document, the following limits apply:\n  - Maximum pages per document: 250\n  - Maximum size per document: 20Mb\n  - Maximum documents per envelope: 15\n  - Maximum size per envelope: 300 Mb\n"
      operationId: createDocument
      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
      - name: nitroDocumentID
        in: query
        description: "  An ID reference to a user-associated Nitro Document. Instead of uploading a new file, you can attach an existing Nitro Document to an envelope by referencing its `nitroDocumentID`. This lets you reuse documents that have already been uploaded.\n\n  To do this, provide the `nitroDocumentID` **instead** of a file in the `payload`.\n\n  Important: `nitroDocumentID` and `payload` parameters are mutually exclusive. You must choose one of the following combinations:\n\n  `payload` + `metadata`\n\n  `nitroDocumentID` + `metadata`\n\n  Providing both in the same request will throw an error.\n"
        required: false
        schema:
          type: string
          description: "  An ID reference to a user-associated Nitro Document. Instead of uploading a new file, you can attach an existing Nitro Document to an envelope by referencing its `nitroDocumentID`. This lets you reuse documents that have already been uploaded.\n\n  To do this, provide the `nitroDocumentID` **instead** of a file in the `payload`.\n\n  Important: `nitroDocumentID` and `payload` parameters are mutually exclusive. You must choose one of the following combinations:\n\n  `payload` + `metadata`\n\n  `nitroDocumentID` + `metadata`\n\n  Providing both in the same request will throw an error.\n"
          minimum: 0
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                metadata:
                  $ref: '#/components/schemas/EnvelopeWebDocumentRequestMetadata'
                  description: The Metadata for the uploaded document
                payload:
                  type: string
                  format: binary
                  description: "The document to upload, provided as binary data. Each file can be up to 20 MB and 250 pages.\n\nAn Envelope can include up to 15 files total, with a combined size limit of 300 MB.\n\nExample:\n```bash\n   curl -X POST \"https://api.gonitro.dev/sign/envelopes/{envelopeID}/documents\"   -H \"Authorization: Bearer <token>\"   -F 'metadata={\"name\":\"<your_document_name>\",\"contentType\":\"application/pdf\"};type=application/json'   -F \"payload=@/path/to/document.pdf\"  # @ symbol reads file content\n  ```\n"
              required:
              - metadata
            encoding:
              metadata:
                contentType: application/json
              payload:
                contentType: application/octet-stream
              nitroDocumentID:
                contentType: text/plain
      responses:
        '201':
          description: 'When a document is created you will get a unique ID for it. You can add fields to the document later by referencing its unique ID using other endpoints in this API. When the document is first created, it will be in a pending state unti

# --- truncated at 32 KB (168 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nitro-software/refs/heads/main/openapi/nitro-software-sign-api-openapi.yml