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:
Seal is false, at least one signer must be providedAllowDelegation enabled cannot have authenticationsSendSignRequest enabled, SignRequestMode defaults to 2Type property in authentication/verification objects is case-sensitive and must be capitalizedThe request body for creating a transaction
Content-Type: application/json
Schema: CreateTransactionRequest
| Name | Type | Description |
|---|---|---|
| Seal | Boolean | Required. Whether to seal the transaction (no signers required). When true, the transaction is automatically completed without requiring signatures. |
| Reference | String | Custom reference identifier for the transaction |
| PostbackUrl | String | URL to receive status notifications about the transaction |
| DaysToExpire | Integer | Number of days until the transaction expires. If 0, uses organization default. Maximum value depends on organization settings. |
| SendEmailNotifications | Boolean | Whether to send email notifications to signers and receivers |
| SignRequestMode | enum:
| Mode for sign request delivery:
|
| Language | enum:
| Language code for transaction interface and emails |
| Context | Object | Custom JSON object for additional transaction data. Only JSON objects are allowed (no arrays or primitives). |
| Signers | Array<CreateSignerRequest> | List of signers for the transaction |
| Receivers | Array<CreateReceiverRequest> | List of receivers who get copies of completed documents |
Example:
Transaction created successfully
Content-Type: application/json
Schema: Transaction
| Name | Type | Description |
|---|---|---|
| Id | String | Unique transaction identifier |
| Seal | Boolean | Whether the transaction is sealed (no signers required) |
| Reference | String | Custom reference identifier |
| PostbackUrl | String | Webhook URL for status notifications |
| DaysToExpire | Integer | Days until the transaction expires. |
| SendEmailNotifications | Boolean | Send e-mail notifications to the sender. |
| SignRequestMode | enum:
| Sign request delivery mode
|
| Language | enum:
| Language code for the Sender email notifications, and transaction receipt. |
| Status | enum:
| Current transaction status:
|
| Context | Object | Custom JSON object for additional transaction metadata that was provided during creation. |
| CreatedDateTime | String | When the transaction was created |
| ModifiedDateTime | String | When the transaction was last modified |
| CanceledDateTime | String | When the transaction was cancelled, if applicable |
| Files | Object | Files attached to the transaction as a key-value mapping. Key is the file ID, value is the file information. |
| Signers | Array<Signer> | 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. |
| Receivers | Array<Receiver> | 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. |
| CancelationReason | String | The reason for the cancellation of the transaction, if applicable. This is provided when the transaction is cancelled via the DELETE endpoint. |
Bad request - validation error
Content-Type: application/json
Schema: ErrorResponse
| Name | Type | Description |
|---|---|---|
| type | String | A URI reference identifying the problem type. This property is always present in RFC 7807 responses. |
| title | String | A short, human-readable summary of the problem |
| detail | String | A human-readable explanation specific to this occurrence of the problem |
| status | Integer | The HTTP status code |
| instance | String | A URI reference that identifies the specific occurrence of the problem |
| Message | String | Deprecated (Legacy Format Only): 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. |
Example:
Unauthorized
Content-Type: application/json
Schema: ErrorResponse
| Name | Type | Description |
|---|---|---|
| type | String | A URI reference identifying the problem type. This property is always present in RFC 7807 responses. |
| title | String | A short, human-readable summary of the problem |
| detail | String | A human-readable explanation specific to this occurrence of the problem |
| status | Integer | The HTTP status code |
| instance | String | A URI reference that identifies the specific occurrence of the problem |
| Message | String | Deprecated (Legacy Format Only): 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. |
Internal server error
Content-Type: application/json
Schema: ErrorResponse
| Name | Type | Description |
|---|---|---|
| type | String | A URI reference identifying the problem type. This property is always present in RFC 7807 responses. |
| title | String | A short, human-readable summary of the problem |
| detail | String | A human-readable explanation specific to this occurrence of the problem |
| status | Integer | The HTTP status code |
| instance | String | A URI reference that identifies the specific occurrence of the problem |
| Message | String | Deprecated (Legacy Format Only): 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. |