Undersign
v1.1
Create Free Account
API Reference API reference · Signature Requests
POST /bulk-signature-requests

Create Bulk Request

Batch dispatch independent signing requests across common templates, up to 100 per batch.

Authentication

This endpoint requires a bearer token. See Authentication and API Keys.

Headers

HeaderRequiredDescription
Authorization required Bearer <BEARER_TOKEN>
Content-Type required application/json
Idempotency-Key optional A unique key for the batch operation. Reuse it when retrying the same batch. See Idempotency.

Parameters

This endpoint takes no query or path parameters.

Request body

FieldRequiredTypeDescription
templates required array Array of template UUID strings shared by the batch.
requests required array Array of recipient sets, up to 100. Each entry produces one signing request.
requests[].signers required array Array of {"name": "...", "email": "..."} objects for that request.
mode optional string email (default, auto-sends links) or local (retrieve links via API).
message optional string Custom invitation email body. Defaults to Please review and sign these documents.

Request example

curl -X POST "https://toolkit.undersign.app/api/v1.1/bulk-signature-requests" \
  -H "Authorization: Bearer <BEARER_TOKEN>" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <UNIQUE_KEY>" \
  -d '{
    "templates": ["<template-uuid>"],
    "requests": [
      { "signers": [{ "name": "Signer One", "email": "signer1@example.com" }] },
      { "signers": [{ "name": "Signer Two", "email": "signer2@example.com" }] }
    ],
    "mode": "email",
    "message": "Please review and complete this document."
  }'

Response

A successful batch returns 201 Created with the batch GUID and the package GUID of every created request. A processed batch decrements 1 API credit.

201 Created
{
  "success": true,
  "request_id": "...",
  "timestamp": "...",
  "data": {
    "bulk_batch_guid": "BULK-20260917-ABCDEF12",
    "package_guids": [
      "PKG01-ABCDE-12345",
      "PKG02-FGHIJ-67890"
    ]
  }
}

Response status & error codes

CodeError codeDescription
201 - Batch processed. Decrements 1 API credit.
400 VALIDATION_ERROR Empty templates or requests array.
400 BATCH_SIZE_EXCEEDED requests array exceeds 100 items.
400 SIGNER_COUNT_MISMATCH A request row has an incorrect number of signers.
400 INVALID_SIGNER_DATA Missing name or email in a signer row.
400 INVALID_EMAIL Invalid email format detected.
403 CREDIT_LIMIT_REACHED Insufficient API credits. See Quotas & Credits.
404 TEMPLATE_NOT_FOUND One or more template UUIDs do not exist.
429 RATE_LIMIT_EXCEEDED Too many requests (limit: 100/min). See Rate Limits.