The unique identifier of the transaction containing the file
| | **fileId** | path | string | Yes |The unique identifier of the file within the transaction
| ## Responses ### 200 File retrieved successfully Content-Type: `application/pdf` **Type:** string ### 401 Unauthorized - user not creator of transaction Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| ### 403 Forbidden - user is not the creator of the transaction Content-Type: `application/json` #### Properties | Name | Type | Description | | ----------- | ------ | ----------- | | **Message** | String | | ### 404 File not found or not yet processed Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "Either the file or transaction does not exist or the file has not yet been processed." } ``` ### 410 Gone - the document is no longer available (archived or deleted) Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "The document is no longer available" } ``` ### 500 Internal server error Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| --- url: /openapi/files/getReceipt.md --- # Download receipt for a transaction **Method:** `GET` **Path:** `/api/file/receipt/{transactionId}` Downloads the receipt for a completed transaction (Status=30). The receipt contains information about the signing process and serves as proof of the completed transaction. ## Parameters | Name | In | Type | Required | Description | | ----------------- | ---- | ------ | -------- | ----------------------------------------------------------- | | **transactionId** | path | string | Yes |The transaction ID for which to download the receipt
| ## Responses ### 200 Receipt file successfully retrieved Content-Type: `application/pdf` **Type:** string ### 401 Authorization denied - user not authorized to access this transaction Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "Authorization has been denied for this request." } ``` ### 404 Receipt not found Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "receipt not found." } ``` Content-Type: `text/plain` **Type:** string **Example:** ``` receipt not found. ``` ### 406 Not Acceptable - unsupported Accept header Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "The requested content type is not supported." } ``` ### 410 Gone - receipt is no longer available (archived or deleted) Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "The receipt is no longer available" } ``` ### 500 Internal server error Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "An internal error occurred while processing the request." } ``` --- url: /openapi/files/uploadFile.md --- # Upload PDF file or file metadata **Method:** `PUT` **Path:** `/api/transaction/{transactionId}/file/{fileId}` Upload either a PDF file or file metadata to a transaction. The Content-Type header determines which endpoint is used: - `application/pdf`: Upload PDF file content - `application/json`: Upload file metadata Add a file to the transaction or overwrite an existing file with the same \`fileId\`\`. The file parameter can either be the PDF document or JSON metadata. If your file requires metadata, the JSON metadata MUST be supplied first. #### File digest header When uploading a file, it is possible to send a digest header along with the HTTP request. This header should contain a base64-encoded SHA checksum of the uploaded file. For more information on digest headers, refer to [RFC 3230](https://www.ietf.org/rfc/rfc3230.txt) for format instructions and [RFC 5843](https://www.ietf.org/rfc/rfc5843.txt) for the supported algorithms. #### Supported Algorithms Currently, only SHA-256 and SHA-512 are accepted as hash algorithms. While RFC 3230 originally included MD5 and SHA-1, these weaker algorithms are no longer supported for security reasons. Using SHA-256 or SHA-512 ensures compliance with modern security standards. For example: `Digest: SHA-256=HtHRpLOZBEMnTpQS6Zn12veC4uhjtMwamfVAwmPQPmE=` ## Parameters | Name | In | Type | Required | Description | | | ----------------- | ------ | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | | **transactionId** | path | string | Yes |The transaction to add the files to
| | | **fileId** | path | string | Yes |A unique identifier for the file within the transaction. Must not exceed 255 characters and cannot contain control characters or the following special characters: :, \*, ?, \, /, ", \<, >, | , or null characters.
Content type - either application/pdf for file upload or application/json for metadata
| | | **Digest** | header | string | No |SHA-256 or SHA-512 checksum of the PDF file for integrity verification (only for PDF uploads)
| | ## Request Body (required) Either PDF file content or file metadata JSON #### application/json Content-Type: `application/json` **Schema:** [FileMetadata](/openapi/models/FileMetadata.md) #### Properties | Name | Type | Description | | | ---------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **DisplayName** | String | Null |Human-readable display name for the file that will be shown to users in the signing interface. If not provided, the fileId will be used as the display name.
| | **DisplayOrder** | Integer | Null |Numeric value determining the order in which files are displayed and processed when multiple files are present in a transaction. Lower numbers appear first. If not specified, a timestamp-based order is used.
| | **Description** | String | Null |Detailed description of the file's purpose and contents. This helps users understand what they are signing and may be displayed in the signing interface or audit logs.
| | **SetParaph** | Boolean | Null |Indicates whether a paraph (initial) should be set on each page of the document in addition to the main signature. When true, signers will be required to initial every page. Defaults to false if not specified.
| | **Signers** | Object |Dictionary mapping signer identifiers to their specific configuration for this file. Each signer can have different form sets and signing requirements for the same document. The key is the signer identifier.
| | | **FormSets** | Object |Nested dictionary structure defining form fields and signing areas within the document. The outer key represents the form set name, and the inner key represents individual field identifiers within that set. Form sets allow grouping related fields together for organization and signer assignment.
The following characters are allowed as a key / field name: a-z A-Z 0-9 \_.
Map of pdf field definitions.
| | #### application/pdf Content-Type: `application/pdf` **Type:** string ## Responses ### 200 File was updated successfully (PDF upload) Content-Type: `application/json` #### Properties | Name | Type | Description | | ----------- | ------ | ----------- | | **Message** | String | | ### 201 New file was created successfully (PDF upload) Content-Type: `application/json` #### Properties | Name | Type | Description | | ----------- | ------ | ----------- | | **Message** | String | | ### 202 Metadata accepted, waiting for actual file (metadata upload) Content-Type: `application/json` #### Properties | Name | Type | Description | | ----------- | ------ | ----------- | | **Message** | String | | ### 400 Bad request - validation error, digest mismatch, or invalid JSON Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| **Examples:** _digestMismatch:_ ```json { "Message": "SHA-256 digest mismatch" } ``` _unsupportedAlgorithm:_ ```json { "Message": "Hash algorithm [MD5] is not supported." } ``` _invalidFileId:_ ```json { "Message": "FileId is invalid" } ``` _signerNotFound:_ ```json { "Message": "Signer 'signer1' not found." } ``` _missingContentType:_ ```json { "Message": "Unexpected or missing Content-Type header, did you specify 'application/pdf'?" } ``` _invalidJson:_ ```json { "Message": "Invalid json structure provided." } ``` ### 401 Unauthorized - user not creator of transaction Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "Unauthorized access to this resource." } ``` ### 403 Forbidden - authorization policy violation Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "Access denied by authorization policy." } ``` ### 413 Payload too large - file exceeds 50MB limit Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "Request entity too large." } ``` ### 500 Internal server error Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "An internal server error occurred." } ``` --- url: /openapi/index.md --- # Entrust Signhost REST API A comprehensive REST API for creating, managing, and processing digital document signing transactions. This API enables developers to integrate secure electronic signature workflows into their applications, supporting multiple authentication methods, verification types, and document management features. **Key Features** - Create and configure signing transactions with multiple signers and receivers - Support for various authentication methods (DigiD, SMS, itsme, etc.) - Multiple verification options including digital certificates and biometric verification - File upload and download with metadata support - Real-time transaction status tracking and webhook notifications - Multi-language support for international use cases - Comprehensive audit trails and receipt generation **Important Notes** - All input strings should be UTF-8 encoded - Optional JSON properties should be omitted when not used - Do not provide null values - Do not perform active polling for transactions status updates. Use the postback service instead. For detailed integration guides and examples, visit the [Signhost Developer Documentation](https://evidos.github.io/). ### Contact | Name | Email | URL | | ---------------- | --------------------------------------------------- | ------------------------------------------------------------------------ | | Signhost Support | [support@signhost.com](mailto:support@signhost.com) | [https://intercom.help/signhost/en/](https://intercom.help/signhost/en/) | ### Servers | URL | | -------------------------- | | `https://api.signhost.com` | ### Authentication | HTTP Header Name | Description | | ---------------- | ----------------------------------------------------------------- | | `Authorization` | The User Token. Header value must be prefixed with `APIKey`. | | `Application` | The Application Key. Header value must be prefixed with `APPKey`. | ### API Operations | Operation | Method | Path | Description | | --------------------------------------------------------------- | -------- | ------------------------------------------------ | ---------------------------------- | | [createTransaction](/openapi/transactions/createTransaction.md) | `POST` | `/api/transaction` | Create Transaction | | [startTransaction](/openapi/transactions/startTransaction.md) | `PUT` | `/api/transaction/{transactionId}/start` | Start a transaction | | [getTransaction](/openapi/transactions/getTransaction.md) | `GET` | `/api/transaction/{transactionId}` | Get a transaction by ID | | [deleteTransaction](/openapi/transactions/deleteTransaction.md) | `DELETE` | `/api/transaction/{transactionId}` | Delete / Cancel a Transaction | | [getReceipt](/openapi/files/getReceipt.md) | `GET` | `/api/file/receipt/{transactionId}` | Download receipt for a transaction | | [downloadFile](/openapi/files/downloadFile.md) | `GET` | `/api/transaction/{transactionId}/file/{fileId}` | Download a file from a transaction | | [uploadFile](/openapi/files/uploadFile.md) | `PUT` | `/api/transaction/{transactionId}/file/{fileId}` | Upload PDF file or file metadata | ### API Models | Model | Description | | ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [CreateTransactionRequest](/openapi/models/CreateTransactionRequest.md) | Transaction creation data including signers, receivers, files, and configuration. This is the request body for creating a new transaction. | | [Transaction](/openapi/models/Transaction.md) | Complete transaction data returned when retrieving or creating a transaction. Includes all configuration, current status, and file information. | | [CreateSignerRequest](/openapi/models/CreateSignerRequest.md) | Request object for creating a new signer in a transaction. Defines the signer's identity, authentication/verification requirements, notification preferences, and signing behavior. **Key Requirements:** - Email address is mandatory - Either Authentications or Verifications must be provided (or both) - Signers with AllowDelegation enabled cannot have Authentications - SendSignRequest determines if sign request emails are sent automatically | | [Signer](/openapi/models/Signer.md) | Signer information with current status (based on SignerGetDto which extends SignerBaseDto) | | [CreateReceiverRequest](/openapi/models/CreateReceiverRequest.md) | Receiver configuration for getting copies of signed documents | | [Receiver](/openapi/models/Receiver.md) | Receiver information (based on ReceiverGetDto which extends ReceiverBaseDto) | | [SignerAuthentication](/openapi/models/SignerAuthentication.md) | Authentication methods used to verify signer identity before document access. These methods must be completed before the signer can view documents. **Important:** The "Type" property is case-sensitive and must be capitalized. | | [SignerVerification](/openapi/models/SignerVerification.md) | Verification methods used to confirm signer identity before document signing. These methods must be completed before the signer can sign documents. **Important:** The "Type" property is case-sensitive and must be capitalized. **Critical Requirement:** You **must** use one of the following verification methods as the **last** verification in your verifications list: - Consent - PhoneNumber - Scribble - CSC Qualified\* **Rules for CSC Qualified:** - This method **must always be the absolute final verification** - nothing can come after it **Rules for Consent, PhoneNumber, and Scribble:** - These three can be used as the final verification method - They are commonly used when you want additional verification steps before the final consent/signature **Common Mistakes:** - Using only authentication methods (e.g., iDIN) without a final verification method - Placing verifications after CSC Qualified **Valid Examples:** - `[Consent]` ✓ - `[iDIN, Consent]` ✓ - `[iDIN, PhoneNumber]` ✓ - `[iDIN, CSC Qualified]` ✓ - `[CSC Qualified, Consent]` ✗ (Nothing can come after CSC Qualified) - `[iDIN]` ✗ (Missing required final verification) | | [SignerScribbleVerification](/openapi/models/SignerScribbleVerification.md) | Handwritten signature verification | | [SignerPhoneNumberIdentification](/openapi/models/SignerPhoneNumberIdentification.md) | SMS phone number verification | | [SignerDigidIdentification](/openapi/models/SignerDigidIdentification.md) | Dutch DigiD verification | | [SignerIDealVerification](/openapi/models/SignerIDealVerification.md) | iDEAL bank verification | | [SignerSurfnetVerification](/openapi/models/SignerSurfnetVerification.md) | SURFnet academic verification | | [SignerIDINVerification](/openapi/models/SignerIDINVerification.md) | iDIN bank identification verification | | [SignerIPAddressVerification](/openapi/models/SignerIPAddressVerification.md) | IP address verification | | [SignerEHerkenningVerification](/openapi/models/SignerEHerkenningVerification.md) | eHerkenning business identity verification | | [SignerItsmeIdentificationVerification](/openapi/models/SignerItsmeIdentificationVerification.md) | itsme identification verification | | [SignerConsentVerification](/openapi/models/SignerConsentVerification.md) | Consent-based verification | | [SignerCscVerification](/openapi/models/SignerCscVerification.md) | Cloud Signature Consortium (CSC) verification | | [SignerOidcIdentification](/openapi/models/SignerOidcIdentification.md) | OpenID Connect identification | | [SignerOnfidoIdentification](/openapi/models/SignerOnfidoIdentification.md) | Onfido identity verification | | [FileEntry](/openapi/models/FileEntry.md) | File information and metadata associated with a transaction. Contains details about uploaded documents including display properties, download links, and current processing status. Files are referenced by their unique identifier within the transaction and can include PDFs, receipts, and other document types. | | [Link](/openapi/models/Link.md) | URI link with relationship and type information | | [Activity](/openapi/models/Activity.md) | Activity/event information for a signer (based on ActivityGetDto) | | [FileMetadata](/openapi/models/FileMetadata.md) | Comprehensive metadata information for a file in a transaction. This metadata defines how the file should be displayed, processed, and what form fields and signing areas it contains. The metadata can be uploaded before or after the actual PDF file. | | [FileSignerData](/openapi/models/FileSignerData.md) | Configuration data specific to a signer for a particular file. This determines which form sets the signer needs to complete when signing the document. | | [FileField](/openapi/models/FileField.md) | Represents an individual form field or signing area within a document. Fields define where and how users interact with the document during the signing process. | | [FileFieldType](/openapi/models/FileFieldType.md) | Specifies the type of interaction or data entry required for this field. Different types have different behaviors and validation rules in the signing interface. | | [FileFieldLocation](/openapi/models/FileFieldLocation.md) | Defines the precise positioning and sizing of a field within the PDF document. Fields can be positioned using absolute coordinates or by searching for specific text anchors within the document. | | [TransactionDeleteOptions](/openapi/models/TransactionDeleteOptions.md) | Options for cancelling a transaction | | [ErrorResponse](/openapi/models/ErrorResponse.md) | Error response object based on RFC 7807 Problem Details for HTTP APIs. See [https://datatracker.ietf.org/doc/html/rfc7807](https://datatracker.ietf.org/doc/html/rfc7807) for details. **Response Format:** A response is either in the new RFC 7807 Problem Details format OR the legacy Message format, but never both. - **New Format (RFC 7807):** Contains the `type` property and standard problem detail properties (`title`, `detail`, `status`). May also include additional extension members. - **Legacy Format:** Contains only the `Message` property. This format is used for some existing error responses during our transition to full RFC 7807 compliance. **Usage:** Check if the `type` property is present. If it exists, the response is in RFC 7807 format. If `type` is absent, fall back to reading the `Message` property. | --- url: /openapi/models/Activity.md --- # Activity Activity/event information for a signer (based on ActivityGetDto) #### Properties | Name | Type | Description | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Id** | String |Unique activity identifier
| | **Code** | enum:101103104105202203204301302303401402403Activity code indicating the type of activity. Possible values include:
Activity description
| | **Info** | String |Additional activity information
| | **CreatedDateTime** | String |When the activity occurred
| --- url: /openapi/models/CreateReceiverRequest.md --- # CreateReceiverRequest Receiver configuration for getting copies of signed documents #### Properties | Name | Type | Description | | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Name** | String |Receiver's name
| | **Email** | String | **Required**.Receiver's email address
| | **Language** | enum:de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage for receiver communications
| | **Subject** | String |Custom subject for notification email. Maximum of 64 characters allowed. Omitting this parameter will enable the default subject.
| | **Message** | String | **Required**.Custom message for notification email. Newlines can be created by including a \n in the message. HTML is not allowed.
Custom reference for this receiver
| | **Context** | Object |Custom receiver data (JSON object only)
| --- url: /openapi/models/CreateSignerRequest.md --- # CreateSignerRequest Request object for creating a new signer in a transaction. Defines the signer's identity, authentication/verification requirements, notification preferences, and signing behavior. **Key Requirements:** - Email address is mandatory - Either Authentications or Verifications must be provided (or both) - Signers with AllowDelegation enabled cannot have Authentications - SendSignRequest determines if sign request emails are sent automatically #### Properties | Name | Type | Description | | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Id** | String |Signer identifier (can be provided or generated)
| | **Expires** | String |When the signer's access expires
| | **Email** | String | **Required**.Signer's email address
| | **Authentications** | Array\<[SignerAuthentication](/openapi/models/SignerAuthentication.md)> |List of authentications that the signer has to authenticate with. The order in which the authentications are provided determine in which order the signer will have to perform the specified method.
Authentications must be performed before the document(s) can be viewed.
When the authentication SecureDownload is configured, the download url for a signer is authenticated with the same method as the signing url.
The download url is returned in the response, and (optionally) emailed to the signer.
You must explicitly specify the API-version when using this feature. This is done with the header: 'Accept: application/vnd.signhost.v1+json'.
| | **Verifications** | Array\<[SignerVerification](/openapi/models/SignerVerification.md)> |List of verifications that the signer has to verify with.
The order in which the verifications are provided determine in which order the signer will have to perform the specified method.
Verifications must be performed before the document(s) can be signed.
Critical Requirement: You must use one of the following verification methods as the last verification in the list:
Important Notes:
Common mistake: Providing only authentication methods (e.g., iDIN) without including one of these required final verification methods.
| | **SendSignRequest** | Boolean |Whether to send sign request to this signer's email address
| | **SendSignConfirmation** | Boolean |Whether to send a confirmation email to the signer after signing. Default value is the value of SendSignRequest
The subject of the sign request email in plain text. Maximum of 64 characters allowed.
If omitted, the default subject will be used.
| | **SignRequestMessage** | String |The message of the sign request email in plain text. HTML is not allowed. Newlines can be created by including a \n. Required if SendSignRequest is true.
Number of days between automatic reminder emails sent to this signer.
-1 to disable reminders entirely for this signer0 to use your organization's default reminder interval3, 7) to send reminders every N daysNote: Reminders are only sent if SendSignRequest is true and the signer hasn't completed signing yet.
de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage for signer interface and emails
| | **Reference** | String |Custom reference for this signer
| | **IntroText** | String |Custom introduction text shown to the signer during the signing proces. This will be shown on the first screen to the signer and supports limited markdown markup. The following markup is supported:
# Headings\*Emphasis\* / \_Emphasis\_\*\*Strong\*\* / \_\_Strong\_\_1. Ordered and - Unordered listsURL to redirect signer after signing
| | **AllowDelegation** | Boolean |Whether this signer can delegate signing to another person. Cannot be used together with Authentications.
Custom signer data (dynamic JSON object)
| --- url: /openapi/models/CreateTransactionRequest.md --- # CreateTransactionRequest Transaction creation data including signers, receivers, files, and configuration. This is the request body for creating a new transaction. #### Properties | 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:012Mode for sign request delivery:
de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage 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](/openapi/models/CreateSignerRequest.md)> |List of signers for the transaction
| | **Receivers** | Array\<[CreateReceiverRequest](/openapi/models/CreateReceiverRequest.md)> |List of receivers who get copies of completed documents
| **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" } ], "Receivers": [ { "Email": "hr@example.com", "Message": "The employment contract has been signed and is attached.", "Language": "en-US" } ] } ``` --- url: /openapi/models/ErrorResponse.md --- # ErrorResponse Error response object based on RFC 7807 Problem Details for HTTP APIs. See [https://datatracker.ietf.org/doc/html/rfc7807](https://datatracker.ietf.org/doc/html/rfc7807) for details. **Response Format:** A response is either in the new RFC 7807 Problem Details format OR the legacy Message format, but never both. - **New Format (RFC 7807):** Contains the `type` property and standard problem detail properties (`title`, `detail`, `status`). May also include additional extension members. - **Legacy Format:** Contains only the `Message` property. This format is used for some existing error responses during our transition to full RFC 7807 compliance. **Usage:** Check if the `type` property is present. If it exists, the response is in RFC 7807 format. If `type` is absent, fall back to reading the `Message` property. #### Properties | 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.
| **Examples:** _Modern RFC 7807 Problem Details format_ ```json { "type": "https://api.signhost.com/errors/validation-failed", "title": "Validation Failed", "detail": "One or more validation errors occurred", "status": 400, "errors": { "$": [ "Some validation error" ] } } ``` _Legacy error response format_ ```json { "Message": "An error occurred while processing the request." } ``` --- url: /openapi/models/FileEntry.md --- # FileEntry File information and metadata associated with a transaction. Contains details about uploaded documents including display properties, download links, and current processing status. Files are referenced by their unique identifier within the transaction and can include PDFs, receipts, and other document types. #### Properties | Name | Type | Description | | --------------- | --------------------------------------- | -------------------------------------------------- | | **Links** | Array\<[Link](/openapi/models/Link.md)> |Related links for the file (download, etc.)
| | **DisplayName** | String |Display name for the file
| --- url: /openapi/models/FileField.md --- # FileField Represents an individual form field or signing area within a document. Fields define where and how users interact with the document during the signing process. #### Properties | Name | Type | Description | | | | | ------------ | --------------------------------------------------------- | ------------- | ------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Type** | [FileFieldType](/openapi/models/FileFieldType.md) | **Required**. | | | | | **Location** | [FileFieldLocation](/openapi/models/FileFieldLocation.md) | **Required**. | | | | | **Value** | string | number | boolean | object |The value content for the field. The type and format depend on the field type:
The page number where this field should be placed (1-based indexing). If not specified, the field may be positioned based on search criteria across all pages.
| | **Search** | String | Null |Text string to search for in the document to anchor the field position. When specified, the field will be positioned relative to this text rather than using absolute coordinates.
| | **Occurence** | Integer | Null |When using search text positioning, specifies which occurrence of the search text to use if the text appears multiple times on the page or document (1-based indexing).
| | **Top** | Integer | Null |Vertical position from the top of the page in pixels or points. Used for absolute positioning or as an offset when combined with search positioning.
| | **Right** | Integer | Null |Horizontal position from the right edge of the page in pixels or points. Typically used for right-aligned field positioning.
| | **Bottom** | Integer | Null |Vertical position from the bottom of the page in pixels or points. Can be used instead of or in combination with the top property for precise vertical positioning.
| | **Left** | Integer | Null |Horizontal position from the left edge of the page in pixels or points. The most common way to specify horizontal field positioning.
| | **Width** | Integer | Null |Width of the field in pixels or points. Determines how much horizontal space the field occupies and affects text wrapping for text fields.
For signature and seal fields we suggest a width of 140.
| | **Height** | Integer | Null |Height of the field in pixels or points. Determines how much vertical space the field occupies and affects text size and line spacing for text fields.
For signature and seal fields we suggest a height of 70.
| --- url: /openapi/models/FileFieldType.md --- # FileFieldType Specifies the type of interaction or data entry required for this field. Different types have different behaviors and validation rules in the signing interface. **Possible values:** `Seal`, `Signature`, `Check`, `Radio`, `SingleLine`, `Number`, `Date` **Example:** ```json "Signature" ``` --- url: /openapi/models/FileMetadata.md --- # FileMetadata Comprehensive metadata information for a file in a transaction. This metadata defines how the file should be displayed, processed, and what form fields and signing areas it contains. The metadata can be uploaded before or after the actual PDF file. #### Properties | Name | Type | Description | | | ---------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **DisplayName** | String | Null |Human-readable display name for the file that will be shown to users in the signing interface. If not provided, the fileId will be used as the display name.
| | **DisplayOrder** | Integer | Null |Numeric value determining the order in which files are displayed and processed when multiple files are present in a transaction. Lower numbers appear first. If not specified, a timestamp-based order is used.
| | **Description** | String | Null |Detailed description of the file's purpose and contents. This helps users understand what they are signing and may be displayed in the signing interface or audit logs.
| | **SetParaph** | Boolean | Null |Indicates whether a paraph (initial) should be set on each page of the document in addition to the main signature. When true, signers will be required to initial every page. Defaults to false if not specified.
| | **Signers** | Object |Dictionary mapping signer identifiers to their specific configuration for this file. Each signer can have different form sets and signing requirements for the same document. The key is the signer identifier.
| | | **FormSets** | Object |Nested dictionary structure defining form fields and signing areas within the document. The outer key represents the form set name, and the inner key represents individual field identifiers within that set. Form sets allow grouping related fields together for organization and signer assignment.
The following characters are allowed as a key / field name: a-z A-Z 0-9 \_.
Map of pdf field definitions.
| | --- url: /openapi/models/FileSignerData.md --- # FileSignerData Configuration data specific to a signer for a particular file. This determines which form sets the signer needs to complete when signing the document. #### Properties | Name | Type | Description | | ------------ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **FormSets** | Array\Array of form set identifiers that this signer is responsible for completing. Each form set contains related fields that the signer must fill out or sign. Multiple signers can be assigned to the same form set, or each signer can have unique form sets.
| --- url: /openapi/models/Link.md --- # Link URI link with relationship and type information #### Properties | Name | Type | Description | | -------- | ------ | --------------------------------------------------------------------------------------------------------------------------------- | | **Rel** | String |Relationship type of the link
| | **Type** | String |MIME type or content type of the linked resource. Include this in the Accept header when requesting the file.
The actual URI/URL of the linked resource
| --- url: /openapi/models/Receiver.md --- # Receiver Receiver information (based on ReceiverGetDto which extends ReceiverBaseDto) #### Properties | Name | Type | Description | | -------------------- | ----------------------------------------------- | ------------------------------------------------- | | **Name** | String |Receiver's name
| | **Email** | String |Receiver's email address
| | **Language** | String |Language for receiver communications
| | **Subject** | String |Custom subject for notification email
| | **Message** | String |Custom message for notification email
| | **Reference** | String |Custom reference for this receiver
| | **Context** | Object |Custom receiver data (dynamic JSON object)
| | **Id** | String |Unique receiver identifier
| | **Activities** | Array\<[Activity](/openapi/models/Activity.md)> |Activities/events for this receiver
| | **CreatedDateTime** | String |When the receiver was added
| | **ModifiedDateTime** | String |When the receiver was last modified
| --- url: /openapi/models/Signer.md --- # Signer Signer information with current status (based on SignerGetDto which extends SignerBaseDto) #### Properties | Name | Type | Description | | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Id** | String |Unique signer identifier
| | **Expires** | String |When the signer's access expires
| | **Email** | String |Signer's email address
| | **Authentications** | Array\<[SignerAuthentication](/openapi/models/SignerAuthentication.md)> |Authentication methods for this signer
| | **Verifications** | Array\<[SignerVerification](/openapi/models/SignerVerification.md)> |Verification methods for this signer
| | **SendSignRequest** | Boolean |Whether to send sign request to this signer
| | **SendSignConfirmation** | Boolean |Whether to send a confirmation email after signing
| | **SignRequestSubject** | String |Custom subject for sign request email
| | **SignRequestMessage** | String |Custom message for sign request email
| | **DaysToRemind** | Integer |Number of days between automatic reminder emails sent to this signer.
-1 to disable reminders entirely for this signer0 to use your organization's default reminder interval3, 7) to send reminders every N daysNote: Reminders are only sent if SendSignRequest is true and the signer hasn't completed signing yet.
de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage for signer interface and emails
| | **Reference** | String |Custom reference for this signer
| | **IntroText** | String |Custom introduction text shown to the signer
| | **ReturnUrl** | String |URL to redirect signer after signing
| | **AllowDelegation** | Boolean |Whether this signer can delegate signing to another person
| | **Context** | Object |Custom signer data (dynamic JSON object)
| | **Activities** | Array\<[Activity](/openapi/models/Activity.md)> |Activities/events for this signer
| | **RejectReason** | String |Reason provided if the signer rejected the transaction
| | **DelegateReason** | String |Reason provided for delegation
| | **DelegateSignerEmail** | String |Email of the delegate signer
| | **DelegateSignerName** | String |Name of the delegate signer
| | **DelegateSignUrl** | String |URL for delegate to sign
| | **SignUrl** | String |A unique URL for this signer to access the signing interface. This URL is generated after the transaction is created and can be used to direct the signer to sign the document(s).
| | **SignedDateTime** | String |When the signer completed signing
| | **RejectDateTime** | String |When the signer rejected the transaction
| | **CreatedDateTime** | String |When the signer was added
| | **SignerDelegationDateTime** | String |When the signer delegated to another person
| | **ModifiedDateTime** | String |When the signer was last modified
| | **ShowUrl** | String |A unique URL per signer that provides the signed document(s) download flow for the signer. Documents can only be retrieved from this URL once the transaction has reached status 30 (completed).
| | **ReceiptUrl** | String |A unique URL per signer that provides the receipt download flow for the signer. The receipt can only be retrieved from this URL once the transaction has reached status 30 (completed).
| --- url: /openapi/models/SignerAuthentication.md --- # SignerAuthentication Authentication methods used to verify signer identity before document access. These methods must be completed before the signer can view documents. **Important:** The "Type" property is case-sensitive and must be capitalized. #### Discriminator This is a polymorphic schema that uses the `Type` property to determine the specific type. #### One Of Schemas The following schemas can be used: - [SignerPhoneNumberIdentification](/openapi/models/SignerPhoneNumberIdentification.md) - [SignerDigidIdentification](/openapi/models/SignerDigidIdentification.md) --- url: /openapi/models/SignerConsentVerification.md --- # SignerConsentVerification Consent-based verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | -------- | ---------------------------------------------- | ----------- | | **Type** | enum:ConsentCSC QualifiedProvider identifier
| | **Issuer** | String | **Read-Only**.Certificate issuer
| | **Subject** | String | **Read-Only**.Certificate subject
| | **Thumbprint** | String | **Read-Only**.Certificate thumbprint
| | **AdditionalUserData** | Object | **Read-Only**.Additional user data
| --- url: /openapi/models/SignerDigidIdentification.md --- # SignerDigidIdentification Dutch DigiD verification #### Parent Types This model is a variant of the following polymorphic types: - [SignerAuthentication](/openapi/models/SignerAuthentication.md) - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | -------------------------- | -------------------------------------------- | -------------------------------------------------------------- | | **Type** | enum:DigiDDutch social security number
| | **Betrouwbaarheidsniveau** | String | **Read-Only**.DigiD trust level (reliability level)
| | **SecureDownload** | Boolean |Whether this verification enables secure file downloads
| --- url: /openapi/models/SignerEHerkenningVerification.md --- # SignerEHerkenningVerification eHerkenning business identity verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | ------------------------ | -------------------------------------------------- | ------------------------------------------------- | | **Type** | enum:eHerkenningeHerkenning user identifier
| | **EntityConcernIdKvkNr** | String |KvK (Chamber of Commerce) number
| --- url: /openapi/models/SignerIDINVerification.md --- # SignerIDINVerification iDIN bank identification verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | ---------------------------- | ------------------------------------------- | ----------------------------------------------------------------------- | | **Type** | enum:iDINAccount holder's name
| | **AccountHolderAddress1** | String | **Read-Only**.Account holder's primary address
| | **AccountHolderAddress2** | String | **Read-Only**.Account holder's secondary address
| | **AccountHolderDateOfBirth** | String | **Read-Only**.Account holder's date of birth
| | **Attributes** | Object | **Read-Only**.Raw iDIN attributes (availability not guaranteed)
| --- url: /openapi/models/SignerIDealVerification.md --- # SignerIDealVerification iDEAL bank verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | -------- | -------------------------------------------- | ---------------------------- | | **Type** | enum:iDealIBAN for verification
| --- url: /openapi/models/SignerIPAddressVerification.md --- # SignerIPAddressVerification IP address verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | ------------- | ------------------------------------------------ | ---------------------------------- | | **Type** | enum:IPAddressIP address for verification
| --- url: /openapi/models/SignerItsmeIdentificationVerification.md --- # SignerItsmeIdentificationVerification itsme identification verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | --------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------ | | **Type** | enum:itsme IdentificationPhone number for itsme verification
| | **Attributes** | Object | **Read-Only**.Raw itsme attributes (availability not guaranteed)
| --- url: /openapi/models/SignerOidcIdentification.md --- # SignerOidcIdentification OpenID Connect identification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | ---------------- | ------------------------------------------------------- | ------------------------- | | **Type** | enum:OpenID ProvidersOIDC provider name
| --- url: /openapi/models/SignerOnfidoIdentification.md --- # SignerOnfidoIdentification Onfido identity verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | ----------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Type** | enum:OnfidoOnfido workflow identifier. Provide this when linking to a custom Entrust (formary Onfido) Studio environment. Omit this to use Signhost's standard Studio configuration.
| | **WorkflowRunId** | String | **Read-Only**.Onfido workflow run identifier
| | **Version** | Integer | **Read-Only**.Onfido API version
| | **Attributes** | Object | **Read-Only**.Raw Onfido attributes (availability not guaranteed)
| --- url: /openapi/models/SignerPhoneNumberIdentification.md --- # SignerPhoneNumberIdentification SMS phone number verification #### Parent Types This model is a variant of the following polymorphic types: - [SignerAuthentication](/openapi/models/SignerAuthentication.md) - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | ------------------ | -------------------------------------------------- | -------------------------------------------------------------- | | **Type** | enum:PhoneNumberPhone number for SMS verification
| | **SecureDownload** | Boolean |Whether this verification enables secure file downloads
| --- url: /openapi/models/SignerScribbleVerification.md --- # SignerScribbleVerification Handwritten signature verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | ------------------------ | ----------------------------------------------- | ------------------------------------------------- | | **Type** | enum:ScribbleWhether a hand-drawn signature is required
| | **ScribbleName** | String |Name to appear in signature
| | **ScribbleNameFixed** | Boolean |Whether the name cannot be changed
| --- url: /openapi/models/SignerSurfnetVerification.md --- # SignerSurfnetVerification SURFnet academic verification #### Parent Type This model is a variant of the following polymorphic type: - [SignerVerification](/openapi/models/SignerVerification.md) #### Properties | Name | Type | Description | | -------------- | ---------------------------------------------- | --------------------------------------------------- | | **Type** | enum:SURFnetSURFnet user identifier
| | **Attributes** | Object | **Read-Only**.Additional SURFnet attributes
| --- url: /openapi/models/SignerVerification.md --- # SignerVerification Verification methods used to confirm signer identity before document signing. These methods must be completed before the signer can sign documents. **Important:** The "Type" property is case-sensitive and must be capitalized. **Critical Requirement:** You **must** use one of the following verification methods as the **last** verification in your verifications list: - Consent - PhoneNumber - Scribble - CSC Qualified\* **Rules for CSC Qualified:** - This method **must always be the absolute final verification** - nothing can come after it **Rules for Consent, PhoneNumber, and Scribble:** - These three can be used as the final verification method - They are commonly used when you want additional verification steps before the final consent/signature **Common Mistakes:** - Using only authentication methods (e.g., iDIN) without a final verification method - Placing verifications after CSC Qualified **Valid Examples:** - `[Consent]` ✓ - `[iDIN, Consent]` ✓ - `[iDIN, PhoneNumber]` ✓ - `[iDIN, CSC Qualified]` ✓ - `[CSC Qualified, Consent]` ✗ (Nothing can come after CSC Qualified) - `[iDIN]` ✗ (Missing required final verification) #### Discriminator This is a polymorphic schema that uses the `Type` property to determine the specific type. #### One Of Schemas The following schemas can be used: - [SignerScribbleVerification](/openapi/models/SignerScribbleVerification.md) - [SignerPhoneNumberIdentification](/openapi/models/SignerPhoneNumberIdentification.md) - [SignerDigidIdentification](/openapi/models/SignerDigidIdentification.md) - [SignerIDealVerification](/openapi/models/SignerIDealVerification.md) - [SignerSurfnetVerification](/openapi/models/SignerSurfnetVerification.md) - [SignerIDINVerification](/openapi/models/SignerIDINVerification.md) - [SignerIPAddressVerification](/openapi/models/SignerIPAddressVerification.md) - [SignerEHerkenningVerification](/openapi/models/SignerEHerkenningVerification.md) - [SignerItsmeIdentificationVerification](/openapi/models/SignerItsmeIdentificationVerification.md) - [SignerConsentVerification](/openapi/models/SignerConsentVerification.md) - [SignerCscVerification](/openapi/models/SignerCscVerification.md) - [SignerOidcIdentification](/openapi/models/SignerOidcIdentification.md) - [SignerOnfidoIdentification](/openapi/models/SignerOnfidoIdentification.md) --- url: /openapi/models/Transaction.md --- # Transaction Complete transaction data returned when retrieving or creating a transaction. Includes all configuration, current status, and file information. #### Properties | 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:12Sign request delivery mode
SendSignRequest is set to false.de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage code for the Sender email notifications, and transaction receipt.
| | **Status** | enum:510203040506070Current transaction status:
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](/openapi/models/Signer.md)> |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](/openapi/models/Receiver.md)> |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.
| --- url: /openapi/models/TransactionDeleteOptions.md --- # TransactionDeleteOptions Options for cancelling a transaction #### Properties | Name | Type | Description | | --------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Reason** | String |Reason for cancelling the transaction
| | **SendNotifications** | Boolean |Whether to notify signers about the cancellation. Note that this only applies when SendSignRequest has been set to true during the transaction creation.
| --- url: /openapi/transactions/createTransaction.md --- # 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**.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:012Mode for sign request delivery:
de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage 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](/openapi/models/CreateSignerRequest.md)> |List of signers for the transaction
| | **Receivers** | Array\<[CreateReceiverRequest](/openapi/models/CreateReceiverRequest.md)> |List of receivers who get copies of completed documents
| **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 |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:12Sign request delivery mode
SendSignRequest is set to false.de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage code for the Sender email notifications, and transaction receipt.
| | **Status** | enum:510203040506070Current transaction status:
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](/openapi/models/Signer.md)> |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](/openapi/models/Receiver.md)> |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.
| ### 400 Bad request - validation error Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "Invalid request data provided." } ``` ### 401 Unauthorized Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| ### 500 Internal server error Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| --- url: /openapi/transactions/deleteTransaction.md --- # Delete / Cancel a Transaction **Method:** `DELETE` **Path:** `/api/transaction/{transactionId}` ### Cancelling a Transaction When a transaction is not in an end-state (eg. Status = 5, 10, or 20) the transaction will be cancelled and deleted. When cancelling a transaction, you can choose to send an email notification to any awaiting signers informing them that the transaction has been cancelled. The status of the transaction will be set to cancelled. ### Deleting a Transaction When a transaction is in an end-state (eg. Status = 30, 40, 50, or 60) the transaction will be deleted. When deleting a transaction, you can choose to send an email notification to any awaiting signers informing them that the transaction has been deleted. The status of the transaction will remain the same but any uploaded documents and sensitive data will be deleted as soon as possible. ## Parameters | Name | In | Type | Required | Description | | ----------------- | ---- | ------ | -------- | --------------------------------------------- | | **transactionId** | path | string | Yes |The transaction ID to cancel or delete
| ## Request Body Options for cancelling or deleting the transaction Content-Type: `application/json` **Schema:** [TransactionDeleteOptions](/openapi/models/TransactionDeleteOptions.md) #### Properties | Name | Type | Description | | --------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Reason** | String |Reason for cancelling the transaction
| | **SendNotifications** | Boolean |Whether to notify signers about the cancellation. Note that this only applies when SendSignRequest has been set to true during the transaction creation.
| ## Responses ### 200 Transaction cancelled successfully Content-Type: `application/json` **Schema:** [Transaction](/openapi/models/Transaction.md) #### Properties | 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:12Sign request delivery mode
SendSignRequest is set to false.de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage code for the Sender email notifications, and transaction receipt.
| | **Status** | enum:510203040506070Current transaction status:
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](/openapi/models/Signer.md)> |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](/openapi/models/Receiver.md)> |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.
| ### 401 Unauthorized - user not creator of transaction Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| ### 403 Forbidden - authorization policy violation Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| ### 500 Internal server error Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| --- url: /openapi/transactions/getTransaction.md --- # Get a transaction by ID **Method:** `GET` **Path:** `/api/transaction/{transactionId}` Retrieve transaction details including signers, receivers, files, and current status. Do not use this method for active polling. Use the postback service instead. ## Parameters | Name | In | Type | Required | Description | | ----------------- | ---- | ------ | -------- | ------------------------------------- | | **transactionId** | path | string | Yes |The transaction ID to retrieve
| ## Responses ### 200 Transaction retrieved successfully Content-Type: `application/json` **Schema:** [Transaction](/openapi/models/Transaction.md) #### Properties | 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:12Sign request delivery mode
SendSignRequest is set to false.de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage code for the Sender email notifications, and transaction receipt.
| | **Status** | enum:510203040506070Current transaction status:
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](/openapi/models/Signer.md)> |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](/openapi/models/Receiver.md)> |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.
| ### 401 Unauthorized - user not owner of transaction Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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:** ```json { "Message": "Authorization has been denied for this request." } ``` ### 410 The transaction details are no longer available and as a result the returned JSON only contains partial historical data. This happens when the system cleaned the transaction for example due to reaching an end status (any status above 30) or the transaction has expired. Content-Type: `application/json` **Schema:** [Transaction](/openapi/models/Transaction.md) #### Properties | 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:12Sign request delivery mode
SendSignRequest is set to false.de-DEen-USes-ESfr-FRit-ITpl-PLnl-NLLanguage code for the Sender email notifications, and transaction receipt.
| | **Status** | enum:510203040506070Current transaction status:
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](/openapi/models/Signer.md)> |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](/openapi/models/Receiver.md)> |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.
| ### 500 Internal server error Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| --- url: /openapi/transactions/startTransaction.md --- # Start a transaction **Method:** `PUT` **Path:** `/api/transaction/{transactionId}/start` Start the signing process for a transaction. All required files and signers must be configured before starting. Once started, the transaction cannot be modified and signers will be notified to begin signing. ## Parameters | Name | In | Type | Required | Description | | ----------------- | ---- | ------ | -------- | ---------------------------------- | | **transactionId** | path | string | Yes |The transaction ID to start
| ## Responses ### 204 Transaction started successfully ### 400 The transaction could not be started. This typically occurs if the transaction contains errors or is in a Failed status. Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| ### 401 Unauthorized - user not creator of transaction Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| ### 403 Forbidden - authorization policy violation Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
| ### 500 Internal server error Content-Type: `application/json` **Schema:** [ErrorResponse](/openapi/models/ErrorResponse.md) #### Properties | 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.
|