Endpoints & Model types
You can make HTTP GET, POST or PUT Requests. Requests are passed to the API by using JSON objects to the API endpoints with the appropriate parameters. The documentation for each API call will contain more detail on the parameters accepted by the call.
All responses are sent JSON-encoded. The specific responses (successful ones) are described in the documentation section for each method. See https://en.wikipedia.org/wiki/Json for more information on JSON.
All input strings should be UTF-8 encoded, our response is always encoded conforming to the Content-Type HTTP header, which for JSON responses is charset=utf-8
.
Optional JSON properties should be omitted from the request when not used.
Do not provide null values.
For backward compatibility reasons we do include null values in the v1 responses, but we won't in the v2 responses.
Some of our endpoints return both the status of the transaction and signer activities. Further details about the statuses and activities can be found here.
All endpoints:
- GET: /api/transaction/{transactionId}
- DELETE: /api/transaction/{transactionId}
- GET: /api/transaction/{transactionId}/file/{fileId}/
- GET: /api/file/receipt/{transactionId}
- POST: /api/transaction
- PUT: /api/transaction/{transactionId}/file/{fileId}
- PUT: /api/transaction/{transactionId}/start
All models:
- #/definitions/Transaction
- #/definitions/Authentication
- #/definitions/DigiD Authentication
- #/definitions/PhoneNumber Authentication
- #/definitions/Verification
- #/definitions/Consent
- #/definitions/DigiD
- #/definitions/eHerkenning
- #/definitions/eIDAS Login
- #/definitions/iDeal
- #/definitions/iDIN
- #/definitions/itsme Identification
- #/definitions/itsme sign
- #/definitions/IPAddress
- #/definitions/PhoneNumber
- #/definitions/Scribble
- #/definitions/SigningCertificate
- #/definitions/SURFnet
- #/definitions/CSC Qualified
- #/definitions/Onfido
- #/definitions/OpenID Providers
- #/definitions/FileEntry
- #/definitions/Link
- #/definitions/FileMetaData
- #/definitions/ErrorModel
GET: /api/transaction/{transactionId}
Description
Returns current transaction details.
Please do not use any GET method for active polling, but use our postback service for this end.
Parameters
Name | Location | Required | Description |
---|---|---|---|
transactionId | path | true | ID of the transaction |
Most common responses
200 | Details of the transaction #/definitions/Transaction |
---|---|
401 | Not authorized to access the specified transaction |
410 | The transaction details are no longer available and as a result the returned JSON only contains partial historical data. This happens when we cleaned the transaction for example due to reaching an end status (any status above 30), or the expiration dates have expired. |
Example
Request:curl \ -H "Authorization: APIKey {usertoken here}" \ -H "Application: APPKey {appkey here}" \ https://api.signhost.com/api/transaction/b2a9aca4-cd5e-4a21-b7f7-c08a9f2b2d57
This method returns a transaction.
{ "Id": "67b9e140-b0f6-4c36-9b35-977041968185", "Status": 20, "Files": { "Contract.pdf": { "Links": [ { "Rel": "file", "Type": "application/pdf", "Link": "https://api.signhost.com/api/transaction/67b9e140-b0f6-4c36-9b35-977041968185/file/Contract.pdf" } ], "DisplayName": "ArbeidsContract 2016" }, "Algemenevoorwaarden": { "Links": [ { "Rel": "file", "Type": "application/pdf", "Link": "https://api.signhost.com/api/transaction/67b9e140-b0f6-4c36-9b35-977041968185/file/Algemenevoorwaarden" } ], "DisplayName": "Algemene voorwaarden" } }, "Seal": true, "Signers": [ { "Id": "e0b39ec0-e0c6-45d9-bf0d-ae8cafbe2f48", "Expires": null, "Email": "user@example.com", "Mobile": "+31612345678", "Iban": null, "BSN": null, "RequireScribbleName": false, "RequireScribble": true, "RequireEmailVerification": true, "RequireSmsVerification": true, "RequireDigidVerification": false, "RequireSurfnetVerification": false, "SendSignRequest": true, "SendSignConfirmation": null, "SignRequestMessage": "Hello, could you please sign this document? Best regards, John Doe", "DaysToRemind": 15, "Language": "en-US", "ScribbleName": "John Doe", "ScribbleNameFixed": false, "Reference": "Client #123", "ReturnUrl": "http://signhost.com", "Activities": [ { "Id": "91709d15-df2e-48a1-ac90-276f0360ce08", "Code": 103, "Activity": "Opened", "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00" }, { "Id": "04adfda3-dd35-4f4d-af34-d2a08a4434f6", "Code": 203, "Activity": "Signed", "CreatedDateTime": "2016-06-15T23:38:04.1965465+02:00" } ], "RejectReason": null, "SignUrl": "http://ui.signhost.com/sign/d959e67b-acf8-4a49-8811-9b62f0b450af", "SignedDateTime": null, "RejectDateTime": null, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "Context": null } ], "Receivers": [ { "Id": "df52316c-6671-4f39-9b9e-b524cc36ef93", "Name": "John Doe", "Email": "user@example.com", "Language": "en-US", "Message": "Hello, please find enclosed the digital signed document. Best regards, John Doe", "Reference": null, "Activities": null, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "Context": null } ], "Reference": "Contract #123", "PostbackUrl": "http://example.com/postback.php", "SignRequestMode": 2, "DaysToExpire": 30, "SendEmailNotifications": true, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "CanceledDateTime": null, "Context": null }
DELETE: /api/transaction/{transactionId}
Description
Delete a transaction by a transaction id. When a transaction is not in an end-state (such as fully signed) the transaction will be cancelled and cleaned. A cancelled transaction can be told to send an e-mail notification to the awaiting signers that the transaction was cancelled. The status of the transaction will be set to cancelled.
When a transaction is in an end-state the transaction the transaction will be cleaned. The status of the transaction will remain the same but we will clean any uploaded documents and sensitive data as soon as possible.
Parameters
Name | Location | Required | Description |
---|---|---|---|
transactionId | path | true | ID of the transaction |
body | body | false | Cancellation details |
Request Body
Name | Type | Default | Description |
---|---|---|---|
SendNotifications | boolean | false | Send e-mail notifications to the awaiting signers, when SendSignRequest has been set to true during the transaction creation. |
Reason | string | The reason of cancellation. |
Most common responses
200 | The transaction is succesfully deleted |
---|---|
400 | The transaction could not be deleted. #/definitions/ErrorModel |
Example
Request:curl \ -H "Authorization: APIKey {usertoken here}" \ -H "Application: APPKey {appkey here}" \ -H "Content-Type: application/json" \ -d '{ "SendNotifications": true, "Reason": "This document is out-dated" }' -X DELETE https://api.signhost.com/api/transaction/b2a9aca4-cd5e-4a21-b7f7-c08a9f2b2d57
This method returns the cancelled transaction.
{ "Id": "67b9e140-b0f6-4c36-9b35-977041968185", "Status": 20, "Seal": true, "Signers": [ { "Id": "e0b39ec0-e0c6-45d9-bf0d-ae8cafbe2f48", "Expires": null, "Email": "user@example.com", "Mobile": "+31612345678", "Iban": null, "BSN": null, "RequireScribbleName": false, "RequireScribble": true, "RequireEmailVerification": true, "RequireSmsVerification": true, "RequireIdealVerification": false, "RequireDigidVerification": false, "RequireSurfnetVerification": false, "SendSignRequest": true, "SendSignConfirmation": null, "SignRequestMessage": "Hello, could you please sign this document? Best regards, John Doe", "DaysToRemind": 15, "Language": "en-US", "ScribbleName": "John Doe", "ScribbleNameFixed": false, "Reference": "Client #123", "ReturnUrl": "http://signhost.com", "Activities": [ { "Id": "91709d15-df2e-48a1-ac90-276f0360ce08", "Code": 103, "Activity": "Opened", "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00" }, { "Id": "04adfda3-dd35-4f4d-af34-d2a08a4434f6", "Code": 203, "Activity": "Signed", "CreatedDateTime": "2016-06-15T23:38:04.1965465+02:00" } ], "RejectReason": null, "SignUrl": "http://ui.signhost.com/sign/d959e67b-acf8-4a49-8811-9b62f0b450af", "SignedDateTime": null, "RejectDateTime": null, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "Context": null } ], "Receivers": [ { "Id": "df52316c-6671-4f39-9b9e-b524cc36ef93", "Name": "John Doe", "Email": "user@example.com", "Language": "en-US", "Message": "Hello, please find enclosed the digital signed document. Best regards, John Doe", "Reference": null, "Activities": null, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "Context": null } ], "Reference": "Contract #123", "PostbackUrl": "http://example.com/postback.php", "SignRequestMode": 2, "DaysToExpire": 30, "SendEmailNotifications": true, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "CanceledDateTime": "2016-06-15T23:34:15+02:00", "CancelationReason": "This document is out-dated", "Context": null }
GET: /api/transaction/{transactionId}/file/{fileId}/
Description
Returns the (signed) document(s).
Parameters
Name | Location | Required | Description |
---|---|---|---|
transactionId | path | true | ID of the description |
fileId | path | true | A unique identifier provided by you for the file. |
Most common responses
200 | The contents of the file is returned in the body. |
---|
Example
Request:curl \ -H "Authorization: APIKey {usertoken here}" \ -H "Application: APPKey {appkey here}" \ https://api.signhost.com/api/transaction/b2a9aca4-cd5e-4a21-b7f7-c08a9f2b2d57/file/Contract.pdf
GET: /api/file/receipt/{transactionId}
Description
Returns the receipt when the transaction is successfully signed (Status=30)
Parameters
Name | Location | Required | Description |
---|---|---|---|
transactionId | path | true | ID of the description |
Most common responses
200 | (signed) document(s) |
---|
Example
Request:curl \ -H "Authorization: APIKey {usertoken here}" \ -H "Application: APPKey {appkey here}" \ https://api.signhost.com/api/file/receipt/b2a9aca4-cd5e-4a21-b7f7-c08a9f2b2d57
POST: /api/transaction
Description
Creates a new transaction
Parameters
Name | Location | Required | Description |
---|---|---|---|
transaction | body | true | Transaction to be added #/definitions/Transaction |
Request Body
Name | Type | Default | Description |
---|
Most common responses
200 | Details of the created transaction. #/definitions/Transaction |
---|---|
401 | Not authorized to create a transaction. |
Example
Request:curl \ -H "Authorization: APIKey {usertoken here}" \ -H "Application: APPKey {appkey here}" \ -H "Content-Type: application/json" \ -d '{ "Signers": [ { "Email": "user@example.com", "SendSignRequest": true, "SignRequestMessage": "Hello, could you please sign this document? Best regards, John Doe", "DaysToRemind": 15, "Verifications": [ { "Type": "iDeal" }, { "Type": "Consent" } ] }, { "Email": "anotheruser@example.com", "SendSignRequest": true, "SignRequestMessage": "Hello, could you please sign this document? Best regards, John Doe", "DaysToRemind": 15, "Verifications": [ { "Type": "Consent" } ] } ], "SendEmailNotifications": true }' https://api.signhost.com/api/transaction/
This method returns the newly created transaction. The default values for the second signer have been stripped away.
{ "Id": "67b9e140-b0f6-4c36-9b35-977041968185", "Status": 20, "Seal": true, "Signers": [ { "Id": "e0b39ec0-e0c6-45d9-bf0d-ae8cafbe2f48", "Expires": null, "Email": "user@example.com", "Mobile": null, "Iban": null, "BSN": null, "RequireScribbleName": false, "RequireScribble": false, "RequireEmailVerification": false, "RequireSmsVerification": false, "RequireDigidVerification": false, "RequireSurfnetVerification": false, "Verifications": [ { "Type": "iDeal" }, { "Type": "Consent" } ], "SendSignRequest": true, "SendSignConfirmation": null, "SignRequestMessage": "Hello, could you please sign this document? Best regards, John Doe", "DaysToRemind": 15, "Language": "en-US", "ScribbleName": null, "ScribbleNameFixed": false, "Reference": "Client #123", "ReturnUrl": "http://signhost.com", "Activities": [], "RejectReason": null, "SignUrl": "http://ui.signhost.com/sign/d959e67b-acf8-4a49-8811-9b62f0b450af", "SignedDateTime": null, "RejectDateTime": null, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "Context": null }, { "Id": "b9d0f613-985d-4a5a-8e79-a83f7b5d6b55", "Email": "anotheruser@example.com", "Mobile": null, "RequireScribble": false, "RequireSmsVerification": false, "SendSignRequest": true, "SignRequestMessage": "Hello, could you please sign this document? Best regards, John Doe", "DaysToRemind": 15, "ScribbleName": null, "ScribbleNameFixed": false, "Verifications": [ { "Type": "Consent" } ] } ], "Receivers": [ { "Id": "df52316c-6671-4f39-9b9e-b524cc36ef93", "Name": "John Doe", "Email": "user@example.com", "Language": "en-US", "Message": "Hello, please find enclosed the digital signed document. Best regards, John Doe", "Reference": null, "Activities": null, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "Context": null } ], "Reference": "Contract #123", "PostbackUrl": "http://example.com/postback.php", "SignRequestMode": 2, "DaysToExpire": 30, "SendEmailNotifications": true, "CreatedDateTime": "2016-06-15T23:33:04.1965465+02:00", "ModifiedDateTime": "2016-06-15T23:33:04.1965465+02:00", "CanceledDateTime": null, "Context": null }
PUT: /api/transaction/{transactionId}/file/{fileId}
Description
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. Only PDF documents with Content-Type ‘application/pdf’ are accepted. Related posts How to create a transaction with api generated fields, howto create a transaction with fillable pdf fields.
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 for format instructions and RFC 5843 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 | Location | Required | Description |
---|---|---|---|
transactionId | path | true | ID of an existing -- not yet started -- transaction |
fileId | path | true | A unique identifier provided by you for the file. **Requirements:** - Must not exceed 255 characters in length. - Must not include any of the following disallowed characters: - Control characters (e.g., invisible characters like "Tab" or "Enter"). - `:`, `*`, `?`, `\`, `/`, `"`, `<`, `>`, `|`, or null characters. |
file | body | true | File or file metadata. When the Content-Type is 'application/pdf' we expect the body to contain a valid PDF document which is to be signed by one or more signers. If you provide 'application/json' as a Content-Type we expect the body to contain a file meta data json. #/definitions/FileMetaData |
Request Body
Name | Type | Default | Description |
---|
Most common responses
201 | File succesfully created and added to the transaction |
---|---|
204 | Existing file replaced within the specified transaction |
202 | File meta data accepted, waiting for actual file content |
409 | Conflict while trying to overwrite the file. You have used the same fileId again which causes us to overwrite the file (which is a valid action). However the same fileId was provided in a too short time interval making it unclear which version was meant to be the latest version. |
Example
Request:curl \ -H "Authorization: APIKey {usertoken here}" \ -H "Application: APPKey {appkey here}" \ -H "Content-Type: application/pdf" \ -H "Digest: SHA-256=HtHRpLOZBEMnTpQS6Zn12veC4uhjtMwamfVAwmPQPmE=" \ -XPUT \ -T Contract.pdf \ https://api.signhost.com/api/transaction/b2a9aca4-cd5e-4a21-b7f7-c08a9f2b2d57/file/Contract.pdf
PUT: /api/transaction/{transactionId}/start
Description
Starts a transaction with the same {transactionId}
Parameters
Name | Location | Required | Description |
---|---|---|---|
transactionId | path | true | ID of an existing -- not yet started -- transaction |
Most common responses
204 | The transaction is started. |
---|---|
400 | The transaction could not be started. Most probably causes are that the created transactions contains errors causing the transaction to be in Failed status. #/definitions/ErrorModel |
Example
Request:curl \ -H "Authorization: APIKey {usertoken here}" \ -H "Application: APPKey {appkey here}" \ https://api.signhost.com/api/transaction/b2a9aca4-cd5e-4a21-b7f7-c08a9f2b2d57/start
Models
These contain the type definitions as used by our API. We do our best to keep our API backwards compatible as long as you use documented features only. Only use the types and properties documented. Don't use undocument properties you see in the returned JSON as they may be obsoleted properties and/or contain invalid data. The sample data provided is purely fictional.
Transaction
Name | Type | Default | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Id readonly | string | The id of the transaction. Currently this property is read only but this may change in the future. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Files readonly | object map of type #/definitions/FileEntry | A map of files attached to this transaction. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Language | string
(enum)
|
Authentication
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Type required | string
(enum)
|
DigiD Authentication
Name | Type | Default | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bsn | string | The provided value must match the BSN of the credentials returned by DigiD. The BSN is required to match an ‘11-proef’. | |||||||||||||||||||||
Betrouwbaarheidsniveau readonly | string
(enum)
|
A DigiD authentication response may have the following content:
{
"Type": "DigiD",
"Bsn": "910078476"
}
PhoneNumber Authentication
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Number | string | The mobile phone number of the signer. Must conform to E.164, the international public telecommunication numbering plan, which requires the country calling code (e.g. +31). | |||||||||
SecureDownload | boolean | false | Optional. Authentication method to be used to download the signed document(s). |
A phone number authentication response may have the following content:
{
"Type": "PhoneNumber",
"Number": "+31123456789"
}
Verification
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Type required | string
(enum)
|
Consent
Name | Type | Default | Description |
---|
A consent verification response may have the following content:
{
"Type": "Consent"
}
DigiD
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Bsn | string | When provided, the provided value must match the BSN of the credentials returned by DigiD. The BSN is required to match an ‘11-proef’. | |||||||||
Betrouwbaarheidsniveau readonly | string
(enum)
|
A DigiD verification response may have the following content:
{
"Type": "DigiD",
"Bsn": "910078476"
}
eHerkenning
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Uid readonly | string | ||||||||||
EntityConcernIdKvkNr | string | When provided, the provided value must match the KvK number returned by eHerkenning. |
eIDAS Login
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Uid readonly | string | The unique identifier returned by eIDAS Login. | |||||||||
Level readonly | string | The Level of Assurance. | |||||||||
FirstName readonly | string | The first name of the signer as returned by eIDAS Login. | |||||||||
LastName readonly | string | The last name of the signer as returned by eIDAS Login. | |||||||||
DateOfBirth readonly | string date | The date of birth of the signer as returned by eIDAS Login. | |||||||||
Attributes readonly | map of string | Contains all available eIDAS Login attributes. These attributes may change, therefore we cannot guarantee the availability of any of these attributes. |
An eIDAS Login verification response may have the following content:
{
"Type": "eIDAS Login",
"Uid": "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
"Level": "High",
"FirstName": "John",
"LastName": "van der Doe",
"DateOfBirth": "1970-01-01",
"Attributes": {
"urn:etoegang:1.9:attribute:DateOfBirth": "1970-01-01",
"urn:etoegang:1.9:attribute:FirstName": "John",
"urn:etoegang:1.9:attribute:Initials": "J.",
"urn:etoegang:1.9:attribute:FamilyName": "Doe",
"urn:etoegang:1.9:attribute:FamilyNameInfix": "van der"
}
}
iDeal
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Iban | string | The IBAN of the signer. When provided during the creation of the transaction this IBAN is verified during the verification flow to make sure these and the actual IBAN number match. | |||||||||
AccountHolderName readonly | string | ||||||||||
AccountHolderCity readonly | string |
An iDeal verification response may have the following content:
{
"Type": "iDeal",
"Iban": "NL01ABNA0123456789",
"AccountHolderName": "DOE J",
"AccountHolderCity": ""
}
iDIN
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AccountHolderName readonly | string | Name of the idin consumer / signer. Currently we don’t support supplying a value in this property to ensure the expected account holder name matches. This could change in the future. | |||||||||
AccountHolderAddress1 readonly | string | ||||||||||
AccountHolderAddress2 readonly | string | ||||||||||
AccountHolderDateOfBirth readonly | string date | Date of birth of idin consumer / signer | |||||||||
Attributes readonly | map of string | Contains all available iDIN attributes. These attributes may change, therefore we cannot guarantee the availability of any of these attributes. |
An iDIN verification response may have the following content:
{
"Type": "iDIN",
"AccountHolderName": "John Doe",
"AccountHolderDateOfBirth": "2001-12-31",
"AccountHolderAddress1": "Straatlaan 123 AB",
"AccountHolderAddress2": "AMSTERDAM 1234AB",
"Attributes": {
"urn:nl:bvn:bankid:1.0:consumer.bin": "xxxxx",
"urn:nl:bvn:bankid:1.0:bankid.deliveredserviceid": "12345",
"urn:nl:bvn:bankid:1.0:consumer.housenosuf": "AB",
"urn:nl:bvn:bankid:1.0:consumer.postalcode": "1234AB",
"urn:nl:bvn:bankid:1.0:consumer.houseno": "123",
"urn:nl:bvn:bankid:1.0:consumer.initials": "JN",
"urn:nl:bvn:bankid:1.0:consumer.street": "Straatlaan",
"urn:nl:bvn:bankid:1.0:consumer.dateofbirth": "19800124",
"urn:nl:bvn:bankid:1.0:consumer.legallastname": "Doe",
"urn:nl:bvn:bankid:1.0:consumer.country": "NL",
"urn:nl:bvn:bankid:1.0:consumer.city": "AMSTERDAM",
"urn:nl:bvn:bankid:1.0:consumer.preferredlastname": "Doe",
"urn:nl:bvn:bankid:1.0:consumer.addressextra": "#",
"urn:nl:bvn:bankid:1.0:consumer.gender": "1",
"urn:nl:bvn:bankid:1.0:consumer.partnerlastname": "Roe",
"urn:nl:bvn:bankid:1.0:consumer.legallastnameprefix": "van der",
"urn:nl:bvn:bankid:1.0:consumer.preferredlastnameprefix": "van der"
}
}
itsme Identification
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
PhoneNumber | string | The mobile phone number of the signer. Must be conform E.164, the international public telecommunication numbering plan, which requires the country calling code (Only the Belgian country calling code is supported: +32). | |||||||||
Attributes readonly | map of string | Contains all available itsme Identification attributes. These attributes may change, therefore we cannot guarantee the availability of any of these attributes. |
An itsme Identification verification response may have the following content:
{
"Type": "itsme Identification",
"PhoneNumber": "+32012345678"
"Attributes": {
"country": "BE",
"email": "j.doe@example.nl",
"email_verified": "False",
"name": "John Doe",
"phone_number_verified": "True",
"gender": "male",
"given_name": "John",
"phone_number": "+32 012345678",
"locale": "nl",
"family_name": "Doe",
"birthdate": "1935-07-31",
"street_address": "viable street",
"locality": "Brussels",
"postal_code": "1256"
}
}
itsme sign
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Issuer readonly | string | ||||||||||
Subject readonly | string | ||||||||||
Thumbprint readonly | string |
An itsme sign verification response may have the following content:
{
"Type": "itsme sign",
"Issuer": "CN=John Doe QC POC SELFSIGNED, C=NL, S=Noord-Holland, L=Haarlem, E=example@example.org, OU=IT, O=Evidos B.V.",
"Subject": "CN=John Doe QC POC SELFSIGNED, C=NL, S=Noord-Holland, L=Haarlem, E=example@example.org, OU=IT, O=Evidos B.V.",
"Thumbprint": "2B31AD44D93BE1FAED6B18A23ADF1BDD4DA0ECE8"
}
IPAddress
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
IPAddress readonly | string |
An IP Address verification response may have the following content:
{
"Type": "IPAddress",
"IPAddress": "198.51.100.42"
}
PhoneNumber
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Number | string | The mobile phone number of the signer. Must conform to E.164, the international public telecommunication numbering plan, which requires the country calling code (e.g. +31). |
A phone number verification response may have the following content:
{
"Type": "PhoneNumber",
"Number": "+31123456789"
}
Scribble
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
RequireHandsignature | boolean | false | When set the signer is required to draw a hand signature, either via computer mouse, trackpad, or touchscreen. | ||||||||
ScribbleNameFixed | boolean | false | When set the signer will not be able to change its scribble name. When not set the signer can correct or provide a scribble name. | ||||||||
ScribbleName | string | The name of the signer, this will be pre filled in the scribble form.
Required if |
A scribble verification response may have the following content:
{
"Type": "Scribble",
"RequireHandsignature": true,
"ScribbleName": "John Doe"
}
SigningCertificate
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Issuer readonly | string | ||||||||||
Subject readonly | string | ||||||||||
Thumbprint readonly | string |
A signing certificate verification response may have the following content:
{
"Type": "SigningCertificate",
"Issuer": "CN=John Doe QC POC SELFSIGNED, C=NL, S=Noord-Holland, L=Haarlem, E=example@example.org, OU=IT, O=Evidos B.V.",
"Subject": "CN=John Doe QC POC SELFSIGNED, C=NL, S=Noord-Holland, L=Haarlem, E=example@example.org, OU=IT, O=Evidos B.V.",
"Thumbprint": "2B31AD44D93BE1FAED6B18A23ADF1BDD4DA0ECE8"
}
SURFnet
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Uid readonly | string | ||||||||||
Attributes readonly | map of string | Contains all available SURFnet attributes. These attributes may change, therefore we cannot guarantee the availability of any of these attributes. |
CSC Qualified
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Issuer readonly | string | ||||||||||
Subject readonly | string | ||||||||||
Thumbprint readonly | string |
A CSC Qualified verification response may have the following content:
{
"Type": "CSC Qualified",
"Provider": "ZealiD Qualified",
"Issuer": "CN=ZealiD Issuing CA 2020, O=ZealiD AB, OID.2.5.4.97=SE5569724288,E=support@zealid.com, STREET=Box 3437, Stockholm, PostalCode=11156, C=SE",
"Subject": "CN=John Alexander Doe PASNL-NP11D0011 G=John Alexander, SN=Doe, C=NL,SERIALNUMBER=PASNL-NP1D0011",
"Thumbprint": "2B31AD44D93BE1FAED6B18A23ADF1BDD4DA0ECE8"
}
Please be advised, the serial number might differ from one country to another. For example, in the Netherlands, personal number (BSN) can not be used for privacy reasons and is substituted by document number such as passport number, but in other countries this poses no problem.
Onfido
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
WorkflowId | string (UUID) | (OPTIONAL) When a value is provided, it should match a configured workflow for the organization. If no value is provided, the default Onfido workflow will be used. |
An Onfido verification response may have the following content:
{
"Type": "Onfido",
"WorkflowId": "dba0c424-023c-4454-b0ce-72ce625b08c0"
}
OpenID Providers
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ProviderName | string | (OPTIONAL) When value is provided, it should match the configured one for the organization. If the value does not match then the full list of the organization providers will be given for the end-user to select during the verification step. |
A OpenID verification response may have the following content:
{
"Type": "OpenID Providers",
"ProviderName": "Entrust IDaaS"
}
FileEntry
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Links | array of type #/definitions/Link | ||||||||||
DisplayName | string | The name of the document that was displayed to the user while signing the documents. Must be 255 characters or fewer. |
Link
Name | Type | Default | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Rel | string
(enum)
|
FileMetaData
Simple example which performs a scan for the {{Signer1}}
mustache tag
and creates a Signature fields named SignatureOne on the found location(s).
{
"DisplayName": "Your personal contract",
"SetParaph": true,
"Signers": {
"SomeSignerId": {
"FormSets": [ "FirstFormset" ]
}
},
"FormSets": {
"FirstFormset": {
"SignatureOne": {
"Type": "Signature",
"Location": {
"Search": "{{Signer1}}",
"Width": 140,
"Height": 70
}
}
}
}
}
ErrorModel
Name | Type | Default | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Message | string | Message describing the error in the request. |