SignWell Bulk Send API

Send a document to multiple recipients in batch using templates.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/signwell-bulk-send-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

signwell-bulk-send-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: SignWell Developer API Application Bulk Send API
  description: API for creating, managing, and tracking electronic signature workflows.
  version: v1
  termsOfService: https://www.signwell.com/terms/
  contact:
    email: support@signwell.com
servers:
- url: https://www.signwell.com
tags:
- name: Bulk Send
  description: Send a document to multiple recipients in batch using templates.
paths:
  /api/v1/bulk_sends/{id}:
    get:
      summary: Get Bulk Send
      description: Returns information about the Bulk Send.
      parameters:
      - name: id
        in: path
        schema:
          $ref: '#/components/schemas/BulkSendId'
        required: true
      tags:
      - Bulk Send
      security:
      - api_key: []
      operationId: getBulkSend
      responses:
        '200':
          description: successful
          content:
            application/json:
              example:
                id: 3a337429-7411-4796-9d1c-bd68cfe0d256
                name: Parth Galen
                api_application_id: null
                documents_count: 0
                documents_completed: 0
                documents_not_completed: 0
                created_at: '2026-03-31T15:47:08Z'
                user_id: null
                status: Created
                templates:
                - id: b985f6f9-579a-485b-96c1-35d16dc8c8bf
                  name: scale_nursery/totam.key
              schema:
                $ref: '#/components/schemas/BulkSendResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              example:
                message: Missing or invalid authorization key
                meta:
                  error: api_key_unauthorized_error
                  message: Not valid authorization token
                  messages:
                  - Not valid authorization token
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: not found
          content:
            application/json:
              example:
                message: Not found
                meta:
                  error: record_not_found
                  message: Couldn't find the bulk_send requested
                  messages:
                  - Couldn't find the bulk_send requested
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
  /api/v1/bulk_sends:
    get:
      summary: List Bulk Sendings
      description: Returns information about the Bulk Send.
      tags:
      - Bulk Send
      security:
      - api_key: []
      operationId: listBulkSends
      parameters:
      - name: user_email
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/UserEmail'
      - name: limit
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/Limit'
      - name: page
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/Page'
      - name: api_application_id
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/ApiApplicationId'
      responses:
        '200':
          description: successful
          content:
            application/json:
              example:
                bulk_sends:
                - id: 81c057c3-8569-4b1d-9a7b-d46f584d815d
                  name: Argonath
                  api_application_id: null
                  documents_count: 0
                  documents_completed: 0
                  documents_not_completed: 0
                  created_at: '2026-03-31T15:47:09Z'
                  user_id: null
                  status: Created
                  template_ids:
                  - a3a6b56e-7d5c-4531-843a-047de9ae1a1e
                - id: 087c6e94-528f-462c-9601-db6b1741a7e9
                  name: Nargothrond
                  api_application_id: null
                  documents_count: 0
                  documents_completed: 0
                  documents_not_completed: 0
                  created_at: '2026-03-31T15:47:09Z'
                  user_id: null
                  status: Created
                  template_ids:
                  - a3a6b56e-7d5c-4531-843a-047de9ae1a1e
                - id: 7544ffc3-6d1a-4328-9e97-c6882e6f2e6b
                  name: Luthany
                  api_application_id: null
                  documents_count: 0
                  documents_completed: 0
                  documents_not_completed: 0
                  created_at: '2026-03-31T15:47:09Z'
                  user_id: null
                  status: Created
                  template_ids:
                  - a3a6b56e-7d5c-4531-843a-047de9ae1a1e
                - id: 5d9cbb3e-f517-4dea-b13f-351866a8f9e7
                  name: Tol-in-Gaurhoth
                  api_application_id: null
                  documents_count: 0
                  documents_completed: 0
                  documents_not_completed: 0
                  created_at: '2026-03-31T15:47:09Z'
                  user_id: null
                  status: Created
                  template_ids:
                  - a3a6b56e-7d5c-4531-843a-047de9ae1a1e
                - id: f515d01f-a50f-4633-b604-58a0cfd84ace
                  name: Marish
                  api_application_id: null
                  documents_count: 0
                  documents_completed: 0
                  documents_not_completed: 0
                  created_at: '2026-03-31T15:47:09Z'
                  user_id: null
                  status: Created
                  template_ids:
                  - a3a6b56e-7d5c-4531-843a-047de9ae1a1e
                current_page: 1
                next_page: null
                previous_page: null
                total_count: 5
                total_pages: 1
              schema:
                $ref: '#/components/schemas/BulkSendListResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              example:
                message: Missing or invalid authorization key
                meta:
                  error: api_key_unauthorized_error
                  message: Not valid authorization token
                  messages:
                  - Not valid authorization token
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
    post:
      summary: Create Bulk Send
      description: Creates a bulk send, and it validates the CSV file before creating the bulk send.
      tags:
      - Bulk Send
      security:
      - api_key: []
      operationId: createBulkSend
      parameters: []
      responses:
        '201':
          description: successful
          content:
            application/json:
              example:
                id: 6a287375-c151-435c-9bbe-856074348b25
                template_ids:
                - 3f0cead6-c915-4119-99a1-06ad11f1f684
                api_application_id: 38916d06-bdf2-4cf7-b97c-c2fb72b8c1a8
                documents_count: 0
                created_at: '2026-03-31T15:47:10Z'
                user_id: 810157d0-83c5-4309-8d75-830d4464379e
                status: Enqueuing
              schema:
                $ref: '#/components/schemas/BulkSendCreateResponse'
        '422':
          description: unprocessable entity
          content:
            application/json:
              example:
                errors:
                  bulk_send_csv:
                  - row: 2
                    data:
                      document_sender_email: not an email
                      document_sender_name: email@signwell.com
                      document_sender_label: Label
                      recipient_email: recipient@signwell.com
                      recipient_name: Recipient
                      recipient_label: Recipient
                    errors:
                    - 'The following columns have an email address invalid: document_sender_email.'
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              example:
                message: Missing or invalid authorization key
                meta:
                  error: api_key_unauthorized_error
                  message: Not valid authorization token
                  messages:
                  - Not valid authorization token
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBulkSendRequest'
        required: true
  /api/v1/bulk_sends/csv_template:
    get:
      summary: Get Bulk Send CSV Template
      description: 'Fetches a CSV template that corresponds to the provided document template IDs. CSV templates are blank CSV files that have columns containing required and optional data that can be sent when creating a bulk send. Fields can be referenced by the field label. Example: [placeholder name]_[field label] could be something like customer_address or signer_company_name (if ''Customer'' and ''Signer'' were placeholder names for templates set up in SignWell).'
      parameters:
      - name: template_ids[]
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/BulkSendTemplateIds'
      - name: base64
        in: query
        schema:
          $ref: '#/components/schemas/Base64Flag'
      tags:
      - Bulk Send
      security:
      - api_key: []
      operationId: getBulkSendCsvTemplate
      responses:
        '200':
          description: successful
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
              example: 'document_sender_email,document_sender_name

                fart_138@becker.test,Fart

                '
            application/json:
              example:
                data: ZG9jdW1lbnRfc2VuZGVyX2VtYWlsLGRvY3VtZW50X3NlbmRlcl9uYW1lCnRlcnJ5X3NjYXJ5XzE0MkBuaWNvbGFzLnRlc3QsU2NhcnkgVGVycnkK
              schema:
                $ref: '#/components/schemas/BulkSendCsvTemplateResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              example:
                message: Missing or invalid authorization key
                meta:
                  error: api_key_unauthorized_error
                  message: Not valid authorization token
                  messages:
                  - Not valid authorization token
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: not found
          content:
            application/json:
              example:
                message: Not found
                meta:
                  error: record_not_found
                  message: Couldn't find the template requested
                  messages:
                  - Couldn't find the template requested
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
  /api/v1/bulk_sends/validate_csv:
    post:
      summary: Validate Bulk Send CSV
      description: Validates a Bulk Send CSV file before creating the Bulk Send. It will check the structure of the CSV and the data it contains, and return any errors found.
      parameters: []
      tags:
      - Bulk Send
      security:
      - api_key: []
      operationId: validateBulkSendCsv
      responses:
        '200':
          description: successful
          content:
            application/json:
              example:
                bulk_send_csv: IkRvY3VtZW50IFNlbmRlciBFbWFpbCIsJ0RvY3VtZW50IFNlbmRlciBOYW1lJywvXERvY3VtZW50LSBTZW5kZXIgPUxhYmVsLEBSZWNpcGllbnRfIEVtYWlsLFJlY2lwaWVudCAqTmFtZSxgUmVjaXBpZW50fiFAIyQlXiYqKCl7fVtdPD4uPyBMYWJlbGAKc2VuZGVyQHNpZ253ZWxsLmNvbSxTZW5kZXIsU2VuZGVyLHJlY2lwaWVudEBzaWdud2VsbC5jb20sUmVjaXBpZW50LFJlY2lwaWVudAplbWFpbEBzb21lLmNvbSwsLGVtYWlsMkBzb21lLmNvbQo=
                template_ids:
                - a80001a0-2936-44ae-b0a2-4eb4e70ef3ef
                skip_row_errors: false
                api_application_id: null
                name: arena_linger/in.css
                subject: Please complete arena_linger/in.css
                message: <p>Hey there,</p><p>&nbsp;</p><p>Please review and complete this document. You can click on the document below to get started.</p>
                apply_signing_order: false
              schema:
                $ref: '#/components/schemas/BulkSendValidateCsvResponse'
        '422':
          description: unprocessable entity
          content:
            application/json:
              example:
                errors:
                  bulk_send_csv:
                  - row: 2
                    data:
                      document_sender_email: not an email
                      document_sender_name: email@signwell.com
                      document_sender_label: Label
                      recipient_email: recipient@signwell.com
                      recipient_name: Recipient
                      recipient_label: Recipient
                    errors:
                    - 'The following columns have an email address invalid: document_sender_email.'
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              example:
                message: Missing or invalid authorization key
                meta:
                  error: api_key_unauthorized_error
                  message: Not valid authorization token
                  messages:
                  - Not valid authorization token
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkSendCsvRequest'
        required: true
  /api/v1/bulk_sends/{id}/documents:
    get:
      summary: Get Bulk Send Documents
      description: Returns information about the Bulk Send.
      tags:
      - Bulk Send
      security:
      - api_key: []
      operationId: getBulkSendDocuments
      parameters:
      - name: id
        in: path
        schema:
          $ref: '#/components/schemas/BulkSendId'
        required: true
      - name: limit
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/Limit'
      - name: page
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/Page'
      responses:
        '200':
          description: successful
          content:
            application/json:
              example:
                id: 5d88cabc-9352-458a-b19c-80991c4a8255
                name: Minas Tirith
                api_application_id: null
                created_at: '2026-03-31T15:47:14Z'
                user_id: null
                status: Created
                documents:
                - id: 66891ea4-616f-4ecc-ada9-80e5283273f6
                  archived: false
                  created_at: '2026-03-31T15:47:13Z'
                  decline_message: null
                  embedded_edit_url: https://www.signwell.com/edit/document/5153b085-19b0-4688-9694-100eff33b4e3/
                  error_message: null
                  embedded_preview_url: null
                  language: en
                  name: cruelty_notebook/sint.flac
                  requester_email_address: 158_terry_scary@von.example
                  status: Created
                  test_mode: false
                  updated_at: '2026-03-31T15:47:13Z'
                  allow_decline: true
                  allow_reassign: true
                  api_application_id: null
                  custom_requester_email: carolynn_okuneva@predovic.test
                  custom_requester_name: Kylo Ren
                  decline_redirect_url: http://aufderhar-shanahan.test/mira
                  embedded_signing: false
                  expires_in: 10
                  metadata:
                    et: numquam
                    molestias: dolores
                  redirect_url: http://emard.example/preston_heathcote
                  reminders: false
                  apply_signing_order: false
                  message: <p>Hey there,</p><p>&nbsp;</p><p>Please review and complete this document. You can click on the document below to get started.</p>
                  subject: Please complete cruelty_notebook/sint.flac
                  labels:
                  - id: e980859e-f839-404c-8f0d-b4808fec2821
                    name: Malcom Thompson
                  - id: ce0ee7ec-ceb4-43cc-881e-35bf56c5a901
                    name: Melony Stracke
                  fields:
                  - - api_id: CheckBox_71
                      height: '13.0'
                      page: 1
                      required: true
                      type: checkbox
                      value: null
                      width: '13.0'
                      x: 1.1
                      y: 1.1
                      name: null
                      recipient_id: null
                      signing_elements_group_id: d6b47015-754d-417f-8c53-9ffa43cba00a
                    - api_id: CheckBox_72
                      height: '13.0'
                      page: 1
                      required: true
                      type: checkbox
                      value: null
                      width: '13.0'
                      x: 1.1
                      y: 1.1
                      name: null
                      recipient_id: null
                    - api_id: Signature_70
                      height: '32.0'
                      page: 1
                      required: true
                      type: signature
                      value: null
                      width: '112.0'
                      x: 1.1
                      y: 1.1
                      recipient_id: afc00701-d0db-4cad-9fee-f3f12e9d513e
                  files:
                  - name: eveniet.doc
                    pages_number: 1
                  copied_contacts:
                  - name: The Hon. Noel Schowalter
                    email: benjamin@turner-witting.example
                  recipients:
                  - email: lloyd@krajcik-gottlieb.test
                    id: afc00701-d0db-4cad-9fee-f3f12e9d513e
                    message: null
                    name: Pres. Syreeta Kreiger
                    passcode: null
                    send_email: null
                    send_email_delay: null
                    status: created
                    subject: null
                    signing_order: 46
                    signing_url: https://www.signwell.com/docs/ba8dcb6e10/
                    bounced: null
                    bounced_details: null
                    attachment_requests:
                    - name: arena-corn/nostrum.jpeg
                      required: true
                      url: https://www.signwell.com/document_attachments/D98kY33DQZcn6N0OjW6Di615KBLw/?access=f5b4e237-bad0-46b1-864c-225debae311f
                  - email: caterina@lesch-rolfson.example
                    id: 65ef4984-18b1-4b19-9ca0-258c607c5acd
                    message: null
                    name: Napoleon Schuster
                    passcode: null
                    send_email: null
                    send_email_delay: null
                    status: created
                    subject: null
                    signing_order: 47
                    signing_url: https://www.signwell.com/docs/f82f345105/
                    bounced: null
                    bounced_details: null
                    attachment_requests: []
                  checkbox_groups:
                  - id: d6b47015-754d-417f-8c53-9ffa43cba00a
                    group_name: null
                    recipient_id: null
                    checkbox_ids:
                    - CheckBox_71
                    validation: null
                    required: false
                current_page: 1
                next_page: null
                previous_page: null
                total_count: 1
                total_pages: 1
              schema:
                $ref: '#/components/schemas/BulkSendDocumentsResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              example:
                message: Missing or invalid authorization key
                meta:
                  error: api_key_unauthorized_error
                  message: Not valid authorization token
                  messages:
                  - Not valid authorization token
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: not found
          content:
            application/json:
              example:
                message: Not found
                meta:
                  error: record_not_found
                  message: Couldn't find the bulk_send requested
                  messages:
                  - Couldn't find the bulk_send requested
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
components:
  schemas:
    DocumentResponse:
      type: object
      properties:
        test_mode:
          type: boolean
        id:
          type: string
        api_application_id:
          type: string
          format: uuid
          nullable: true
        requester_email_address:
          type: string
          format: email
        custom_requester_name:
          type: string
          nullable: true
        custom_requester_email:
          type: string
          format: email
          nullable: true
        name:
          type: string
        subject:
          type: string
        message:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        recipients:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              email:
                type: string
              body:
                type: string
              message:
                type: string
                nullable: true
              subject:
                type: string
                nullable: true
              send_email:
                type: boolean
                nullable: true
              send_email_delay:
                type: integer
                nullable: true
              signing_order:
                type: integer
              signing_url:
                type: string
                format: url
                nullable: true
              embedded_signing_url:
                type: string
                format: url
                nullable: true
              bounced:
                type: boolean
                nullable: true
              bounced_details:
                type: string
                nullable: true
              attachment_requests:
                type: array
                items:
                  $ref: '#/components/schemas/AttachmentRequestInfo'
              passcode:
                type: string
                nullable: true
              status:
                type: string
                nullable: true
            required:
            - name
            - email
        status:
          type: string
          description: 'Possible values: Draft, Created, Sending, Sent, Pending, Viewed, Completed, Manually completed, Declined, Canceled, Bounced, Blocked, Error, Expired'
        reminders:
          type: boolean
        archived:
          type: boolean
        embedded_signing:
          type: boolean
        embedded_edit_url:
          type: string
          format: url
          nullable: true
        embedded_preview_url:
          type: string
          format: url
          nullable: true
        apply_signing_order:
          type: boolean
        redirect_url:
          type: string
          format: url
          nullable: true
        decline_redirect_url:
          type: string
          format: url
          nullable: true
        language:
          type: string
        expires_in:
          type: integer
        decline_message:
          type: string
          nullable: true
        error_message:
          type: string
          nullable: true
        template_id:
          type: string
          nullable: true
        template_ids:
          type: array
          items:
            type: string
        embedded_signing_notifications:
          type: boolean
        attachment_requests:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              recipient_id:
                type: string
              required:
                type: boolean
            required:
            - name
            - recipient_id
        files:
          type: array
          items:
            $ref: '#/components/schemas/FileInfo'
        copied_contacts:
          type: array
          items:
            $ref: '#/components/schemas/CopiedContactInfo'
        fields:
          type: array
          items:
            type: array
            items:
              type: object
              properties:
                x:
                  type: number
                  format: float
                y:
                  type: number
                  format: float
                page:
                  type: integer
                recipient:
                  type: object
                  properties:
                    email:
                      type: string
                      format: email
                    name:
                      type: string
                  required:
                  - email
                  - name
                api_id:
                  type: string
                  format: uuid
                name:
                  type: string
                  nullable: true
                date_format:
                  $ref: '#/components/schemas/DateFormat'
                fixed_width:
                  type: boolean
                formula:
                  type: string
                label:
                  type: string
                lock_sign_date:
                  type: boolean
                required:
                  type: boolean
                type:
                  $ref: '#/components/schemas/FieldType'
                validation:
                  $ref: '#/components/schemas/TextValidation'
                value:
                  oneOf:
                  - type: string
                  - type: boolean
                  - type: number
                  nullable: true
                height:
                  type: string
                width:
                  type: string
                recipient_id:
                  type: string
                  nullable: true
                signing_elements_group_id:
                  type: string
                  format: uuid
                placeholder_name:
                  type: string
                options:
                  type: array
                  description: Dropdown options (for dropdown/select fields)
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      api_id:
                        type: string
                      is_other:
                        type: boolean
                default_option:
                  type: string
                  description: Default selected option
                allow_other:
                  type: boolean
                  description: Whether "Other" option is allowed
              required:
              - x
              - y
              - page
        allow_decline:
          type: boolean
          nullable: true
        allow_reassign:
          type: boolean
          nullable: true
        labels:
          type: array
          items:
            $ref: '#/components/schemas/LabelInfo'
        checkbox_groups:
          type: array
          items:
            $ref: '#/components/schemas/CheckboxGroupInfo'
      required:
      - id
      - test_mode
    RateLimitErrorResponse:
      type: object
      description: Rate limit exceeded error response (HTTP 429)
      properties:
        error:
          type: string
          description: Rate limit error message indicating the limit and reset time
      required:
      - error
    AttachmentRequestInfo:
      type: object
      description: Attachment request information
      properties:
        name:
          type: string
          description: Name of the attachment request
        url:
          type: string
          format: url
          description: URL of the uploaded attachment (when available)
        required:
          type: boolean
          description: Whether the attachment is required
      required:
      - name
      - required
    BulkSendDocumentsResponse:
      type: object
      description: Paginated list of documents in a bulk send
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        api_application_id:
          type: string
          format: uuid
          nullable: true
        created_at:
          type: string
          format: date-time
        user_id:
          type: string
          format: uuid
          nullable: true
        status:
          type: string
        documents:
          type: array
          items:
            $ref: '#/components/schemas/DocumentResponse'
        current_page:
          type: integer
        next_page:
          type: integer
          nullable: true
        previous_page:
          type: integer
          nullable: true
        total_count:
          type: integer
        total_pages:
          type: integer
      required:
      - id
      - documents
      - current_page
      - total_count
      - total_pages
    BulkSendListItem:
      type: object
      description: Bulk send summary in list responses
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        api_application_id:
          type: string
          format: uuid
          nullable: true
        documents_count:
          type: integer
        documents_completed:
          type: integer
        documents_not_completed:
          type: integer
        created_at:
          type: string
          format: date-time
        user_id:
          type: string
          format: uuid
          nullable: true
        status:
          type: string
        template_ids:
          type: array
          items:
            type: string
            format: uuid
      required:
      - id
      - name
      - documents_count
      - documents_completed
      - documents_not_completed
      - created_at
      - status
      - template_ids
    BulkSendValidateCsvResponse:
      type: object
      desc

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/signwell/refs/heads/main/openapi/signwell-bulk-send-api-openapi.yml