---
title: "Sign multiple documents at once using a saved signature"
method: POST
path: "/api/v1/documents/bulk-sign"
tags: ["Documents"]
---

# Sign multiple documents at once using a saved signature

`POST /api/v1/documents/bulk-sign`

## Request

- Base URL: `https://api.korala.ai`
- URL: `https://api.korala.ai/api/v1/documents/bulk-sign`
- Auth: one of:
  - API key in header `X-API-Key`
  - `bearer` (a scheme the document does not define)

## Headers

- `user-agent` string, required

## Request body

- BulkSignRequestDto
  - `documentIds` string[], required: Document IDs to sign (max 500)
  - `signerEmail` string: Signer email. Exactly one of signerEmail or signerExternalId is required. When one person holds several roles on the same document and so appears as several signers with this email, the call takes the lowest signing order that has not signed or declined, so repeated calls walk the roles in order. Use signerExternalId to name one specific signer instead.
  - `signerExternalId` string: Signer external ID. Exactly one of signerEmail or signerExternalId is required.
  - `autoFillDateValue` string: Value to auto-fill Date fields, as ISO YYYY-MM-DD. Defaults to today. Each field renders it through its own dateFormat, so one batch can span fields with different formats. A non-ISO value is stamped verbatim.
  - `documents` BulkSignDocumentOverrideDto[]: Per-document field overrides
    - `documentId` string, required: Document ID to apply overrides to
    - `fields` BulkSignFieldValueDto[], required: Field value overrides for this document
      - `fieldId` string, required: Field ID to override
      - `value` string, required: Value to set on the field
      - `signatureImageUrl` string: Signature image as a base64 PNG data URL (for Signature/Initials fields)

## Response `200`

- BulkSignResponseDto
  - `signed` number, required: Number of documents successfully signed
  - `failed` number, required: Number of documents that failed
  - `results` BulkSignDocumentResultDto[], required: Per-document results
    - `documentId` string, required
    - `success` boolean, required
    - `error` string, nullable
    - `allSigned` boolean, nullable: Whether all signers have signed (triggers completion)

---

[API](https://skmtc.dev/korala/apis/korala-public-api.md) · [All operations](https://skmtc.dev/korala/apis/korala-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/korala/apis/korala-public-api/revisions/5c4d7810c507?raw)
