> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# Create Transaction

**Method:** `POST`

**Path:** `/api/transaction`

Create a new transaction for document signing. A transaction contains signers, receivers,
and configuration for the signing process. After creating a transaction, you can upload
files and start the signing process.

**Important Notes:**

- If `Seal` is false, at least one signer must be provided
- Providing no signers with `Seal` true allows for automatic sealing.
- Signers with `AllowDelegation` enabled cannot have authentications
- If any signer has `SendSignRequest` enabled, `SignRequestMode` defaults to 2
- Authentication array requires explicit versioning header (Accept: application/json;version=1)
- The `Type` property in authentication/verification objects is case-sensitive and must be capitalized

## Request Body  (required)

The request body for creating a transaction

Content-Type: `application/json`

**Schema:** [CreateTransactionRequest](/openapi/models/CreateTransactionRequest.md)

#### Properties

| Name                       | Type                                                                                                                                                                                                                 | Description                                                                                                                                                                                 |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Seal**                   | Boolean                                                                                                                                                                                                              | **Required**.  <p>Whether to seal the transaction (no signers required). When true, the transaction is automatically completed without requiring signatures.</p>                            |
| **Reference**              | String                                                                                                                                                                                                               | <p>Custom reference identifier for the transaction</p>                                                                                                                                      |
| **PostbackUrl**            | String                                                                                                                                                                                                               | <p>URL to receive status notifications about the transaction</p>                                                                                                                            |
| **DaysToExpire**           | Integer                                                                                                                                                                                                              | <p>Number of days until the transaction expires. If 0, uses organization default. Maximum value depends on organization settings.</p>                                                       |
| **SendEmailNotifications** | Boolean                                                                                                                                                                                                              | <p>Whether to send email notifications to signers and receivers</p>                                                                                                                         |
| **SignRequestMode**        | enum: <ul> <li><code>0</code></li> <li><code>1</code></li> <li><code>2</code></li> </ul>                                                                                                                             | <p>Mode for sign request delivery:</p> <ul> <li>0: No sign requests</li> <li>1: Send immediately</li> <li>2: Send when ready (default when signers have SendSignRequest enabled)</li> </ul> |
| **Language**               | enum: <ul> <li><code>de-DE</code></li> <li><code>en-US</code></li> <li><code>es-ES</code></li> <li><code>fr-FR</code></li> <li><code>it-IT</code></li> <li><code>pl-PL</code></li> <li><code>nl-NL</code></li> </ul> | <p>Language code for transaction interface and emails</p>                                                                                                                                   |
| **Context**                | Object                                                                                                                                                                                                               | <p>Custom JSON object for additional transaction data. Only JSON objects are allowed (no arrays or primitives).</p>                                                                         |
| **Signers**                | Array\<[CreateSignerRequest](/openapi/models/CreateSignerRequest.md)>                                                                                                                                                | <p>List of signers for the transaction</p>                                                                                                                                                  |
| **Receivers**              | Array\<[CreateReceiverRequest](/openapi/models/CreateReceiverRequest.md)>                                                                                                                                            | <p>List of receivers who get copies of completed documents</p>                                                                                                                              |

**Example:**

```json
{
  "Seal": false,
  "Reference": "CONTRACT-2024-001",
  "PostbackUrl": "https://example.com/webhook/signhost",
  "DaysToExpire": 30,
  "SendEmailNotifications": true,
  "SignRequestMode": 2,
  "Language": "en-US",
  "Context": {
    "department": "HR",
    "contract_type": "employment"
  },
  "Signers": [
    {
      "Email": "john.doe@example.com",
      "SendSignRequest": true,
      "SignRequestMessage": "Please review and sign the attached employment contract.",
      "Language": "en-US",
      "Verifications": [
        {
          "Type": "Scribble",
          "RequireHandsignature": true
        }
      ]
    }
  ],
  "Receivers": [
    {
      "Email": "hr@example.com",
      "Message": "The employment contract has been signed and is attached.",
      "Language": "en-US"
    }
  ]
}
```

## Responses

### 200

Transaction created successfully

Content-Type: `application/json`

**Schema:** [Transaction](/openapi/models/Transaction.md)

#### Properties

| Name                       | Type                                                                                                                                                                                                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Id**                     | String                                                                                                                                                                                                                  | <p>Unique transaction identifier</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Seal**                   | Boolean                                                                                                                                                                                                                 | <p>Whether the transaction is sealed (no signers required)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Reference**              | String                                                                                                                                                                                                                  | <p>Custom reference identifier</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **PostbackUrl**            | String                                                                                                                                                                                                                  | <p>Webhook URL for status notifications</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **DaysToExpire**           | Integer                                                                                                                                                                                                                 | <p>Days until the transaction expires.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **SendEmailNotifications** | Boolean                                                                                                                                                                                                                 | <p>Send e-mail notifications to the sender.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **SignRequestMode**        | enum: <ul> <li><code>1</code></li> <li><code>2</code></li> </ul>                                                                                                                                                        | <p>Sign request delivery mode</p> <ul> <li>1: Send immediately</li> <li>2: Send sequentially when ready (default when signers have SendSignRequest enabled) <strong>Note:</strong> Ignored if <code>SendSignRequest</code> is set to false.</li> </ul>                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Language**               | enum: <ul> <li><code>de-DE</code></li> <li><code>en-US</code></li> <li><code>es-ES</code></li> <li><code>fr-FR</code></li> <li><code>it-IT</code></li> <li><code>pl-PL</code></li> <li><code>nl-NL</code></li> </ul>    | <p>Language code for the Sender email notifications, and transaction receipt.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Status**                 | enum: <ul> <li><code>5</code></li> <li><code>10</code></li> <li><code>20</code></li> <li><code>30</code></li> <li><code>40</code></li> <li><code>50</code></li> <li><code>60</code></li> <li><code>70</code></li> </ul> | <p>Current transaction status:</p> <ul> <li>5: Waiting For Document - Transaction created, documents being processed/prepared</li> <li>10: Waiting For Signer - Documents ready, waiting for signers to sign</li> <li>20: In Progress - A signer is currently in the process of signing</li> <li>30: Signed - All signers have successfully signed the transaction</li> <li>40: Rejected - One or more signers rejected the transaction</li> <li>50: Expired - Transaction expired before all signers could complete</li> <li>60: Cancelled - Transaction was cancelled by the creator</li> <li>70: Failed - Transaction failed due to system errors or validation issues</li> </ul> |
| **Context**                | Object                                                                                                                                                                                                                  | <p>Custom JSON object for additional transaction metadata that was provided during creation.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **CreatedDateTime**        | String                                                                                                                                                                                                                  | <p>When the transaction was created</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **ModifiedDateTime**       | String                                                                                                                                                                                                                  | <p>When the transaction was last modified</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **CanceledDateTime**       | String                                                                                                                                                                                                                  | <p>When the transaction was cancelled, if applicable</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Files**                  | Object                                                                                                                                                                                                                  | <p>Files attached to the transaction as a key-value mapping. Key is the file ID, value is the file information.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Signers**                | Array\<[Signer](/openapi/models/Signer.md)>                                                                                                                                                                             | <p>List of signers attached to this transaction, including their configuration, current status, verification methods, and signing progress. Each signer represents an individual who needs to sign the document or has already completed the signing process.</p>                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **Receivers**              | Array\<[Receiver](/openapi/models/Receiver.md)>                                                                                                                                                                         | <p>List of receivers who will receive copies of the completed signed documents. Receivers are notified via email once the transaction is successfully completed and all required signatures have been obtained.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **CancelationReason**      | String                                                                                                                                                                                                                  | <p>The reason for the cancellation of the transaction, if applicable. This is provided when the transaction is cancelled via the DELETE endpoint.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

### 400

Bad request - validation error

Content-Type: `application/json`

**Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md)

#### Properties

| Name         | Type    | Description                                                                                                                                                                                                                                                                                       |
| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **type**     | String  | <p>A URI reference identifying the problem type. This property is always present in RFC 7807 responses.</p>                                                                                                                                                                                       |
| **title**    | String  | <p>A short, human-readable summary of the problem</p>                                                                                                                                                                                                                                             |
| **detail**   | String  | <p>A human-readable explanation specific to this occurrence of the problem</p>                                                                                                                                                                                                                    |
| **status**   | Integer | <p>The HTTP status code</p>                                                                                                                                                                                                                                                                       |
| **instance** | String  | <p>A URI reference that identifies the specific occurrence of the problem</p>                                                                                                                                                                                                                     |
| **Message**  | String  | <p><strong>Deprecated (Legacy Format Only):</strong> Contains the error message in the old response format. This property appears alone in legacy error responses and is mutually exclusive with the RFC 7807 properties above. Will be phased out as we complete our transition to RFC 7807.</p> |

**Example:**

```json
{
  "Message": "Invalid request data provided."
}
```

### 401

Unauthorized

Content-Type: `application/json`

**Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md)

#### Properties

| Name         | Type    | Description                                                                                                                                                                                                                                                                                       |
| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **type**     | String  | <p>A URI reference identifying the problem type. This property is always present in RFC 7807 responses.</p>                                                                                                                                                                                       |
| **title**    | String  | <p>A short, human-readable summary of the problem</p>                                                                                                                                                                                                                                             |
| **detail**   | String  | <p>A human-readable explanation specific to this occurrence of the problem</p>                                                                                                                                                                                                                    |
| **status**   | Integer | <p>The HTTP status code</p>                                                                                                                                                                                                                                                                       |
| **instance** | String  | <p>A URI reference that identifies the specific occurrence of the problem</p>                                                                                                                                                                                                                     |
| **Message**  | String  | <p><strong>Deprecated (Legacy Format Only):</strong> Contains the error message in the old response format. This property appears alone in legacy error responses and is mutually exclusive with the RFC 7807 properties above. Will be phased out as we complete our transition to RFC 7807.</p> |

### 500

Internal server error

Content-Type: `application/json`

**Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md)

#### Properties

| Name         | Type    | Description                                                                                                                                                                                                                                                                                       |
| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **type**     | String  | <p>A URI reference identifying the problem type. This property is always present in RFC 7807 responses.</p>                                                                                                                                                                                       |
| **title**    | String  | <p>A short, human-readable summary of the problem</p>                                                                                                                                                                                                                                             |
| **detail**   | String  | <p>A human-readable explanation specific to this occurrence of the problem</p>                                                                                                                                                                                                                    |
| **status**   | Integer | <p>The HTTP status code</p>                                                                                                                                                                                                                                                                       |
| **instance** | String  | <p>A URI reference that identifies the specific occurrence of the problem</p>                                                                                                                                                                                                                     |
| **Message**  | String  | <p><strong>Deprecated (Legacy Format Only):</strong> Contains the error message in the old response format. This property appears alone in legacy error responses and is mutually exclusive with the RFC 7807 properties above. Will be phased out as we complete our transition to RFC 7807.</p> |
