Scrive Document API
General Information
Version 2.0.0
Schemes
https
Host & base path
scrive.com/api/v2/
Terms of Service
In using this API you agree to be bound by the Scrive Terms of Service, available at https://www.scrive.com/terms-of-service
Overview
The Scrive Document API uses HTTPS methods and RESTful endpoints to create, edit, and manage the life-cycle of documents in the Scrive eSign system. JSON is the data interchange format, but we also use query parameters.
The API is accessed through a versioned URL. This allows users to clearly identify which API they are using, and to make it easier to upgrade to any newer versions. It also avoids having to use version codes in HTTP headers.
Any breaking changes to the API will be introduced through a new version number. We aim to keep these changes to a minimum, and when we do so, will support the current API until it is phased out.
Changelog
We will list any changes to the current version of the API here.
Date | Details of changes |
---|---|
2024-11-05 | Added /documents/{document_id}/{signatory_id}/resend endpoint |
2024-10-16 | Added documentation for /documents/{document_id}/tags/update endpoint |
Added documentation for contract expiry reminders | |
2024-07-26 | Added authentication to sign provider: itsme_qes |
2024-07-09 | Remove IPs of new egress nodes |
2024-06-18 | Added documentation about iDIN authentication settings |
2024-03-28 | Removed dk_nemid* authentication methods |
2024-03-22 | Added Usage limitations subsection to Overview section |
2024-02-28 | Added IPs of new egress nodes |
2024-01-18 | Added hideZeroSumEidColumns and addSums options to CSV statistic export |
2023-11-03 | Added sms_otp authentication to sign |
2023-11-17 | Added company_number parameter to setauthenticationtoview , setauthenticationtosign , setauthenticationtoviewarchived endpoints |
2023-11-01 | Added dk_mitid_erhverv authentication to view and view archived |
2023-10-17 | Added dk_mitid_erhverv authentication to sign |
2023-09-27 | Removed API documentation about BankIdent method for Swisscom SRS |
2023-01-30 | Added bulk send |
Added "awaiting_start" document status | |
2022-12-02 | Updated signingdata description |
2022-11-24 | Update language codes |
2022-11-17 | Updated prolong responses description |
2022-07-25 | Added IP address for API testbed |
2022-07-18 | Added document_roles_feature_disabled and cannot_use_document_roles_with_forwarding document validation errors |
2022-07-01 | Added IP address for API testbed |
2022-05-12 | Added onfido authentication with support for provider settings |
2022-05-03 | Added authentication to sign provider: smart_id_qes |
2022-04-22 | Added /documents/DOC_ID/appendfile endpoint |
2022-04-21 | Update URLs for api-explorer |
2022-04-05 | attachment/new now returns attachment metadata in the response body |
2022-03-30 | Updated API Testbed IP addresses. |
2022-03-01 | Added new usagestats/custom endpoint |
2021-12-22 | Added authentication to sign itsme |
2021-12-13 | Added signatory_status_summary and signatory_status |
2021-12-06 | Added documentation for signatory signingdata endpoint |
2021-11-05 | Added authentication to sign swisscom_qes_with_srs |
2021-10-11 | Added dk_mitid authentication to sign |
Added optional obligatory parameter to setautheticationtoview, setautheticationtosign and setautheticationtoviewarchived endpoints. |
|
2021-09-29 | Add new /usergroups/list endpoint |
2021-08-27 | setautheticationtoview endpoint now accepts more parameters |
and allows changing auth-to-view to Freja and Onfido. | |
2021-08-23 | Updated list of production IP addresses. |
2021-04-30 | Added authentication to view provider: freja . |
2021-04-28 | Added FullName Signatory Field type. |
2021-04-22 | Added missing authentication to view providers: nl_idin . |
Added missing authentication to sign providers: swisscom_qes , verimi_qes . |
|
Enum values are now displayed in the parameter description. | |
2021-04-20 | Added onfido_document_check and onfido_document_and_photo_check' to authentication_method_to_view` |
2021-03-15 | Added SignDate Signatory Field type. |
2021-02-19 | Added Date Signatory Field type. |
2021-02-18 | Added description to signatory fields. |
2021-02-11 | Added nl_idin option to authentication_method_to_sign . |
2020-12-14 | Added freja option to authentication_method_to_sign . |
2020-10-15 | Adding dk_nemid_pid, dk_nemid_cpr and dk_nemid_cvr as authentication to sign/view/view archived |
2020-10-01 | Fixed changelog. |
2020-09-02 | Added two missing ip-addresses to list of endpoints. |
2020-06-29 | Added documentation for custom SMS messages. |
2020-06-15 | View Folder endpoint: added recursive parameter and fields: home_for_user , home_for_user_group . |
2020-06-02 | Added onfido_document_check and onfido_document_and_photo_check options to authentication_method_to_sign . |
Added missing fi_tupas for authentication_method_to_sign . |
|
2020-05-08 | Added IP address to Environments & IP Addresses. |
2020-04-20 | Added nl_idin and fi_tupas to various authentication_method_to_* . |
2020-04-02 | Updated endpoint list to include missing ip-addresses. |
2020-03-04 | Add user tags API. |
2020-02-21 | Change the format of user group tags. |
2020-01-28 | Add support for tags in the user group API. |
2020-02-05 | Change getbyshortid limit from 24 hours from created/modified time, to 72 hours from created time. |
2019-11-25 | Add folder API documentation. |
2019-11-15 | Update production IP addresses. |
2019-09-30 | Add verimi to authentication_to_view . |
2019-08-15 | Add access control API documentation. |
2019-07-19 | Add user and user group API documentation. |
2019-04-09 | Documented link confirmation delivery. |
2019-04-01 | Reordered the changelog - new changes are now on top. |
2019-03-27 | Clarified cases where fields can also have a null value. |
Clarified use of authentication_method_to_* |
|
2019-02-25 | Add gettokenforpersonalcredentials endpoint and update getpersonaltoken to accept login_token s |
2019-02-18 | Add monitoring endpoint which was already implemented but missing from this document |
2019-01-03 | Add usagestats endpoints |
2018-12-17 | Add fi_tupas (Finnish EID) to authentication_method_to_view /authentication_method_to_view_archived |
Add documentation for /documents/trash and /documents/delete bulk endpoints |
|
Add documentation for authentication_method_to_view_archived |
|
New signatory role: approver. New Signatory field signatory_role , supercedes is_signatory . |
|
2018-06-01 | Add dk_nemid (Danish NemID) to authentication_to_sign |
2018-04-09 | Add a new field to the Signatory JSON: consent_module |
2018-03-29 | Fix an omission where no_bankid (Norwegian BankID) was missing as an Authentication to Sign |
2018-03-26 | Add rejection_reason to the Signatory JSON and an API endpoint to control template sharing |
2018-02-28 | Fix a minor error in the Quick Start guide |
2018-01-29 | Add an endpoint to change the email and mobile number of a signatory |
2018-01-08 | Add an endpoint to get a sign link as a QR code |
2017-11-15 | Custom validations for the SignatoryFieldCustomField are now supported |
2017-08-03 | Revamped definitions of signatory fields, it should now be much clearer |
Added SignatoryFieldRadiogroup , Scrive now supports radio button fields |
|
Factor out SignatoryFieldStandard into SignatoryFieldEmailMobile to allow for editable_by_signatory property |
|
2017-07-04 | Remove a comment about anchoring that was due to a bug, which has now been fixed |
2017-06-08 | Add required field to signatory attachments, optional attachments are now possible |
2017-05-15 | Add missing company standard signatory field |
2017-03-11 | Add dk_nemid (Danish NemID) to authentication_to_view |
2017-01-28 | Documentation of removepages API call |
2017-01-17 | Add JSON fields related to highlighting |
2016-12-17 | New optional no_attachments parameter for the forward API call |
2016-10-27 | Small improvements to documentation following internal and customer feedback |
2016-10-14 | Pre-release of Scrive Document API Version 2 |
Environments & IP Addresses
This section provides details on the IP addresses used by the Scrive Service. You may want to add these addresses to your firewalls' allowlist for outgoing traffic but more importantly for incoming traffic from Scrive eSign when using callbacks.
Production
The main application is available through the scrive.com
domain.
The IP addresses that may be used as endpoints to and from our system are:
- 46.51.201.244
- 52.208.49.53
- 54.229.202.191
- 54.246.132.30
- 54.72.249.47
- 54.72.251.235
- 34.251.5.243
- 52.208.131.2
- 99.80.133.235
- 34.250.236.187
- 34.249.146.57
- 52.16.173.34
- 18.156.102.62
- 18.157.101.196
- 18.192.52.140
- 18.195.34.159
- 3.123.96.167
- 3.125.228.135
- 3.70.90.102
- 3.72.192.223
- 3.72.42.43
- 35.158.183.207
API Testbed
A testing environment is available through the api-testbed.scrive.com
domain.
This environment should be used when developing an integration with the Scrive eSign system.
We usually deploy the latest production environment to our API testbed, but may occasionally update it with newer builds, which may not be as reliable or well tested.
The IP addresses that may be used as endpoints to and from our API testbed systems are:
- 54.229.20.170
- 79.125.66.216
- 18.202.1.44
- 52.50.25.131
API Explorer
An interactive API Explorer is available for both environments:
This is a useful way to test API calls and the OAuth workflow.
The implementation is in JavaScript and you can use Firebug or the Google Chrome DevTools to inspect HTTP requests.
Usage limitations
TLS Secure Renegotiation
To be able to establish a secure connection with the Scrive servers using TLS versions prior to 1.3, your client software needs to support TLS Secure Renegotiation as described in RFC 5746.
TLS 1.3 does not support renegotiation by design.
Iframe embedding disabled
To enhance the security of our service, the ability to embed Scrive Online using iframes is disabled. This is done to mitigate the risk of Cross-Site Scripting (XSS) vulnerabilities and clickjacking attacks and ensure the integrity of signed Scrive documents.
If you have previously integrated Scrive using iframes, it is recommended to migrate to alternative methods that do not rely on iframing. For instance, consider redirecting users to the Scrive Online page, opening it in a new tab or window, or utilizing the branded domain feature.
POST/DELETE request data as URL parameters
This API accepts POST request data as URL-encoded form-data. While the HTTP
protocol does not restrict sending POST data as URL parameters,
it is not recommended to send sensitive data this way. Instead, it should
be sent as body parameters with application/x-www-form-urlencoded
or multipart/form-data
content type.
Starting from 1.10.2024 the system will stop accepting POST/DELETE request data as URL parameters, and will start returning HTTP code 400 for such usages.
Upgrading from Version 1
There is no change to the Document workflow from Version 1 of the API. The main changes in this version, compared to Version 1, are:
- A new naming structure for API endpoints
- Changes to the JSON data structures
- Changes to parameters and their names
- More comprehensive documentation
- Better error messages
The root endpoint for Version 1 was /api/v1
, this has changed to
/api/v2/documents
.
Most of the parameters have had minor name changes to make it easier for
newcomers to use the API.
However, the parameters for the /list
call have undergone significant
structural changes.
- The Document JSON structure has changed, and fields have been renamed
- The list call returns the full Document JSON for all documents, make sure
you include
gzip
in yourAccept-Encoding
header to avoid large response sizes.
The following table summarises the changes in naming of the API calls. For details of the new parameters and JSON data structures, please consult the documentation.
API endpoint in Version 1 (/api/v1 ) |
Equivalent API endpoint in Version 2 (/api/v2/documents ) |
---|---|
/list |
/list |
/createfromfile |
/new |
/createfromtemplate/$template_id$ |
/newfromtemplate/{template_id} |
/changemainfile/$documentid$ |
/{document_id}/setfile |
/update/$documentid$ |
/{document_id}/update |
/ready/$documentid$ |
/{document_id}/start |
/cancel/$documentid$ |
/{document_id}/cancel |
/get/$documentid$ |
/{document_id}/get |
/delete/$documentid$ |
/{document_id}/trash |
/reallydelete/$documentid$ |
/{document_id}/delete |
/remind/$documentid$ |
/{document_id}/remind |
/setattachments/$documentid$ |
/{document_id}/setattachments |
/downloadmainfile/$documentid$/$any_name$.pdf |
/{document_id}/files/main/{filename} |
/downloadfile/$documentid$/$fileid$/$any_name$.pdf |
/{document_id}/files/{file_id}/{filename} |
/changeauthenticationtoview/$documentid$/$signatorylinkid$ |
/{document_id}/{signatory_id}/setauthenticationtoview |
/changeauthentication/$documentid$/$signatorylinkid$ |
/{document_id}/{signatory_id}/setauthenticationtosign |
Quick Start
To get started using our API it is recommended to first read the Introduction, this will give you an overview of some key concepts in use by the Scrive eSign system.
Once you are familiar with the basic concepts the simplest document workflow can be achieved by:
- Creating a new document using
api/v2/documents/new
(see New Document) - Updating the document with the desired process options and signatory
details using
api/v2/documents/{document_id}/update
(see Update a document) - Start the signing process with
api/v2/documents/{document_id}/start
(see Start the signing process)
Introduction
Scrive eSign is a system for signing documents electronically.
Users need to create an account with Scrive to create and send Documents, but recipients do not need to have an account.
Documents in the Scrive eSign system define the parties to the document, including the information these parties should fill out, the document workflow, such as delivery and authentication for the parties, and many other features related to the E-signing of documents as provided by Scrive.
The Scrive Document API uses the Document JSON data structure to represent
Documents in the Scrive eSign system.
These always include an array of parties
, which are either signing or
non-signing parties to the document, and represent the workflow assigned to
that party, and their individual information.
These use the Signatory JSON data structure.
We will first talk about the Document JSON, followed by the Signatory JSON. For the reference documentation about these data structures please see the Definitions.
Documents
A core data structure used throughout the API is the Document JSON. The Document JSON is used to create documents, define the workflow for signing and non-signing parties, monitor the progress of the document, etc.
A key property of a document is its status
(as defined by
DocumentStatus).
Newly created documents have status: "preparation"
and can be easily
modified.
Most changes to the Document at this stage are done using the Document
update
API call, by passing a Document JSON with values updated as
necessary.
Not all fields can be updated in this way.
For example, the Document’s id
is auto-generated and cannot be changed.
For details of which fields cannot be updated in this way, look for the
readOnly
property in the Document Definitions.
Once the document signing process has been started, using the start
API
call, the status
will change to "pending"
and relatively few
modifications by the author are possible.
Making the start
API call will also deliver the document to the parties,
depending on the delivery methods set (e.g. by email or SMS).
After all signing parties have successfully signed the document, its status
will change to "closed"
, after which it cannot be modified.
A pending document can also be cancelled by the author using the cancel
API call, or rejected by a signing party, resulting in its status being
"cancelled"
or "rejected"
, respectively.
Any actions performed by parties to a document, such as signing, can only be performed in the web application interface. We will not provide an API for such actions.
The following diagram provides a rough overview of the document lifecycle:
Please refer to Document
in the Definitions for a
detailed description of all the fields available, and their use.
Templates
It is possible to set up template documents to be used with the "new document from template" API call.
Any document in preparation can be made into a template by executing an
update call and setting the "is_template"
field to be true
. This cannot be
reversed once set, and templates cannot directly be made into documents for
signing.
Templates have the same JSON structure as regular documents and can also be
updated.
In particular, their "id"
can be used to
create a new document from a template.
Updating a template will only affect documents created from a template
after the template was updated.
Finally, using the list call, it is possible to list all your available templates by setting the appropriate filters.
Parties
Every Document has an array field named parties
.
This defines the signing and viewing parties to a document, their details,
how the document is to be delivered to them, an extra authentication that
must be performed, etc.
It is possible to add an extra party to a Document in preparation using the
update
call.
Simply add an extra empty object (i.e. { }
) to the list of existing
parties and the Scrive API will return an additional party populated using
default values.
Each party has a unique id
, which we refer to as the signatory_id
.
As with Documents, not all fields may be changed using the update
call.
For details of this data structure, please refer to Signatory
in the
Definitions.
Callbacks
The Scrive eSign system can trigger API callbacks when some significant property of a Document changes, as for example, when a signing party signs the Document.
For callbacks to be triggered, you need to set the api_callback_url
value
on the Document.
You can also trigger callbacks manually using the callback
API call (this
call has no effect if the api_callback_url
is not set).
For certain use cases it is possible to instead have a "User callback scheme" defined. You will need to contact us to set this up, and setting callbacks on Documents is the preferred solution.
The Scrive eSign system will perform an HTTP POST
request, with the
following POST
parameters:
document_id
: As the name implies, the unique Document IDdocument_json
: The Document JSON, see Definitionsdocument_signed_and_sealed
: A booleantrue
orfalse
, which indicates whether the document has been signed and sealed with a digital signature
There will generally be two callbacks executed with
document_signed_and_sealed
set to true
.
The first will be shortly after all signing parties have signed the document
and Scrive has applied a digital signature, and the second will be
issued when a keyless signature has been applied to the document.
This usually happens between 15-30 days after the original signing date.
We guarantee to make at least one callback when the Document status changes to one of the following values:
pending
closed
canceled
timedout
rejected
We cannot guarantee to make only one callback per status change, and we may trigger callbacks for changes not listed here. Furthermore, a callback does not indicate what changed in a document, it simply tells you the current state of a document. Finally, callbacks will not be triggered for documents that have been deleted.
The Scrive eSign system will look at the HTTP response code returned by the
callback URL.
If it is not an HTTP 2xx
response, then the callback will be retried in
increasing intervals, the first after 5 minutes.
After 10 failed attempts, we will no longer attempt the callback.
We may modify the specifics of this behaviour without notice.
If you are experiencing issues, it is worth checking the TLS/SSL certificate configuration on the server which is receiving the callbacks. This is a common cause of failure.
If you would like to test your server, the following resource may be useful:
Instructions for properly configuring a certificate on many kinds of servers can be found at the following location:
Authentication
The Scrive Document API supports OAuth 1.0 and personal access credentials based on this.
Where your application needs to perform actions on behalf of Users, the recommended approach is to use the full OAuth workflow.
Personal Access Credentials
You can retrieve personal access credentials for a user account using a special endpoint and supplying their login details.
Using cURL, you can do:
curl -X POST 'https://{server_address}/api/v2/getpersonaltoken' \
--data-urlencode 'email={user_email}' \
--data-urlencode 'password={user_password}'
Replacing
{server_address}
,{user_email}
and{user_password}
to the appropriate values.Or, if you are using the
login_token
method:
curl -X POST 'https://{server_address}/api/v2/getpersonaltoken' \
--data-urlencode 'login_token={login_token}'
Replacing
{server_address}
,{login_token}
to the appropriate values.These two methods will both return the personal access tokens as a JSON:
{
"apitoken" : "987dfsd312sd76sh_123"
, "apisecret" : "c47b87126dsacbhb"
, "accesstoken" : "2d1287dassg22jke_114"
, "accesssecret" : "12876adsdhght665"
}
Then, given the following example personal access credentials:
- Client credentials identifier:
apitoken = 123
- Client credentials secret:
apisecret = abc
- Token credentials identifier:
accesstoken = 456
- Token credentials secret:
accesssecret = cde
The following authorisation header can be used:
Authorization: oauth_signature_method="PLAINTEXT", oauth_consumer_key="123", oauth_token="456", oauth_signature="abc&cde"
Instead of OAuth, clients may access the Scrive API using personal access credentials. A user can create personal access credentials in the Scrive Account Section through the web interface, or using a dedicated API call, as described in the right column.
Only one personal token is available per user. Such credentials can be used instead of OAuth client and token credentials in API calls. The personal access credentials are associated with the user and can be used instead of any other OAuth privileges, they are intended for special cases where OAuth is not a viable option, or for getting started quickly in a sandbox environment.
There are two ways to use this endpoint. One is to provide the username and
password of the user you are creating the personal access credentials for.
The other is to provide a login_token
. These are temporary tokens created
by the gettokenforpersonalcredentials
endpoint. These are demonstrated in
the sidebar.
OAuth
Managing API access is done through a Scrive user account, and each user account may have zero or more client credentials. These client credentials are managed in the Integration settings tab of the user account settings.
These client credentials may be used to request privileges from users. Users, in turn, can approve or deny granting such privileges. They may also remove privileges as they see fit, from the Integration settings tab.
The OAuth authorisation sequence allows you to request privileges from a user and retrieve token credentials. Once these have been approved, you may use the token credentials to make API requests on behalf of the user.
OAuth privileges
The current API version accepts the following privileges names:
DOC_CREATE
, DOC_CHECK
, DOC_SEND
and FULL_ACCESS
.
FULL_ACCESS
can be used instead of all the other privileges and their combinations.
Permission levels required for each API call are described on a per call basis.
OAuth and Cookies
As the Scrive eSign web interface uses the Scrive API, all API calls
support two modes of authentication: OAuth based, and browser cookie based.
If the Authorization
header is set, any browser cookies are ignored.
OAuth 1.0 Workflow
OAuth Workflow using cURL
Here we provide some examples using the cURL command.
1. Temporary credentials request using cURL and response:
$ curl 'https://${host}/oauth/temporarycredentials?privileges=DOC_CREATE%2BDOC_SEND' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="4d224b89875b39af_2",oauth_signature="f446cae781995b05&aaaaaa",oauth_callback="http://www.mywebsite.com/scrive"'
oauth_token=b0d6be3270a2b3ad_8&oauth_token_secret=dac0ec76e037c01d&oauth_callback_confirmed=true
2. Now redirect the user to:
https://${host}/oauth/authorization?oauth_token=b0d6be3270a2b3ad_8
If the user grants access to your application, they will be redirected to:
http://www.mywebsite.com/scrive?=&oauth_token=b0d6be3270a2b3ad_8&oauth_verifier=6382be3e8fcafd94
3. You should now request for an OAuth token using all the information:
$ curl '${host}/oauth/tokencredentials' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="4d224b89875b39af_2",oauth_signature="f446cae781995b05&dac0ec76e037c01d",oauth_token="b0d6be3270a2b3ad_8",oauth_verifier="6382be3e8fcafd94"'
oauth_token=0e870aa5ff434d5a_2&oauth_token_secret=22adb49346ba7674
You should now be able to perform an API call, for example:
curl -X POST '${host}/api/v2/documents/new' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="4d224b89875b39af_2",oauth_signature="f446cae781995b05&22adb49346ba7674",oauth_token="0e870aa5ff434d5a_2"'
The OAuth workflow consists of three steps, which we will describe in turn:
- Temporary credentials request and response
- Authorisation redirect
- Token request and response
1. Temporary Credentials
You must first request temporary credentials using the client credentials identifier and secret from your account’s Integration settings tab.
To do so you must issue a GET
request to
https://${host}/oauth/temporarycredentials?privileges=${privileges}
with
the following parameters in the authorization
header:
oauth_signature_method="PLAINTEXT"
oauth_consumer_key="${consumer_key}"
oauth_signature="${consumer_secret}&aaaaaa"
oauth_callback="${oauth_callback_url}"
${privileges}
must be separated by a +
, for example
"DOC_CREATE+DOC_SEND"
(or %2B
when URL encoded).
You can set ${oauth_callback_url}
to what you like, but it must be set.
The oauth_signature
must be appended with a dummy &aaaaaa
at this
stage, it will be replaced with other tokens later.
The reponse should include an oauth_token
, oauth_token_secret
, and
oauth_callback_confirmed=true
.
2. Authorisation redirect
You must now redirect the User to
https://${host}/oauth/authorization?oauth_token=${oauth_token}
using the
oauth_token
from the previous step.
The user will be asked to grant you the requested privileges, displaying your company name.
If they accept, they will be redirected to:
${oauth_callback}?=&oauth_token=${oauth_token}&oauth_verifier=${oauth_verifier}
If they reject, the redirection will be to:
${oauth_callback}?=&oauth_token=${oauth_token}&denied=true
Therefore, you should be able to inspect the redirection to the callback URL.
3. Token request
Now you should have the following pieces of information:
oauth_consumer_key
oauth_token
oauth_verifier
We then use oauth_signature_method="PLAINTEXT"
and construct a new
oauth_signature
from the client credentials secret and temporary
credentials secret:
oauth_signature_method="PLAINTEXT"
oauth_signature="${consumer_secret}&${oauth_token_secret}"
Finally, we wrap all of this into the Authorization
header to
https://${host}/oauth/tokencredentials
and get back an oauth_token
and
oauth_token_secret
.
We can now make API calls on behalf of the User by including the finalised
tokens in the Authorization
header:
oauth_consumer_key
oauth_token
oauth_signature_method="PLAINTEXT"
oauth_signature
Errors
Error responses will contain a JSON response body, structured as follows:
{
"error_type": "$error_type$"
, "error_message": "$error_message$"
, "http_code": $http_code$
, "error_details": $error_details$
}
For example:
{
"error_type": "resource_not_found"
, "error_message": "Document not found."
, "http_code": 404
, "error_details": {
"document_id": "$id"
}
}
error_details
property can be arbitrary JSON value unless endpoint documentation specifies otherwise. This property is meant to to aid developers/API integrators to figure out what caused an error and it's not meant to be interpreted by API integration.
Scrive uses HTTP status codes to indicate the success or failure of an API request.
HTTP response codes in the 2xx
range indicate that the API call completed
successfully.
The 4xx
range indicates an error, either due to missing, incomplete, or
not applicable information (e.g. missing or invalid parameters, invalid
authorisation, etc.).
When a request is well formed, but does not satisfy necessary conditions,
then we will return a 409
code.
For example, when trying to start the signing process for a document that
has already been signed.
Codes in the 5xx
range suggest an error with Scrive’s eSign system, they
could also indicate planned system downtime, and will be rare.
The following table of error responses applies to all API calls, there may be additional errors which are specific to the respective API calls, but will follow the same structure.
HTTP code | Reason | Error Type and Message |
---|---|---|
400 Bad Request | Obligatory parameters were missing |
The parameter(s) |
400 Bad Request | Parameter(s) could not be parsed |
The parameter(s) Some debugging information may also be present, detailing why parsing failed. |
400 Bad Request | Parameter(s) were present and could be parsed, but were not valid. |
Error message should detail what is wrong with the parameter(s). |
401 Unauthorised | No or invalid access credentials |
No valid access credentials were provided. Please refer to our API documentation. |
403 Forbidden | Insufficient access privileges for request |
The access credentials provided do not have sufficient privileges for this request. |
403 Forbidden | User doesn’t have permission for a document action or retrieval |
You do not have permission to perform this action on the document. |
404 Not Found | Non existent API endpoint |
The endpoint was not found. See our website for API documentation. |
404 Not Found | The endpoint exists but the resource was not found. |
The resource was not found. We will try to give additional information about what is missing. |
409 Conflict | The document’s object_version does not match |
The document has a different |
500 Server Error | Other unexpected server error |
We encountered an unexpected error.
Please contact Scrive support and include as much details about
what caused the error, including the |
We recommend writing integration code that handles the possibility of the Scrive eSign system returning errors.
List of API Calls
Monitor
Prepare
POST /api/v2/documents/newfromtemplate/{document_id}
POST /api/v2/documents/{document_id}/clone
POST /api/v2/documents/{document_id}/update
POST /api/v2/documents/{document_id}/setfile
POST /api/v2/documents/{document_id}/appendfile
POST /api/v2/documents/{document_id}/setattachments
POST /api/v2/documents/{document_id}/removepages
POST /api/v2/documents/{document_id}/start
Get
GET /api/v2/documents/{document_id}/canbestarted
GET /api/v2/documents/validation_errors
GET /api/v2/documents/{document_id}/get
GET /api/v2/documents/{short_document_id}/getbyshortid
GET /api/v2/documents/{document_id}/{signatory_id}/getqrcode
GET /api/v2/documents/{document_id}/{signatory_id}/signingdata
GET /api/v2/documents/{document_id}/files/main/{filename}
GET /api/v2/documents/{document_id}/files/{file_id}/{filename}
GET /api/v2/documents/{document_id}/history
POST /api/v2/documents/{document_id}/callback
Modify
POST /api/v2/documents/{document_id}/remind
POST /api/v2/documents/{document_id}/prolong
POST /api/v2/documents/{document_id}/cancel
POST /api/v2/documents/{document_id}/trash
POST /api/v2/documents/{document_id}/delete
POST /api/v2/documents/{document_id}/forward
POST /api/v2/documents/{document_id}/setautoreminder
POST /api/v2/documents/{document_id}/restart
POST /api/v2/documents/{document_id}/tags/update
POST /api/v2/documents/{document_id}/{signatory_id}/resend
POST /api/v2/documents/{document_id}/{signatory_id}/setauthenticationtoview
POST /api/v2/documents/{document_id}/{signatory_id}/setauthenticationtosign
POST /api/v2/documents/{document_id}/{signatory_id}/setauthenticationtoviewarchived
POST /api/v2/documents/{document_id}/{signatory_id}/changeemailandmobile
POST /api/v2/documents/templates/setsharing
Bulk send
POST /api/v2/documents/{document_id}/bulk_send/start
POST /api/v2/documents/{document_id}/bulk_send/canbestarted
GET /api/v2/documents/bulk_send/{bulk_send_id}
GET /api/v2/documents/bulk_send
Signatory attachments
POST /api/v2/documents/{document_id}/{signatory_id}/setattachment
Attachment
GET /api/v2/attachments/{attachment_id}/download/{filename}
POST /api/v2/attachments/delete
POST /api/v2/attachments/setsharing
User
POST /api/v2/gettokenforpersonalcredentials/{user_id}
GET /api/v2/dataretentionpolicy
POST /api/v2/dataretentionpolicy/set
User Group
POST /api/v2/usergroups/create
GET /api/v2/usergroups/{user_group_id}
POST /api/v2/usergroups/{user_group_id}/update
POST /api/v2/usergroups/{user_group_id}/delete
GET /api/v2/usergroups/{user_group_id}/contact_details
POST /api/v2/usergroups/{user_group_id}/contact_details/update
POST /api/v2/usergroups/{user_group_id}/contact_details/delete
GET /api/v2/usergroups/{user_group_id}/settings
POST /api/v2/usergroups/{user_group_id}/settings/update
POST /api/v2/usergroups/{user_group_id}/settings/delete
GET /api/v2/usergroups/{user_group_id}/users
Access Control
GET /api/v2/getuserroles/{user_id}
GET /api/v2/accesscontrol/roles/{role_id}
POST /api/v2/accesscontrol/roles/add
POST /api/v2/accesscontrol/roles/{role_id}/delete
Folders
GET /api/v2/folders/{folder_id}
POST /api/v2/folders/{folder_id}/update
POST /api/v2/folders/{folder_id}/delete
GET /api/v2/folders/{folder_id}/list
Monitor
Get the system status
GET /api/v2/monitor/status
Check the system status, no API credentials required.
Responses
Code | Description |
---|---|
200 | A simple JSON response with the system status:
Any other response implies there are system issues. We may add more fields and more details in the future. |
Prepare
New document
POST /api/v2/documents/new
Example
curl -X POST 'https://{server_address}/api/v2/documents/new' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="${apitoken}",oauth_token="${accesstoken}",oauth_signature="${apisecret}&${accesssecret}"'
The above example uses personal access credentials (see
-H
option), but can be easily updated to use OAuth.
Create a new document with the given PDF (if any) as the main file.
The new document will have state Preparation
, and will not be a template.
If no PDF is provided, you can set one using the {document_id}/setfile
API call.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
default: | The PDF to use for the document. If supplied, the document’s title will be set to the filename (with the extensions removed). Otherwise a default document title will be set, depending on the user language settings. | file | formData |
default: | Whether the document should start out as being "saved" (i.e. appear in the E-archive). The document can be "saved" later, by setting the "saved" field to
| boolean | formData |
Responses
Code | Description |
---|---|
201 | The document metadata as a JSON. |
400 | The parameter |
New document from Template
POST /api/v2/documents/newfromtemplate/{document_id}
Example
curl -X POST 'https://{server_address}/api/v2/documents/newfromtemplate/${document_id}' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="${apitoken}",oauth_token="${accesstoken}",oauth_signature="${apisecret}&${accesssecret}"'
The above example uses personal access credentials (see
-H
option), but can be easily updated to use OAuth.
Create a new document from a template, given the document ID for a document that is a template.
The new document will have state Preparation
and will not be a template, and the signing process can thus be carried out.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
201 | The document metadata as a JSON. |
409 | The document is not a template. |
Clone a document
POST /api/v2/documents/{document_id}/clone
Clone an existing document, returning a new document in Preparation
.
You can only clone documents for which you are the author, the new document will use the current author details for the author signatory fields.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
201 | The document metadata as a JSON. |
Update a document
POST /api/v2/documents/{document_id}/update
Example
curl -X POST 'https://{server_address}/api/v2/documents/${document_id}/update' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="${apitoken}",oauth_token="${accesstoken}",oauth_signature="${apisecret}&${accesssecret}"' \
--data-urlencode 'document={ "id":"${document_id}", "parties": [{}] }' \
--data-urlencode 'document_id=${document_id}'
The above example uses personal access credentials (see
-H
option), but can be easily updated to use OAuth.
Update the metadata for a document in preparation.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| The document metadata Must be of type Can be a subset of the JSON structure, for example it is possible to
just update the title of a document with Not all fields can be set this way, please refer to the definitions for details, those marked as read-only cannot be modified using this API call. | string | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 | The document status should be |
Set the Main File
POST /api/v2/documents/{document_id}/setfile
Set or replace the main PDF file for a document in Preparation
.
If the file
parameter is blank, the main file for the document will be
removed (if any).
A note about anchors: Signatory field placements with anchors are only recalculated if a main file was already set on the document, as it requires the relative placement in original file to recalculate placements for the new file. Contact us to learn more about anchors, and discuss advanced features that we may be able to offer you.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, the PDF will be set as the main file for the document. If not provided, the current main file for the document will be removed. | file | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
400 | The parameter |
409 | The document status should be |
Append a new PDF file to the main PDF file
POST /api/v2/documents/{document_id}/appendfile
Append the provided PDF file to the main PDF file for a document in Preparation
.
If document had no main file set, this will be equivalent to simply setting the main
PDF file of the document to the provided one. See {document_id}/setfile
.
A note about anchors:
Similarly to {document_id}/setfile
behavior, anchors are only recalculated if a main
file was already set on the document.
Contact us to learn more about anchors, and discuss advanced features that
we may be able to offer you.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| The PDF file to be appended to the main file for the document. If document doesn't have a main file set, this will become then new main file. | file | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
400 | The parameter |
409 | The document status should be |
Set Author Attachments
POST /api/v2/documents/{document_id}/setattachments
A document uploaded by the author that the signatory parties must review in order to complete the signing process.
Example
As this call can be a little tricky to understand, we provide a concrete example.
Suppose we wanted to set two author attachments:
terms_and_conditions.pdf
proof_of_purchase.pdf
To do this we would need to include the two files as form data in our request. We are then free to chose names for the form data elements, so suppose we chose
toc_file
for the first, andproof_file
for the second.In this case the
attachments
JSON would need to resemble:
[
{
"name": "Terms and Conditions",
"required": true,
"add_to_sealed_file": false,
"file_param": "toc_file"
},
{
"name": "Proof of purchase",
"required": false,
"add_to_sealed_file": true,
"file_param": "proof_file"
}
]
And we would include our files as named form elements.
Set or remove author attachments for the document.
By default, it replaces any existing attachments, so all attachments must be
set by any use of this call. See the parameter incremental
to change this
behaviour.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| List of author attachments. The list provided will replace any existing attachments (if any).
Therefore, to add an attachment to an existing list, you would need to
first fetch the existing attachments Note: The JSON structure has two variants, one with
Must be of type Author Attachments. | string | formData |
| The named file parameters Any If converting from API version 1, it is convenient to name these
parameters | file | formData |
default: | If set to For each given attachment, if there already is one with the same name, it will get overwritten, otherwise, the attachment will be added. Note that, if this is set to
This means that first setting the attachments to A, B, C, D, and then
calling If the order of attachments is important to you, don't use
| boolean | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 | The document status should be |
Remove pages
POST /api/v2/documents/{document_id}/removepages
Remove some pages from main PDF file of a document in Preparation
.
Checkboxes and signature areas that are placed on pages to be removed will
be removed from their respective signatory.
For standard and text fields, only the placements that are on the pages to
be removed will be removed, the signatory field will still exist.
As a consequence of removing pages, the page
property of any placements
may change to account for any removed pages.
This operation will update the document’s file
with a new one, that will
have the requested pages removed from its current main file.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| List of pages to be removed. Pages are indexed from 1. To remove the first and last page, when the main file has 4 pages, set
this param to | array | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
400 | Parameter
|
409 |
|
Start the signing process
POST /api/v2/documents/{document_id}/start
Example
curl -X POST 'https://{server_address}/api/v2/documents/${document_id}/start' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="${apitoken}",oauth_token="${accesstoken}",oauth_signature="${apisecret}&${accesssecret}"' \
--data-urlencode 'document_id=${document_id}'
The above example uses personal access credentials (see
-H
option), but can be easily updated to use OAuth.
Start the signing process for a document in preparation.
OAuth Privileges required: DOC_SEND
Error response example
{
"error_type": "document_state_error",
"error_message": "Document is a template and can't be started.",
"http_code": 409,
"error_details": {
"document_id": "97",
"explanations": [ // Human readable explanation not intended for presentation to user
"Document is a template and can't be started.",
"Document is missing the main PDF.",
"Invitation delivery for participant #2 requires valid \"email\" field.",
"Value of \"email\" field for participant #2 is obligatory for sender and can't be empty."
],
"errors": [
{
"details": {},
"type": "document_is_template"
},
{
"details": {},
"type": "missing_document_file"
},
{
"details": {
"field": {
"type": "email"
},
"signatory_id": "198"
},
"type": "invalid_invitation_delivery_info"
},
{
"details": {
"field": {
"type": "email"
},
"signatory_id": "198"
},
"type": "field_obligatory_for_sender"
}
]
}
}
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
default: | Whether to include new field validation errors ( The purpose of this parameter is to provide backward compatibility, as the introduction of additional validations could break existing integrations, but if you're just integrating this call, we recommend to enable this option. | bool | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 |
More information about individual errors in Document validation error. |
Get
Can the signing process be started?
GET /api/v2/documents/{document_id}/canbestarted
Example
curl -X GET 'https://{server_address}/api/v2/documents/${document_id}/canbestarted' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="${apitoken}",oauth_token="${accesstoken}",oauth_signature="${apisecret}&${accesssecret}"'
The above example uses personal access credentials (see
-H
option), but can be easily updated to use OAuth.
Find out whether the signing process can be started. If it cannot, return a list of reasons.
OAuth Privileges required: DOC_SEND
Response example
{
"can_start": false,
"errors": [
{
"details": {},
"type": "missing_document_file"
},
{
"details": {
"field": {
"type": "personal_number"
},
"signatory_id": "199"
},
"type": "invalid_authentication_to_view_info"
},
{
"details": {
"field": {
"type": "first_name"
},
"signatory_id": "200"
},
"type": "invalid_authentication_to_view_info"
},
{
"details": {
"field": {
"type": "last_name"
},
"signatory_id": "200"
},
"type": "invalid_authentication_to_view_info"
},
{
"details": {
"field": {
"type": "mobile"
},
"signatory_id": "199"
},
"type": "invalid_invitation_delivery_info"
},
{
"details": {
"field": {
"type": "mobile"
},
"signatory_id": "199"
},
"type": "field_obligatory_for_sender"
},
{
"details": {
"field": {
"type": "personal_number"
},
"signatory_id": "199"
},
"type": "field_obligatory_for_sender"
},
{
"details": {
"field": {
"type": "first_name"
},
"signatory_id": "200"
},
"type": "field_obligatory_for_sender"
},
{
"details": {
"field": {
"type": "last_name"
},
"signatory_id": "200"
},
"type": "field_obligatory_for_sender"
}
]
}
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
default: | Whether to include new field validation errors ( The purpose of this parameter is to provide backward compatibility, as the introduction of additional validations could break existing integrations, but if you're just integrating this call, we recommend to enable this option. | bool | url |
Responses
Code | Description |
---|---|
200 |
More information about individual errors in Document validation error. |
409 |
|
Validation error templates
GET /api/v2/documents/validation_errors
Lists user presentable templates for document validation errors.
Example
# No authentication is required
curl -X GET 'https://{server_address}/api/v2/documents/validation_errors'
Should be used together with GET /api/v2/documents/{document_id}/canbestarted
response
and/or POST /api/v2/documents/{document_id}/start
error response to present an error message
in user's language.
Whenever certain property in details
property of Document Validation Error
is present, there's a related substitution variable of the same or very similar (signatory
× signatory_id
) name in the template,
which should be replaced with information based on content of that property details including highlighting (substituting with something
like «Email»
or <b>Mobile</b>
).
For example {signatory}
should be replaced by participant's name or email if one of them is available (non-empty),
otherwise use identification using participant order (e.g. <b>#2</b>
for second participant).
The table of substitution variables and their corresponding error properties is as follows:
Error property | Substitution variable |
---|---|
attachment_name |
attachment_name |
authentication_method |
authentication_method |
delivery_method |
delivery_method |
field |
field |
signatory_id |
signatory |
recipient_index |
recipient_index |
limit |
limit |
Example
{
"approver_cannot_have_field_placement":
"Approver {signatory} can't have field placements.",
"approver_cannot_have_non_standard_sign_authentication":
"Approver {signatory} can't have non-standard authentication to sign.",
"authentication_to_sign_method_disabled":
"Participant {signatory} can't use authentication to sign {authentication_method}. This feature is disabled.",
"authentication_to_view_archived_method_disabled":
"Participant {signatory} can't use authentication to view archived {authentication_method}. This feature is disabled.",
"authentication_to_view_method_disabled":
"Participant {signatory} can't use authentication to view {authentication_method}. This feature is disabled.",
"author_attachments_feature_disabled":
"Document can't use author attachments. This feature is disabled.",
"author_cannot_be_approver":
"Document author can't be an approver.",
"author_cannot_use_forwarding":
"Document author can't use forwarding.",
"bulk_send_empty_recipient_list":
"Can't start document using bulk send. The recipient list is empty.",
"bulk_send_feature_disabled":
"Can't use bulk send. This feature is disabled.",
"bulk_send_multiple_matching_fields":
"Can't start document using bulk send. Field name {field} is ambiguous (can match multiple fields).",
"bulk_send_no_matching_field":
"Can't start document using bulk send. Field name {field} doesn't match any field in the document.",
"bulk_send_no_matching_signatory_found":
"Can't start document using bulk send. Target signatory wasn't found in the document.",
"bulk_send_non_text_field":
"Can't start document using bulk send. Field name {field} corresponds to non-text field.",
"bulk_send_target_signatory_is_an_author":
"Can't start document using bulk send. Target signatory for bulk send can't be the author of the document.",
"bulk_send_too_many_recipients":
"Can't start document using bulk send. The recipient limit ({limit}) was exceeded.",
"cannot_use_document_roles_with_forwarding":
"Participant {signatory} can't use document roles with forwarding enabled. These options are mutually exclusive.",
"confirmation_delivery_method_disabled":
"Participant {signatory} can't use confirmation delivery {delivery_method}. This feature is disabled.",
"custom_sms_text_feature_disabled":
"Document can't use custom SMS text. This feature is disabled.",
"document_is_template":
"Document is a template and can't be started.",
"document_roles_feature_disabled":
"Participant {signatory} can't use document roles. This feature is disabled.",
"field_obligatory":
"Value of {field} field for participant {signatory} is obligatory and can't be empty.",
"field_obligatory_for_sender":
"Value of {field} field for participant {signatory} is obligatory for sender and can't be empty.",
"forwarding_feature_disabled":
"Participant {signatory} can't use forwarding. This feature is disabled.",
"invalid_authentication_to_sign_info":
"Authentication to sign for participant {signatory} requires valid {field} field.",
"invalid_authentication_to_view_archived_info":
"Authentication to view archived for participant {signatory} requires valid {field} field.",
"invalid_authentication_to_view_info":
"Authentication to view for participant {signatory} requires valid {field} field.",
"invalid_confirmation_delivery_info":
"Confirmation delivery for participant {signatory} requires valid {field} field.",
"invalid_date_config":
"Date configuration of {field} field for participant {signatory} is not valid.",
"invalid_invitation_delivery_info":
"Invitation delivery for participant {signatory} requires valid {field} field.",
"invalid_notification_delivery_info":
"Notification delivery for participant {signatory} requires valid {field} field.",
"invalid_value":
"Value of {field} field for participant {signatory} is not valid.",
"invitation_delivery_method_disabled":
"Participant {signatory} can't use invitation delivery {delivery_method}. This feature is disabled.",
"missing_document_file":
"Document is missing the main PDF.",
"no_signing_party":
"Document has no signing party.",
"notification_delivery_method_disabled":
"Participant {signatory} can't use notification delivery {delivery_method}. This feature is disabled.",
"qes_incompatible_signing_method":
"Signatory {signatory} has unexpected authentication method. All signatories must have the same authentication to sign when QES is used.",
"qes_missing_attachment":
"Attachment {attachment_name} is missing. QES requires all attachments to be present when starting the document.",
"qes_signatory_field_cannot_be_editable_by_signatory":
"There is a visible field that is set to be editable by {signatory}, but only the author is allowed to edit fields when QES signing is used.",
"qes_signatory_field_cannot_be_editable_in_signview":
"There is a visible field assigned to {signatory} whose value is editable in signview, but visible fields can't be edited after the document is started when QES signing is used.",
"qes_signatory_non_author_field":
"There is a field assigned to be filled by {signatory}, but only the author is allowed to fill fields when QES signing is used.",
"signatory_attachment_feature_disabled":
"Document can't use signatory attachments. This feature is disabled."
}
Responses
Code | Description |
---|---|
200 | A JSON object with mapping from error type to text template. |
Get a document
GET /api/v2/documents/{document_id}/get
Get the JSON metadata for a given document_id
.
OAuth Privileges required: DOC_CHECK
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
404 | The resource was not found. A document matching id
|
Get by short ID
GET /api/v2/documents/{short_document_id}/getbyshortid
Get the Document JSON metadata using a short Document ID.
This can only be used for documents created within the last 72 hours. It can only be used for documents that are pending. You can only get documents that you have access to.
OAuth Privileges required: DOC_CHECK
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Last 6 digits of a regular Document ID. Must be a pending document created within the last 72 hours. | integer | path |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
400 | The parameter |
404 | The resource was not found. A document matching short id
|
409 | The resource was in an unexpected state. A document matching short id
|
Get a sign link as a QR code
GET /api/v2/documents/{document_id}/{signatory_id}/getqrcode
Get a Scrive eSign link for a given signatory and document ID, encoded as a QR code in PNG format. Only valid for pending documents.
The encoded link is of the form
scrive://{hostname}/{document_id}/{signatory_id}/{token}
and is intended
to be used with our mobile applications available on the Apple App Store
and Google Play Store.
This endpoint will work irrespective of the delivery method set. It will also work for viewing parties.
OAuth Privileges required: DOC_CHECK
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Unique identifier for a signatory. This value can change before document is made ready for signing, and should not be used to identify signatories while document is a draft. | integer | path |
Responses
Code | Description |
---|---|
200 | PNG image, |
409 |
|
Get document signing data
GET /api/v2/documents/{document_id}/{signatory_id}/signingdata
Gets information about whether a signatory for a document has signed yet or not.
OAuth Privileges required: FULL_ACCESS
Response example (not signed and no authentication method selected for signing)
{
"has_signed": false,
"provider": "standard"
}
Response example (signed without any authentication method)
{
"has_signed": true,
"provider": "standard"
}
Response example (signed with Norwegian BankID)
{
"has_signed": true,
"no_bankid_data": {
"signature": "PD94bWwgdm...",
"signatory_name": "John Doe",
"signatory_date_of_birth": "1921-10-03",
"signatory_mobile": null,
"signatory_personal_number": "03102106309"
},
"provider": "no_bankid",
"eid_hub_transaction_id": "14619149-cdcc-48dd-aebe-aa2cfb8e87f2"
}
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Unique identifier for a signatory. This value can change before document is made ready for signing, and should not be used to identify signatories while document is a draft. | integer | path |
Responses
Code | Description |
---|---|
200 | A JSON object containing information about the signing status of the signatory for the document. The response will contain provider-dependent data about the signatory: The name of the signatory is always included in this data; also information such as email, mobile number, and personal number could be included here, depending on the provider used for the signature. |
List documents
GET /api/v2/documents/list
Fetch a list of documents, with filtering and sorting options.
Note that listing a large number of documents frequently is discouraged and in the future will be subject to API rate limiting.
Under most circumstances it is better to use callbacks. Once set up, your systems will be notified whenever a document undergoes an important state change.
In the unlikely event that callbacks are insufficient for your integration and you do need to call the list API periodically please make your sure your polling strategy is smart. Do not poll more often than necessary, and if there are no changes between subsequent calls, use an exponential backoff.
OAuth Privileges required: DOC_CHECK
Parameters
Parameter | Description | Type | In |
---|---|---|---|
default: | Starting offset for documents to return. If offset is larger than the total number of matching documents, an empty list is returned. | integer | query |
default: | Maximum number of documents to return. Server may cap to a lower value. Default value may change without notice. | integer | query |
default: | List of filtering options. You can supply a list of filtering options to apply. Only documents that match all filters will be returned. Therefore, it is easy to apply a set of filters that will return no documents. If not supplied, the default is not to apply any filter, i.e. Must be of type List Filter, for example:
Note that documents with "awaiting_start" status won't be listed, unless
they are explicitly specified by | string | query |
default: | List of sorting options. You can supply a list of sorting options, which will be applied to list of documents in the order you provided. If not supplied, the default is
Must be of type List Sorting. | string | query |
Responses
Code | Description |
---|---|
200 | A JSON object containing the total number of matching documents, and an array of documents. The |
Get the main file
GET /api/v2/documents/{document_id}/files/main/{filename}
Get the main PDF file for a document.
The optional filename
parameter in the URL can be set to any valid file name.
This allows you to download the file with user-specified file name in the
browser.
OAuth Privileges required: DOC_CHECK
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Optional filename parameter. | string | path |
Responses
Code | Description |
---|---|
200 | The PDF file. |
503 | Error message: The sealed PDF for the document is not ready yet, please wait and try again. This happens immediately after all signatories have signed (i.e.
Document status is |
Get a related file
GET /api/v2/documents/{document_id}/files/{file_id}/{filename}
Get a file related to a document.
This can be used to get author or signatory attachments by looking up their
respective file_id
the Document JSON.
The optional filename
parameter in the URL can be set to any valid file
name. This allows you to download the file with a user-specified file name
in the browser. Note that the extension of the original file name will be
used, if present.
OAuth Privileges required: DOC_CHECK
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Unique identifier for a file available via Scrive. | integer | path |
Responses
Code | Description |
---|---|
200 | The file Usually an image (JPG, PNG) or PDF, but this may change.
|
Get the Document History
GET /api/v2/documents/{document_id}/history
Get the document history to display to the user.
Default language for the document history text is the one set for the user making the API call. This can optionally be overridden.
OAuth Privileges required: DOC_CHECK
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
default: | The language used to display the document history. Defaults to the language of the User making the API call. Has to be a supported language code. Languages may be added or removed without notice. Enum: cs , da , de , el , en , es , et , fi , fr , hu , is , it , lt , lv , nl , no , pl , pt , sv | string | query |
Responses
Code | Description |
---|---|
200 | The list of history items for this document. Will be in reverse-chronological order and an array of History Items. |
Trigger an API callback
POST /api/v2/documents/{document_id}/callback
Explicitly trigger an extra API callback to the URL set for the document. If one is set, no effect otherwise.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
202 | A callback will be triggered for the document if a User or Document callback URL was set. |
409 | Cannot send callbacks for documents in Preparation. |
Modify
Remind signatories
POST /api/v2/documents/{document_id}/remind
Send a reminder invitation message to all signatories that have not yet signed.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
202 | The call succeeded, reminders have been queued and will be sent to all signatories that have not yet signed. |
409 | The document status should be |
Prolong a document
POST /api/v2/documents/{document_id}/prolong
Prolong a document that is pending or has timed out.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Number of days to prolong the document by. | integer | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
400 | The |
409 | The document is neither pending nor has it timed out. Only timed out or pending documents can be prolonged. |
Cancel a pending document
POST /api/v2/documents/{document_id}/cancel
Cancel a pending document.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 | The document state is not |
Move a document to Trash
POST /api/v2/documents/{document_id}/trash
Note: In API Version 2 delete
and trash
behave differently to Version 1.
Move a document to Trash.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 | Documents that are pending or awaiting start cannot be trashed or deleted. |
Move one or more documents to Trash
POST /api/v2/documents/trash
Move one or more documents to Trash.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| List of document IDs to trash. | string | formData |
Responses
Code | Description |
---|---|
200 | A JSON object containing the total number of |
409 | Documents that are pending or awaiting start cannot be trashed or deleted. |
Delete a document
POST /api/v2/documents/{document_id}/delete
Note: In API Version 2 delete
and trash
behave differently to Version 1.
Delete a document that is in Trash.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 | Documents that are pending or awaiting start cannot be trashed or deleted. |
Delete one or more documents
POST /api/v2/documents/delete
Delete one or more documents that are in Trash.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| List of document IDs to delete. | string | formData |
Responses
Code | Description |
---|---|
200 | A JSON object containing the total number of |
409 | Documents that are pending or awaiting start cannot be trashed or deleted. |
Forward a document
POST /api/v2/documents/{document_id}/forward
Forward a signed document to a third party.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| The email address to forward the document to. | string | formData |
default: | When set to true only the signed document will be forwarded, with no other email content. Otherwise a template email content is used, with the document attached. | boolean | formData |
default: | When set to true, only the main file will be included as email attachments. Any attachments not merged with the main file will not be sent. | boolean | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
202 | The call succeeded, an email to the given address has been queued. |
409 | The document status should be |
Set an auto-reminder
POST /api/v2/documents/{document_id}/setautoreminder
Set the number of days in which to send an automatic invitation reminder message to the signatories that have not yet signed by that date.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Including this parameter sets the number of days in which to send automatic reminders. Excluding it will remove automatic reminders from the document. | integer | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
400 | The |
409 | The document status should be |
Restart a document
POST /api/v2/documents/{document_id}/restart
Restart a document that has been cancelled, timed out, or rejected.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
201 | The document metadata as a JSON. |
409 | Documents that are in Preparation, Pending, or Closed cannot be restarted. |
Update document tags
POST /api/v2/documents/{document_id}/tags/update
Example of JSON that could be used to update document tags
The JSON is URL-encoded and passed in via the
tags
form data field. It is not necessary to minify the JSON, but also not prohibited.
[
{
"name": "color",
"value": "blue"
},
{
"name": "remove_me",
"value": null
}
]
Update the document tags of documents that are pending
or closed
.
Document tags are updated as follows:
- Only the provided tags are modified.
- If the value of a tag is a string, the name-value pair is set, possibly overwriting the previous value for that name.
- If the value of a tag is
null
, the corresponding name-value pair will be removed if it exists.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| JSON array containing JSON objects with keys | string | formData |
Responses
Code | Description |
---|---|
202 | The change has succeeded. The body is empty. |
400 | One or more tag names or values is too long, or the number of tags exceeds the limit. |
409 |
|
Resend a signed document to signatory
POST /api/v2/documents/{document_id}/{signatory_id}/resend
Resend a signed document to a signatory.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Unique identifier for a signatory. This value can change before document is made ready for signing, and should not be used to identify signatories while document is a draft. | integer | path |
| If provided, will check the document | integer | formData |
default: | Optional custom message when resending the document. | string | formData |
Responses
Code | Description |
---|---|
202 | The call succeeded, and the signed document has been queued to be resent to the signatory. |
403 | Insufficient Permissions error (this means that you don't have Update permissions upon the document). |
409 | The document status should be |
Set the signatory authentication-to-view method
POST /api/v2/documents/{document_id}/{signatory_id}/setauthenticationtoview
Set the signatory authentication-to-view method after the document has been started.
Side effects of this operation may include adding or modifying fields for the signatory.
For example, if the signatory does not have a field for personal number, then setting the authentication method to Swedish BankID will necessitate adding the field to the signatory with a valid personal number.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Unique identifier for a signatory. This value can change before document is made ready for signing, and should not be used to identify signatories while document is a draft. | integer | path |
| Must be of type Authentication to view with settings. This parameter overrides | object | formData |
| The type of authentication-to-view method to set for the signatory. This paramater is deprecated in favor of Enum: standard , sms_pin , dk_mitid , dk_mitid_erhverv , fi_tupas , nl_idin , no_bankid , se_bankid , verimi , onfido_document_check , onfido_document_and_photo_check , freja , verimi | string | formData |
| Must be of type Authentication field setting. If the
| object | formData |
| Must be of type Authentication field setting. If the Currently SMS PIN and Norwegian BankID methods use this. For Norwegian BankID, the number must be valid Norwegian mobile number.
| object | formData |
| Must be of type Authentication field setting. If the Currently only Onfido uses this.
| object | formData |
| Must be of type Authentication field setting. If the Currently only Onfido uses this.
| object | formData |
| Must be of type Authentication field setting. If the Currently only Freja uses this.
| object | formData |
| Must be of type Authentication field setting. If the
| object | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 | Possible error responses:
|
Set the signatory authentication-to-sign method
POST /api/v2/documents/{document_id}/{signatory_id}/setauthenticationtosign
Set the signatory authentication-to-sign method after the document has been started.
Side effects of this operation may include adding or modifying fields for the signatory.
For example, if the signatory does not have a field for mobile number, then setting the authentication method to SMS PIN will necessitate adding a mobile number field to the signatory and setting it as obligatory.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Unique identifier for a signatory. This value can change before document is made ready for signing, and should not be used to identify signatories while document is a draft. | integer | path |
| Must be of type Authentication to sign with settings. This parameter overrides | object | formData |
| The type of authentication-to-sign method to set for the signatory. This paramater is deprecated in favor of Enum: standard , sms_pin , sms_otp , dk_mitid , dk_mitid_erhverv , fi_tupas , freja , nl_idin , no_bankid , onfido_document_and_photo_check , onfido_document_check , se_bankid , swisscom_qes , swisscom_qes_with_srs , verimi_qes , itsme , itsme_qes , smart_id_qes | string | formData |
| Must be of type Authentication field setting. If provided, it must be valid for the chosen authentication-to-sign method.
If it is not used by the chosen authentication-to-sign method, the parameter will be ignored and will have no effect. If not provided, any existing | object | formData |
| Must be of type Authentication field setting. If provided, it must be valid for the chosen authentication-to-sign method.
If it is not used by the chosen authentication-to-sign method, the parameter will be ignored and will have no effect. If not provided, any existing | object | formData |
| Must be of type Authentication field setting. If provided, it must be valid for the chosen authentication-to-sign method.
If it is not used by the chosen authentication-to-sign method, the parameter will be ignored and will have no effect. If not provided, any existing | object | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 | Possible error responses:
|
Set the signatory authentication-to-view-archived method
POST /api/v2/documents/{document_id}/{signatory_id}/setauthenticationtoviewarchived
Set the signatory authentication-to-view method after the document has been signed.
Side effects of this operation may include adding or modifying fields for the signatory.
For example, if the signatory does not have a field for personal number, then setting the authentication method to Swedish BankID will necessitate adding the field to the signatory with a valid personal number.
For details refer to Set the signatory authentication-to-view method.
OAuth Privileges required: DOC_SEND
Change the email and mobile number of a signatory
POST /api/v2/documents/{document_id}/{signatory_id}/changeemailandmobile
Change the email address and mobile number of a signatory after the document has been started.
This API call is meant to be used for correcting mistakes that may occur during a manual document preparation process.
If you are planning to use it programatically, please be aware that this will result in extra invitation messages being sent, the old invitation links being invalidated, and may therefore not be the approach best suited to your use-case.
You will only be able to change values for fields that a signatory has. For example, if they have no mobile field set, you will not be able to change it.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Unique identifier for a signatory. This value can change before document is made ready for signing, and should not be used to identify signatories while document is a draft. | integer | path |
| The new email address for the signatory. Whilst this field is optional, both | string | formData |
| The new mobile number for the signatory. Whilst this field is optional, both | string | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
409 | Possible error responses:
|
Share or unshare templates
POST /api/v2/documents/templates/setsharing
Share or unshare the specified templates with the company's other users.
OAuth Privileges required: DOC_CREATE
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| List of document IDs of templates to share or unshare. | string | formData |
|
| string | formData |
Responses
Code | Description |
---|---|
202 | The change has succeeded. The body is empty. |
Bulk send
Start the signing process using a bulk send
POST /api/v2/documents/{document_id}/bulk_send/start
Example
curl -X POST 'https://{server_address}/api/v2/documents/${document_id}/bulk_send/start' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="${apitoken}",oauth_token="${accesstoken}",oauth_signature="${apisecret}&${accesssecret}"' \
--data-urlencode 'document_id=${document_id}' \
--data-urlencode 'target_signatory_id=${signatory_id}' \
--data-urlencode 'name=Example bulk send title' \
--data-urlencode 'recipients=[{"email": "recipient@example.org"}, {"email": "recipient.too@example.org"}]'
The above example uses personal access credentials (see
-H
option), but can be easily updated to use OAuth.
Start the signing process for a document in preparation, as an individual document for each recipient.
Depending on the number of recipients, the call to this endpoint can take a few seconds to finish, so it's appropriate to provide some visual feedback about the operation in progress.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| ID of the targeted signatory in the document. | string | formData |
| Label for the bulk send. Only used for presentation purposes. If omitted, the original document name will be used. | string | formData |
| List of recipients, which will replace the targeted signatory. Items must be of type Bulk send recipient info | string | formData |
| If provided, will check the document | integer | formData |
Responses
Code | Description |
---|---|
200 | Details about bulk send and its progress. See Bulk send descriptor. |
409 |
More information about individual errors in Document validation error. |
Can the signing process be started with given bulk send parameters?
POST /api/v2/documents/{document_id}/bulk_send/canbestarted
Example
curl -X POST 'https://{server_address}/api/v2/documents/${document_id}/bulk_send/canbestarted' \
-H 'Authorization: oauth_signature_method="PLAINTEXT",oauth_consumer_key="${apitoken}",oauth_token="${accesstoken}",oauth_signature="${apisecret}&${accesssecret}"' \
--data-urlencode 'document_id=${document_id}' \
--data-urlencode 'target_signatory_id=${signatory_id}' \
--data-urlencode 'recipients=[{"email": "recipient@example.org"}, {"email": "recipient.too@example.org"}]'
The above example uses personal access credentials (see
-H
option), but can be easily updated to use OAuth.
Find out whether the signing process can be started using bulk send. If it cannot be started, returns a list of reasons.
With the exception of this endpoint accepting only POST requests and requiring some extra parameters, the behavior is almost identical to
GET /api/v2/documents/{document_id}/canbestarted
.
One notable difference is that strict validations are always enabled for this endpoint.
OAuth Privileges required: DOC_SEND
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| ID of the targeted signatory in the document. | string | formData |
| List of recipients, which will replace the targeted signatory. Items must be of type Bulk send recipient info | string | formData |
Responses
Code | Description |
---|---|
200 |
Unlike the More information about individual errors in Document validation error. |
409 |
|
Get a description and status of a bulk send
GET /api/v2/documents/bulk_send/{bulk_send_id}
Fetches the JSON data of a bulk send with the given bulk_send_id
.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a bulk send. | integer | path |
Responses
Code | Description |
---|---|
200 | Details about the bulk send and its progress. See Bulk send descriptor. |
404 | The resource was not found. No bulk send matching
the |
List recent bulk sends
GET /api/v2/documents/bulk_send
Fetch a list of recently started bulk sends. Bulk sends are available for a month before expiring.
Responses
Code | Description |
---|---|
200 | Lists basic information about recent bulk sends. |
Signatory attachments
Set/Unset file to signatory attachment
POST /api/v2/documents/{document_id}/{signatory_id}/setattachment
Set/Unset a file to a particular signatory attachment. This operation does not allow you to request a signatory attachment from a signatory, only to set/unset files to already requested signatory attachment. To request signatory attachment from signatory, this has to be done in preparation phase of the document by updating the respective document metadata.
This operation behaves as 'Set' when the attachment
parameter is sent, otherwise it behaves as 'Unset'.
Furthermore, depending on whether fileID
parameter is sent, it either unsets one or all of the files which have been
previously set to a signatory attachment.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Unique identifier for a document. Will not change. | integer | path |
| Unique identifier for a signatory. This value can change before document is made ready for signing, and should not be used to identify signatories while document is a draft. | integer | path |
| The name of the attachment. Must match an attachment name as requested by the document author. | string | formData |
| Set a file to signatory attachment. If provided, this is the file to set as the attachment. If not provided, this operation behaves as either unset all files/unset one file. If fileID is set then it unsets one file. If fileID is NOT set then it unsets ALL files. | file | formData |
| If provided, will check the document | integer | formData |
| This identifies one particular file. | string | formData |
Responses
Code | Description |
---|---|
200 | The document metadata as a JSON. |
400 | This status code is returned when:
|
Attachment
List
GET /api/v2/attachments/list
Fetch a list of attachments, with filtering and sorting options.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Domain in which to search. The list always contains the attachments of the user. If | string | query |
default: | List of filtering options. You can supply a list of filtering options to apply. Only attachments that match all filters will be returned. Therefore, it is easy to apply a set of filters that will return no documents. If not supplied, the default is not to apply any filter, i.e. Must be of type Attachment List Filter, for example:
| string | query |
default: | List of sorting options. You can supply a list of sorting options, which will be applied to the list of attachments in the order you provided. If not supplied, the default is
Must be of type Attachment List Sorting. | string | query |
default: | Pagination parameter. How many items to skip from the beginning. | integer | query |
default: | Pagination parameter. Maximum number of items to return. Server may cap to a lower value. Default value may change without notice. | integer | query |
Responses
Code | Description |
---|---|
200 | A JSON object containing an array of attachments. |
Download
GET /api/v2/attachments/{attachment_id}/download/{filename}
Get the attachment's PDF file.
The optional filename
parameter in the URL can be set to any valid file
name. This allows you to download the file with user-specified file name in
the browser.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Identifier for the attachment. | integer | path |
| Optional filename parameter. | string | path |
Responses
Code | Description |
---|---|
200 | The attachment's PDF file. |
Create
POST /api/v2/attachments/new
Create a new attachment.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Title of the attachment. If not present, the title will be taken from the file name. | string | formData |
| The PDF to use for the attachment. | file | formData |
Responses
Code | Description |
---|---|
201 | The attachment has been added. The body is a JSON object representing the created attachment. |
Delete
POST /api/v2/attachments/delete
Delete the specified attachments.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| List of attachment IDs of attachments to delete. | string | formData |
Responses
Code | Description |
---|---|
202 | The change has succeeded. The body is empty. |
Share or unshare
POST /api/v2/attachments/setsharing
Share or unshare the specified attachments with the company's other users.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| List of attachment IDs of attachments to share or unshare. | string | formData |
|
| string | formData |
Responses
Code | Description |
---|---|
202 | The change has succeeded. The body is empty. |
User
Get temporary login_token for a user
POST /api/v2/gettokenforpersonalcredentials/{user_id}
Generate a temporary login_token
which can be used with getpersonaltoken
to get valid OAuth credentials for that user. The endpoint also returns a
base64-encoded PNG image of a QR code. This QR code also contains the
login_token
embedded in a simple JSON structure. The only purpose of the
JSON is to allow the potential for versioning in future.
This feature is generally for use with Scrive mobile applications and will be supported in an upcoming relase.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
default: | How many minutes the | integer | formData |
Responses
Code | Description |
---|---|
200 | Returns a JSON containing |
Setup 2FA
POST /api/v2/2fa/setup
If already activated, returns true, else triggers QR code generation
Responses
Code | Description |
---|---|
200 | A JSON with the |
Confirm 2FA
POST /api/v2/2fa/confirm
Activates 2-factor-authentication if 2-factor code from QR code is valid
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| 2-factor code | string | formData |
Responses
Code | Description |
---|---|
200 | A JSON with the |
400 | 2-factor code from QR code is invalid |
Disable 2FA
POST /api/v2/2fa/disable
Disables 2-factor-authentication
Responses
Code | Description |
---|---|
200 | A JSON with the |
Is user deletable?
POST /api/v2/isuserdeletable
Returns an object with boolean flag
Responses
Code | Description |
---|---|
200 | A JSON with the |
Delete user
POST /api/v2/deleteuser
undefined
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| User's email | string | formData |
Responses
Code | Description |
---|---|
200 | The user was deleted successfully. The body is empty |
400 | Email parameter isn't provided or doesn't match the user's email |
Get data retention policies
GET /api/v2/dataretentionpolicy
Returns an object with user and company data detention policies
Responses
Code | Description |
---|---|
200 | An object with data retention policies properties. |
Set data retention policies
POST /api/v2/dataretentionpolicy/set
Returns an object with user and company data detention policies
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Must be of type | object | formData |
Responses
Code | Description |
---|---|
200 | The data retention policy has been updated. The body is empty. |
Get user tags
GET /api/v2/usertags
Returns tags attached to the user
Responses
Code | Description |
---|---|
200 | User defined set of name/value pairs. Each tag must have |
Update user tags
POST /api/v2/usertags/update
Updates tags attached to the user.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
default: | Must be of type | array | formData |
Responses
Code | Description |
---|---|
200 | The tags have been updated. The body is empty. |
Get usage stats for days
GET /api/v2/usagestats/days
Retrieve usage statistics for the last 30 days
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The user group ID for which to get usage statistics. This is only used
when | integer | query |
default: | Boolean flag for including a summary of the company statistics in the response. | boolean | query |
default: | Boolean flag for recursively including child user group statistics in
the response. This flag is only used when | boolean | query |
default: | Boolean flag that controls whether to include days or months without statistics in the response. | boolean | query |
default: | Boolean flag that controls whether to include users without statistics in the response. This is only possible to use when | boolean | query |
default: | Boolean flag that controls whether to hide columns of chargeable items referring to eID usage that sum up to zero. This is only possible to use when | boolean | query |
default: | Boolean flag that controls whether to add row with sums of chargeable items. This will be the first row after the header row. This is only possible to use when | boolean | query |
default: | The format to use for the response. Either "json" (the default) or
"csv". The "csv" option is only available when | string | query |
| Lower date bound, ISO 8601 format. The default for this is 30 days ago. Can be given using either Examples: Cannot request data past 1st day of the month, 12 months ago. Only affects user-group statistics. | string | query |
| Upper date bound, ISO 8601 format. The default for this is today. Can be given using either Examples: Only affects user-group statistics. | string | query |
Responses
Code | Description |
---|---|
200 | A JSON object with the statistics on usage: count of documents on different stages of the process |
Get usage stats for months
GET /api/v2/usagestats/months
Retrieve usage statistics for the last (up to) 12 months
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The user group ID for which to get usage statistics. This is only used
when | integer | query |
default: | Boolean flag for including a summary of the company statistics in the response. | boolean | query |
default: | Boolean flag for recursively including child user group statistics in
the response. This flag is only used when | boolean | query |
default: | Boolean flag that controls whether to include days or months without statistics in the response. | boolean | query |
default: | Boolean flag that controls whether to include users without statistics in the response. This is only possible to use when | boolean | query |
default: | Boolean flag that controls whether to hide columns of chargeable items referring to eID usage that sum up to zero. This is only possible to use when | boolean | query |
default: | Boolean flag that controls whether to add row with sums of chargeable items. This will be the first row after the header row. This is only possible to use when | boolean | query |
default: | The format to use for the response. Either "json" (the default) or
"csv". The "csv" option is only available when | string | query |
| Lower date bound, ISO 8601 format. The default for this is the 1st day of the month, 12 months ago. Can be given using either Examples: Cannot request data past 1st day of the month, 12 months ago. Only affects user-group statistics. | string | query |
| Upper date bound, ISO 8601 format. The default for this is today. Can be given using either Examples: Only affects user-group statistics. | string | query |
Responses
Code | Description |
---|---|
200 | A JSON object with the statistics on usage: count of documents on different stages of the process |
Signup Request
POST /api/v2/signup
Create a new user signup request. Used to handle submission of the signup form.
If there is no user associated with the given email address, then a new account will be created, and an activation email will be sent to them.
If there already is an account, but the user has not yet accepted the Scrive eSign Terms of Service, then a new activation email will be sent to them.
If a user account that has accepted the Terms of Service already exists, no signup request will be created.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| Has to be a valid email address format. | formData | |
| Has to be a valid name string. | string | formData |
| Has to be a valid name string. | string | formData |
| Has to be a valid phone | string | formData |
| Has to be a valid company name | string | formData |
| Has to be a valid position | string | formData |
| Has to be a valid lang code Enum: cs , da , de , el , en , es , et , fi , fr , hu , is , it , lt , lv , nl , no , pl , pt , sv | string | formData |
Responses
Code | Description |
---|---|
200 | JSON response, will be one of:
|
User Group
Create User Group
POST /api/v2/usergroups/create
Example of JSON that could be passed in to create a User Group:
The JSON is URL-encoded and passed in via the
usergroup
form data field. It is not necessary to minify the JSON, but also not prohibited.
{
"parent_id": "1",
"name": "New UG that's the child of user group 1",
"tags": [
{
"name": "side",
"value": "dark"
}
]
}
For examples of the JSON output, see details of "View User Group".
This endpoint allows you to create a new User Group. When creating it, you have the option to set the User Group's name and to specify which other User Group it will be a child of.
The JSON input must be passed, URL-encoded, via the usergroup
form data
field.
You must set a parent_id
since only internal Scrive admins are permitted
to create root User Groups. In order to create a new child, you must have
the requisite permissions upon the parent.
You can also set tags
, which are arbitrary name/value pairs.
A full User Group JSON response is returned which displays the state after
the create operation has been performed. Performing /update
and then
using the GET
endpoint should produce the same output both times.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| JSON object containing the | string | formData |
| Append | boolean | query |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to update it) |
View User Group
GET /api/v2/usergroups/{user_group_id}
Example of a User Group without inheritable previews:
{
"id": "5",
"parent_id": "1",
"name": "A Child Usergroup",
"children": [
{
"id": "2",
"name": "Some child user group"
},
{
"id": "3",
"name": "Yet another child user group"
}
],
"settings": {
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": 42,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
}
},
"contact_details": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
},
"tags": [
{
"name": "founded",
"value": "1846"
},
{
"name": "status",
"value": "busy"
}
]
}
Example of a User Group with inheritable previews:
{
"id": "5",
"parent_id": "1",
"name": "A Child Usergroup",
"children": [
{
"id": "2",
"name": "Some child user group"
},
{
"id": "3",
"name": "Yet another child user group"
}
],
"settings": {
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": 42,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
},
"inheritable_preview": {
"inherited_from": "1",
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": 23,
"idle_doc_timeout_error": null,
"immediate_trash": true
}
}
},
"contact_details": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
},
"inheritable_preview": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
}
},
"tags": [
{
"name": "founded",
"value": "1846"
},
{
"name": "status",
"value": "busy"
}
]
}
This endpoint is used to get an overview of a given User Group, including
other, related and dependent, objects. At time of writing, those extra
objects are contact_details
and settings
.
These dependent objects can be inherited. In this case, their
inherited_from
field will be non-null. The value in this field is the
ID of the User Group which the value is inherited from.
Inheritance works as follows:
Root User Groups (i.e. those who are not children of other User Groups) may not inherit since there are no ancestors to inherit from.
A child User Group may inherit or have its own dedicated object. In the case
that a User Group chooses to inherit, for example, the contact_details
object, then that User Group will inherit from the closest direct ancestor
with its own contact_details
object. Since root User Groups cannot
inherit, there will always be an ancestor from which a child can inherit.
If you would like to see what a User Group would inherit then you can
append ?include-inheritable
to the URL when making the call. This will add
extra inheritable_preview
subtrees to the objects which perform the
inheritance calculation, ignoring whether or not the User Group already
inherits.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group you wish to view | integer | path |
| Append | boolean | query |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to view it) |
Update User Group
POST /api/v2/usergroups/{user_group_id}/update
Example of JSON that could be passed in to update a User Group:
The JSON is URL-encoded and passed in via the
usergroup
form data field. It is not necessary to minify the JSON, but also not prohibited.
{
"parent_id": "1",
"name": "UG that's now the child of user group 1",
"tags": [
{
"name": "station",
"value": "ISS"
},
{
"name": "lifeform",
"value": null
}
]
}
For examples of the JSON output, see details of "View User Group".
This endpoint allows you to update the User Group's meta data, or to change its parent ID (i.e. to move this User Group so that it is the child of a differnt User Group).
The JSON input must be passed, URL-encoded, via the usergroup
form data
field.
When updating the parent_id
, the following rules are in force:
- Only internal Scrive admins can promote a child User Group to a root.
- A root UserGroup may by subordinated to (i.e. made a child of) another User Group if you have permissions to modify the new parent and User Group being moved.
- A child User Group may be moved to be a child of another User Group as long as you have permissions to update the group being moved, the new parent and the old parent.
Tags are updated as follows:
- Only the provided tags are affected on the server.
- If the value of a tag is a string, the name/value pair is stored, overwriting the previous value associated with that name.
- If the value of a tag is
null
, the name/value pair is removed. - Other value types lead to 400 Bad Request response.
The endpoint supports partial updates. This means that only the fields you supply in your requests will have their values altered.
A full User Group JSON response is returned which displays the state after
the update operation has been performed. Performing /update
and then
using the GET
endpoint should produce the same output both times.
Important Note: You cannot move usergroups by updating the children
field, it must be done via parent_id
.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group you wish to update | integer | path |
| JSON object containing the new | string | formData |
| Set to | boolean | formData |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to update it) |
Delete User Group
POST /api/v2/usergroups/{user_group_id}/delete
Example of JSON returned:
{
"id": "1",
"resource": "usergroup",
"action": "deleted"
}
This endpoint allows you to delete a User Group.
It's worth noting that you may only delete child User Groups. Root User Groups can only deleted by internal Scrive admins. Furthermore, User Groups with children cannot be deleted. We also do not support recursive deletion. If this is required, it can be implemented client-side by simply working up the tree, deleting the leaves.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group you wish to update | integer | path |
Responses
Code | Description |
---|---|
200 | Simple JSON showing that a User Group with a given ID has been deleted. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to update it) |
View User Group Contact Details
GET /api/v2/usergroups/{user_group_id}/contact_details
Example of a User Group Contact Details without inheritable previews:
{
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
}
Example of a User Group Contact Details with inheritable previews (where the User Group is root and therefore must have its own Contact Details object):
{
"inherited_from": null,
"address": {
"company_number": "0987654321",
"company_name": "Scrive",
"address": "Other Street",
"zip": "00-321",
"city": "Warsaw",
"country": "PL"
},
"inheritable_preview": null
}
Example of a User Group Contact Details with inheritable previews (where the User Group is a child with its own Contact Details object):
{
"inherited_from": null,
"address": {
"company_number": "0987654321",
"company_name": "Scrive",
"address": "123 Other Street",
"zip": "00-321",
"city": "Warsaw",
"country": "Poland"
},
"inheritable_preview": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
}
}
Example of a User Group Contact Details with inheritable previews (where the User Group is a child which inherits, meaning that the
inheritable_preview
field is a duplicate):
{
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
},
"inheritable_preview": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
}
}
This endpoint is used to get an overview of a given User Group's
contact_details
object.
The contact_details
object can be inherited. In this case, the
inherited_from
field will be non-null. The value in this field is the ID
of the User Group which the value is inherited from.
Inheritance works as follows:
Root User Groups (i.e. those who are not children of other User Groups) may not inherit since there are no ancestors to inherit from.
A child User Group may inherit or have its own dedicated object. In the case
that a User Group chooses to inherit the contact_details
object, then that
User Group will inherit from the closest direct ancestor with its own
contact_details
object. Since root User Groups cannot inherit, there will
always be an ancestor from which a child can inherit.
If you would like to see what a User Group would inherit then you can
append ?include-inheritable
to the URL when making the call. This will add
extra inheritable_preview
subtrees to the objects which perform the
inheritance calculation, ignoring whether or not the User Group already
inherits.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group whose | integer | path |
| Append | boolean | query |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group's Contact Details. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to view it) |
Update User Group Contact Details
POST /api/v2/usergroups/{user_group_id}/contact_details/update
Example of JSON that could be passed in to update a User Group's Contact Details:
The JSON is URL-encoded and passed in via the
contact_details
form data field. It is not necessary to minify the JSON, but also not prohibited.
{
"address": {
"company_number": "0987654321",
"company_name": "Scrive",
"address": "123 Other Street",
"zip": "00-321",
"city": "Warsaw",
"country": "Poland"
}
}
For examples of the JSON output, see View User Group Contact Details.
This endpoint allows you to update the User Group's contact_details
object.
When updating the contact_details
object, the following rules are in
force:
Partial updates are permissible (and encouraged). You may only supply the JSON fields that you wish to actually update.
If you update the contact_details of a User Group which currently inherits,
a new, blank contact_details
object will be created and your (partial or
full) update applied to it.
The User Group from which the contact_details were previously inherited will be unaffected by the operation.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group whose | integer | path |
| JSON object containing (partial or full) updates to the contact_details
subtrees (currently only | string | formData |
| Set to | boolean | formData |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group's Contact Details. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to update it) |
Delete User Group Contact Details
POST /api/v2/usergroups/{user_group_id}/contact_details/delete
For examples of the JSON output, see View User Group Contact Details.
This endpoint is used to delete a given User Group's contact_details
object. This will cause the contact_details to be inherited rather than the
User Group having its own dedicated contact_details object.
As such, calling delete on a User Group that already inherits will result in no operation being performed. Also, attempting to delete the contact_details object of a root User Group will result in an error.
For more details on inheritance, see View User Group Contact Details.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group whose | integer | path |
| Set to | boolean | formData |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group's Contact Details. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to view it) |
View User Group Settings
GET /api/v2/usergroups/{user_group_id}/settings
Example of a User Group Settings without inheritable previews:
{
"inherited_from": "1",
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
}
}
Example of a User Group Settings with inheritable previews (where the User Group is root and therefore must have its own Settings object):
{
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
},
"inheritable_preview": null
}
Example of a User Group Settings with inheritable previews (where the User Group is a child with its own Settings object):
{
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
},
"inheritable_preview": {
"inherited_from": "1",
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
}
}
}
Example of a User Group Settings with inheritable previews (where the User Group is a child which inherits, meaning that the
inheritable_preview
field is a duplicate):
{
"inherited_from": "1",
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
},
"inheritable_preview": {
"inherited_from": "1",
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
}
}
}
This endpoint is used to get an overview of a given User Group's settings
object.
The settings
object can be inherited. In this case, the inherited_from
field will be non-null. The value in this field is the ID of the User Group
which the value is inherited from.
Inheritance works as follows:
Root User Groups (i.e. those who are not children of other User Groups) may not inherit since there are no ancestors to inherit from.
A child User Group may inherit or have its own dedicated object. In the case
that a User Group chooses to inherit the settings
object, then that User
Group will inherit from the closest direct ancestor with its own
settings
object. Since root User Groups cannot inherit, there will
always be an ancestor from which a child can inherit.
If you would like to see what a User Group would inherit then you can
append ?include-inheritable
to the URL when making the call. This will add
extra inheritable_preview
subtrees to the objects which perform the
inheritance calculation, ignoring whether or not the User Group already
inherits.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group whose | integer | path |
| Append | boolean | query |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group's Settings. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to view it) |
Update User Group Settings
POST /api/v2/usergroups/{user_group_id}/settings/update
Example of JSON that could be passed in to update a User Group's Settings:
The JSON is URL-encoded and passed in via the
settings
form data field. It is not necessary to minify the JSON, but also not prohibited.The example below is an example of a partial update.
{
"data_retention_policy": {
"idle_doc_timeout_closed": 123
}
}
For examples of the JSON output, see View User Group Settings.
This endpoint allows you to update the User Group's settings
object.
When updating the settings
object, the following rules are in force:
Partial updates are permissible (and encouraged). You may only supply the JSON fields that you wish to actually update.
If you update the settings of a User Group which currently inherits, the inherited settings will be cloned, your update applied, and this will then become the new non-inherited settings object for this User Group.
The User Group from which the contact_details were previously inherited will be unaffected by the operation.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group whose | integer | path |
| JSON object containing (partial or full) updates to the settings
subtrees (currently only | string | formData |
| Set to | boolean | formData |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group's Settings. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to update it) |
Delete User Group Settings
POST /api/v2/usergroups/{user_group_id}/settings/delete
For examples of the JSON output, see View User Group Settings.
This endpoint is used to delete a given User Group's settings
object. This
will cause the settings to be inherited rather than the User Group having
its own dedicated settings object.
As such, calling delete on a User Group that already inherits will result in no operation being performed. Also, attempting to delete the settings object of a root User Group will result in an error.
For more details on inheritance, see View User Group Settings.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group whose | integer | path |
| Set to | boolean | formData |
Responses
Code | Description |
---|---|
200 | JSON representation of a User Group's Settings. |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to view it) |
List Users in User Group
GET /api/v2/usergroups/{user_group_id}/users
Example of a list of the users in a User Group:
[
{
"id": "1",
"fstname": "Arthur",
"sndname": "Dent",
"email": "arthur.dent@scrive.com",
"twofactor_active": false,
"twofactor_is_mandatory": false,
"personalnumber": "197910124242",
"phone": "+444242424242",
"companyadmin": true,
"companyposition": "Hitchhiker",
"lang": "en"
}
]
This endpoint is used to list Users who are members of that User Group.
Note that this will only display Users that are in that User Group and will not show the Users who are members of any descendent User Groups.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User Group whose users you wish to view | integer | path |
Responses
Code | Description |
---|---|
200 | List of Users in the User Group |
403 | Insufficient Permissions error (this means that either no User Group exists with this ID or that you do not have permission to view it) |
List short information about user groups (optionally matching a filter)
GET /api/v2/usergroups/list
Get ID, name, and parent ID for each accessible user group, with filtering and sorting options.
OAuth Privileges required: FULL_ACCESS
Response example
{ "user_groups": [
{
"id": "1",
"name": "foo",
"parent": null
},
{
"id": "2",
"name": "bar",
"parent": {
"id": "1"
}
},
{
"id": "3",
"name": "baz",
"parent": {
"id": "1"
}
}
]
}
Parameters
Parameter | Description | Type | In |
---|---|---|---|
default: | List of filtering options. You can supply a list of filtering options to apply. Only user groups that match all filters will be returned. If not supplied, the default is to return information for all user groups. Must be of type User Group ID and Name Filter, for example:
| string | query |
| List of sorting options. You can supply a list of sorting options, which will be applied to the list of user group IDs and names in the order provided. If not supplied, the default is to return the results in an unspecified order. Must be of type User Group ID and Name Sorting. | string | query |
Responses
Code | Description |
---|---|
200 | A JSON object with key |
Access Control
View Access Roles for User
GET /api/v2/getuserroles/{user_id}
Example of a User's Access Roles
[
{
"id": "8",
"is_generated": false,
"role_type": "user_group_admin",
"source": {
"type": "user",
"id": "2"
},
"target": {
"type": "user_group",
"id": "11"
}
},
{
"id": null,
"is_generated": true,
"role_type": "user_admin",
"source": {
"type": "user",
"id": "2"
},
"target": {
"type": "user_group",
"id": "8"
}
}
]
This endpoint is used to view the roles which have been granted to a given user.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the User whose roles you wish to view | integer | url |
Responses
Code | Description |
---|---|
200 | A JSON array of Access Role objects. |
403 | Insufficient Permissions error (this means that you don't have Read permissions upon the User or the User does not exist). |
View Access Role
GET /api/v2/accesscontrol/roles/{role_id}
Example of an Access Role
{
"id": "8",
"is_generated": false,
"role_type": "user_group_admin",
"source": {
"type": "user",
"id": "2"
},
"target": {
"type": "user_group",
"id": "11"
}
}
This endpoint is used to get the details of a given access role. Only explicitly granted roles can be viewed via this endpoint, since implicit roles do not have an ID of their own to reference them by.
Implicit roles are those roles which are granted automatically as a result
of, for example, User Group membership. Implicit roles have is_generated
set to true
and id
set to null
.
Explicit roles are those which have been, as the name suggests, explicitly
granted. This was also almost certainly done via this API. Explicit roles
have is_generated
set to false
and a non-null
id
.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the Access Role you wish to view | integer | url |
Responses
Code | Description |
---|---|
200 | JSON representation of an Access Role. |
403 | Insufficient Permissions error (this means that you don't have enough permissions to view details of the role. In practice this means that you lack Read permissions on either the source or the target that the role refers to. |
Grant Access Role
POST /api/v2/accesscontrol/roles/add
Example of JSON that could be used to grant a new role:
{
"role_type": "user",
"source": {
"type": "user",
"id": "2"
},
"target": {
"type": "user",
"id": "4"
}
}
This endpoint allows you to grant a new Access Role.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| JSON object containing details of the role to be granted. | string | formData |
Responses
Code | Description |
---|---|
200 | JSON representation of an Access Role. |
403 | Insufficient Permissions error (this means that you don't have enough permissions to grant this role. In practice this means that you lack Create permissions on the Policy relation for either the source or the target that the proposed role refers to. |
Delete Access Role
POST /api/v2/accesscontrol/roles/{role_id}/delete
The endpoint allows you to delete an explicitly granted access role.
Explicitly granted in this case generally means "role which was created
via the Access Control API" as opposed to an implicit role acquired via, for
example, User Group membership. If it has a non-null
id
field then it is
an explicit role and can be deleted.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the Access Role you wish to delete | integer | url |
Responses
Code | Description |
---|---|
200 | JSON object showing that an Access Role with the given ID has been successfully deleted. |
403 | Insufficient Permissions error (this means that you don't have Delete
permissions upon the Policy relation of either the source or target of
the role). Either that, or no Access Role exists with this |
Folders
View Folder
GET /api/v2/folders/{folder_id}
Example of a Folder
{
"id": "1",
"name": "Root folder",
"home_for_user": null,
"home_for_user_group": "10",
"parent_id": null,
"children": [
{
"id": "2",
"name": "Subfolder of 1",
"home_for_user": "33",
"home_for_user_group": null
}
]
}
This endpoint is used to get the details of a given folder. Note that the contents of the folder are not displayed, just the metadata about the folder.
This metadata currently consists of the folder's ID, name, its parent ID (if any),
IDs of the user and the user group for whom the folder is a home folder
and information about its children. Only the immediate children are
included by default (see the recursive
parameter).
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the Folder you wish to view | string | url |
default: | Set ?recursive=true to include all descendant folders in the metadata instead of just the immediate children. | boolean | query |
Responses
Code | Description |
---|---|
200 | JSON representation of a Folder. |
403 | Insufficient Permissions error (this means that you don't have enough permissions to view this Folder). In practice this means that you lack Read permissions on the Folder. Uniquely, for this endpoint, it is also possible to acquire Read permissions by being a signatory or approver of a document in that folder. |
Create Folder
POST /api/v2/folders/create
Example of JSON that could be used create a new Folder:
{
"name": "new child folder of 1",
"parent_id": "1"
}
This endpoint allows you to create a new Folder. When creating it, you have the option to set the Folder's name and to specify which other Folder it will be a child of.
The JSON input must be passed, URL-encoded, via the folder
form data
field.
You must set a parent_id
since only internal Scrive admins are permitted
to create root Folders. In order to create a new child, you must have the
requisite permissions upon the parent. name
will be an empty string if
you do not include it.
A full Folder JSON response is returned which displays the state after the
create operation has been performed. Performing /update
and then using the
GET endpoint should produce the same output both times.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| JSON object containing details of the folder to be created. | string | formData |
Responses
Code | Description |
---|---|
200 | JSON representation of a Folder. |
403 | Insufficient Permissions error (this means that you don't have enough permissions to create this Folder. In practice this means that you lack Create permissions on the parent Folder). |
Update Folder
POST /api/v2/folders/{folder_id}/update
Example of JSON that could be used update a Folder:
{
"name": "new child folder of 1",
"parent_id": "1"
}
For examples of the JSON output, see details of "View Folder".
This endpoint allows you to update the Folder's meta data, or to change its parent ID (i.e. to move this Folder so that it is the child of a differnt Folder).
The JSON input must be passed, URL-encoded, via the folder
form data
field.
When updating the parent_id
, the following rules are in force:
- Only internal Scrive admins can promote a child Folder to a root.
- A root Folder may by subordinated to (i.e. made a child of) another Folder if you have permissions to modify the new parent and Folder being moved.
- A child Folder may be moved to be a child of another Folder as long as you have permissions to update the Folder being moved, the new parent and the old parent.
The endpoint supports partial updates. This means that only the fields you
supply in your requests will have their values altered. Neither field is
required, providing {}
as your update JSON is essentially a "no op".
A full Folder JSON response is returned which displays the state after
the update operation has been performed. Performing /update
and then
using the GET
endpoint should produce the same output both times.
Important Note: You cannot move Folders by updating the children
field, it must be done via parent_id
.
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the Folder whose contents you wish to list | string | url |
| JSON object containing details of the folder to be updated. | string | formData |
Responses
Code | Description |
---|---|
200 | JSON representation of a Folder. |
403 | Insufficient Permissions error (this means that you don't have enough permissions to update this Folder. In practice this means that you lack Update permissions on the Folder. |
Delete Folder
POST /api/v2/folders/{folder_id}/delete
This endpoint allows you to delete a Folder.
It's worth noting that you may only delete child Folders. Root Folders can only deleted by internal Scrive admins. We also do not support recursive deletion. If this is required, it can be implemented client-side by simply working up the tree, deleting the leaves.
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the Folder you wish to delete | string | url |
Responses
Code | Description |
---|---|
200 | JSON object showing that a Folder with the given ID has been successfully deleted. |
403 | Insufficient Permissions error (this means that you don't have enough permissions to create this Folder. In practice this means that you lack Delete permissions on the Folder). |
List Documents in Folder
GET /api/v2/folders/{folder_id}/list
Example of a Folder Listing
{
"total_matching": 2,
"documents": [
<Document JSON (see doc endpoints)>,
<Document JSON (see doc endpoints)>
]
}
This endpoint is used to get the details of the documents in a given folder.
Other than the JSON fields shown above, which wrap the output data in a list
and show a little metadata, the document JSON for each item in "documents"
is structured the same as it would be for endpoints that display a given
document. (See the Document Definition documentation for
details).
OAuth Privileges required: FULL_ACCESS
Parameters
Parameter | Description | Type | In |
---|---|---|---|
| The ID of the Folder whose contents you wish to list | string | url |
Responses
Code | Description |
---|---|
200 | JSON object which states the number of documents in the folder and lists the JSON respresentations of those documents. (See Documents in Definitions) |
403 | Insufficient Permissions error (this means that you don't have enough permissions to create this Folder. In practice this means that you lack Read permissions on the Folder) |
Responses
Document
The document metadata as a JSON.
Document
(object)
Example JSON: for "Document"
{
"id": "8222115557375075439",
"title": "Contract for Magnus",
"parties": [
{
"id": "189255",
"user_id": "1404",
"is_author": true,
"is_signatory": false,
"signatory_role": "viewer",
"signatory_status": "invitation_sent",
"fields": [
{
"type": "name",
"order": 1,
"value": "Gregory",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "name",
"order": 2,
"value": "Davids",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "email",
"value": "noreply@scrive.com",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "company",
"value": "Scrive",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
}
],
"sign_order": 1,
"sign_time": null,
"seen_time": null,
"read_invitation_time": null,
"rejected_time": null,
"rejection_reason": null,
"sign_success_redirect_url": null,
"reject_redirect_url": null,
"email_delivery_status": "unknown",
"mobile_delivery_status": "unknown",
"has_authenticated_to_view": false,
"csv": null,
"delivery_method": "pad",
"authentications": {
"view": {
"name": "standard"
},
"sign": {
"name": "standard"
},
"view_archived": {
"name": "standard"
}
},
"authentication_method_to_view": "standard",
"authentication_method_to_view_archived": "standard",
"authentication_method_to_sign": "standard",
"confirmation_delivery_method": "none",
"notification_delivery_method": "none",
"allows_highlighting": false,
"attachments": [],
"highlighted_pages": [],
"api_delivery_url": null
},
{
"id": "189256",
"user_id": null,
"is_author": false,
"is_signatory": true,
"signatory_role": "signing_party",
"signatory_status": "invitation_sent",
"fields": [
{
"type": "name",
"order": 1,
"value": "Magnus",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "name",
"order": 2,
"value": "Söderholm",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "email",
"value": "noemail@scrive.com",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "mobile",
"value": "",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "company",
"value": "Scrive",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "company_number",
"value": "",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "signature",
"name": "Signature 1",
"signature": "195174",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": [
{
"xrel": 0.07894736842105263,
"yrel": 0.09962825278810408,
"wrel": 0.2736842105263158,
"hrel": 0.0758364312267658,
"fsrel": 0.0168,
"page": 1,
"tip": "right",
"anchors": []
}
]
}
],
"sign_order": 1,
"sign_time": "2017-01-13T10:38:49.590815Z",
"seen_time": "2017-01-13T10:38:33.1783Z",
"read_invitation_time": null,
"rejected_time": null,
"rejection_reason": null,
"sign_success_redirect_url": null,
"reject_redirect_url": null,
"email_delivery_status": "unknown",
"mobile_delivery_status": "unknown",
"has_authenticated_to_view": false,
"csv": null,
"delivery_method": "pad",
"authentications": {
"view": {
"name": "standard"
},
"sign": {
"name": "onfido",
"settings": {
"report": "document_only",
"identity_document_types": [
"id_card",
"passport"
],
"identity_document_countries": null,
"ui_locale": "en-US",
"force_mobile_document_capture": true
}
},
"view_archived": {
"name": "standard"
}
},
"authentication_method_to_view": "standard",
"authentication_method_to_view_archived": "standard",
"authentication_method_to_sign": "onfido",
"confirmation_delivery_method": "none",
"notification_delivery_method": "none",
"allows_highlighting": true,
"attachments": [],
"highlighted_pages": [
{
"page": 1,
"file_id": "195173"
}
],
"api_delivery_url": null
}
],
"file": {
"name": "contract.pdf",
"id": "195124"
},
"sealed_file": {
"name": "contract.pdf",
"id": "195172"
},
"author_attachments": [],
"ctime": "2017-01-13T10:38:17.916324Z",
"mtime": "2017-01-13T10:38:49.590815Z",
"timeout_time": "2017-04-13T22:59:59Z",
"auto_remind_time": null,
"status": "closed",
"days_to_sign": 90,
"days_to_remind": null,
"display_options": {
"show_header": true,
"show_pdf_download": true,
"show_reject_option": true,
"allow_reject_reason": true,
"show_footer": true,
"document_is_receipt": false,
"show_arrow": true
},
"invitation_message": "",
"confirmation_message": "",
"lang": "en",
"api_callback_url": null,
"object_version": 26,
"access_token": "da675b76d876abda",
"timezone": "Europe/London",
"tags": [],
"is_template": false,
"is_saved": true,
"is_shared": false,
"is_trashed": false,
"is_deleted": false,
"viewer": {
"signatory_id": "189255",
"role": "signatory"
},
"experimental_features": {
"signatory_status_summary": "invitations_sent"
}
}
Defines the entire structure of a document to be signed, including the parties, the processes to follow, etc. It is a core data structure used throughout the Scrive Document API.
This object has the following properties:
id
(string, read only)
Unique identifier for a document.
Will not change over time, and cannot be changed.
title
(string)
The title of the document.
Can be modified while a document is in preparation. The title will be used in messages sent to the document’s parties.
parties
(array)
List of signing and viewing parties.
Defines their details, how the document is delivered to them, what authentication method they must use, fields they must fill, fields placed on the PDF, etc.
All array elements must be of type:
Signatory (object)
A signatory defines the details and process for each signing or non-signing party to a document.
This object has the following properties:
id
(string, read only)
Unique identifier for a party.
Will not change over time, and cannot be changed.
user_id
(string,null, read only)
If this party has an account on the Scrive eSign system, it will be set here.
is_author
(boolean, read only)
Whether this party is the author of the document.
is_signatory
(boolean)
Deprecated, please use signatory_role
instead.
If true, this party is a signatory to the document, otherwise
they are a viewer or an approver and will not sign the
document. If both is_signatory
and signatory_role
are
present, is_signatory
takes precedence if their values are
inconsistent (this is done for backwards compatibility).
signatory_role
(string, enum)
Signatory role: viewer, approver, or a signing party. Only signing
parties can sign documents, viewers only have view access, and
approvers can additionally approve or reject. Whether the approver
is hidden or visible is controlled by the flag is_visible
.
The value of this property must be one of the following enum values:
"viewer"
"signing_party"
"approver"
fields
(array)
The signatory fields represent information requested from, or information about, the signatory. There are different types of fields, and the array can contain multiple instances of the same type.
Currently, Scrive supports the following field types:
SignatoryFieldName
: First and last name of the signatory.SignatoryFieldFullName
: Computed combination of the above two.SignatoryFieldEmailMobile
: Email and mobile of the signatory.SignatoryFieldSignature
: A signature box placed on the document, for the signatory to draw their signature.SignatoryFieldStandard
: Company name and number, and personal number (AKA social security number).SignatoryFieldCheckbox
: Checkboxes of varying sizes.SignatoryFieldRadiogroup
: Radio buttons of varying sizes.SignatoryFieldCustomText
: A text field for any other information about, or requested, from the signatory.SignatoryFieldDate
: A date input field.SignatoryFieldSignDate
: The date of signing of this signatory.
Please read the detailed definition of each field type for more information. New field types may be added at any point to extend Scrive eSign features.
Fields can have placements
, which define where on the document they
will appear.
Similarly, a single field can have multiple placements on the document.
Note: Some field types have no effect without at least one placement.
Each element of this array must match at least one of the following schemas:
SignatoryFieldName (object)
A signatory field for the name(s) of the party.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a name field.
The value of this property must be one of the following enum values:
"name"
order
(integer, enum, required)
Whether this is the first name (i.e. given name) or second name (i.e. last name or surname).
Please ensure that there is exacatly one first name and one second name field, otherwise the signatory may not be asked for their name on the signing page.
The value of this property must be one of the following enum values:
1
2
value
(string)
Either a pre-filled value, or the value entered by the signatory.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldFullName (object)
Signatory field displaying full name of the respective signatory. Note: this field doesn't contain value of its own and when displaying the text will be derived from the "firstname" and "lastname" field values.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a full name field.
The value of this property must be one of the following enum values:
"full_name"
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
SignatoryFieldEmailMobile (object)
A signatory field for email addresses and mobile numbers.
This object has the following properties:
type
(string, enum, required)
Used to specify what type of field this is.
The value of this property must be one of the following enum values:
"email"
"mobile"
value
(string)
Either a pre-filled value, or the value entered by the signatory.
For the author: the value will revert to that set in the account settings. Trying to set any other value will simply result in this field reverting back to information set in account settings.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
editable_by_signatory
(boolean)
Whether the signatory can edit a pre-filled value for this field. This is useful when you have signatory details on file, but you want them to be able to modify their email or mobile if it has changed.
Note: Setting this to true
means a signatory will always be able
to change the value on the signing page.
If you want a signatory to authenticate with SMS PIN, please be aware
that this may affect your desired workflow.
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldSignature (object)
A signatory field for placing signature boxes on the document.
This object has the following properties:
type
(string, enum, required)
The value of this property must be one of the following enum values:
"signature"
name
(string, required)
A name for the signature field.
The signatory will not see the name of the signature field, however it will be used in the Evidence Log as a reference.
signature
(read only)
The value of this property must match at least one of the following schemas:
(null)
When the signatory has not yet drawn a signature.
(string)
The File ID of the signature drawn by the signatory.
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise the signatory will not be able to draw a signature.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldStandard (object)
A signatory field for placing a number of standard text fields on the document:
- Company name
- Company number
- Personal number (AKA social security number)
This object has the following properties:
type
(string, enum, required)
Used to specify what type of field this is.
The value of this property must be one of the following enum values:
"company"
"company_number"
"personal_number"
value
(string)
Either a pre-filled value, or the value entered by the signatory.
For the author: the value will revert to that set in the account settings. Trying to set any other value will simply result in this field reverting back to information set in account settings.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldCheckbox (object)
A signatory field for placing checkboxes on the document.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a checkbox field.
The value of this property must be one of the following enum values:
"checkbox"
name
(string, required)
A name for the checkbox.
The signatory will not see the name of the checkbox, however it will be used in the Evidence Log as a reference.
is_checked
(boolean)
true
when the checkbox is checked, false
otherwise.
Setting this to true
on a document in preparation has the effect of
pre-checking the checkbox for the signatory.
Default: false
is_obligatory
(boolean)
Whether the signatory is obliged to check this checkbox in order to sign the document.
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise there will be no checkbox visible to the signatory.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number, required)
Position on the x-axis, from 0 to 1.
yrel
(number, required)
Position on the y-axis, from 0 to 1.
wrel
(number, enum, required)
Width of placement, as proportion of total width.
Checkboxes can only be three sizes. The numbers represent small, medium and large checkboxes.
The value of this property must be one of the following enum values:
0.011538
0.021153
0.0423076
hrel
(number, enum, required)
Height of placement, not used for checkboxes, must be 0.
The value of this property must be one of the following enum values:
0
fsrel
(number, enum, required)
Font size of placement, not used for checkboxes, must be 0.
The value of this property must be one of the following enum values:
0
page
(integer, required)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldRadiogroup (object)
A signatory field for placing radio buttons on the document.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a radio button group field.
The value of this property must be one of the following enum values:
"radiogroup"
name
(string, required)
A name for the radiogroup.
The signatory will not see the name of the radiogroup, however it will be used in the Evidence Log as a reference.
values
(array, required)
An array of radio button option values. The signatory will not see the name of the radio button values, however they will be used in the Evidence Log as a reference.
These must correspond one-to-one with the list of placements
: that is
the length of values
must equal that of placements
and vice-versa,
otherwise an error is returned.
Must be equal in length to placements
and have at least 2 items.
Each item must be unique and not an empty string.
All array elements must be of type:
(string)
Empty strings are not allowed.
placements
(array, required)
Defines where the individual radio buttons should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
These must correspond one-to-one with the list of values
: that is the
length of placements
must equal that of vales
and vice-versa,
otherwise an error is returned.
Must be equal in length to values
and have at least 2 items.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number, required)
Position on the x-axis, from 0 to 1.
yrel
(number, required)
Position on the y-axis, from 0 to 1.
wrel
(number, enum, required)
Width of placement, as proportion of total width.
Radio buttons can only be three sizes. The numbers represent small, medium and large radio buttons.
The value of this property must be one of the following enum values:
0.014736
0.021052
0.025263
hrel
(number, enum, required)
Height of placement, not used for radio buttons, must be 0.
The value of this property must be one of the following enum values:
0
fsrel
(number, enum, required)
Font size of placement, not used for radio buttons, must be 0.
The value of this property must be one of the following enum values:
0
page
(integer, required)
The page number for this placement, starting from 1.
All radio buttons within the same group must be placed on the same page.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldCustomText (object)
A custom signatory field for text values. Can be used for any
text-based information. Must be placed on the document, otherwise
the signatory will not be asked to fill in details. Provides an
optional regular expression-based validation mechanism via the
custom_validation
field (see below).
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a custom text field.
The value of this property must be one of the following enum values:
"text"
name
(string, required)
A name for the custom field.
The name will be used as a placeholder value on the signing page, it will also be used in the Evidence Log as a reference.
value
(string)
Either a pre-filled value, or the value entered by the signatory.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise the signatory will not be asked or presented with this information.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
custom_validation
The value of this property must match exactly one of the following schemas:
(null)
SignatoryFieldCustomValidation (object)
Optional. Describes how to validate the input to this field using a custom regular expression.
This object has the following properties:
pattern
(string, required)
Regular expression pattern for field validation.
positive_example
(string, required)
Example of an input that matches the pattern.
tooltip
(string, required)
Tooltip for the input text field.
description
(string,null)
Description of this field
SignatoryFieldDate (object)
Signatory field for dates. Optionally can impose restrictions on start and/or end date (either absolute or relative to document view).
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a date field.
The value of this property must be one of the following enum values:
"date"
name
(string, required)
A name for the date field.
The name will be used as a placeholder value on the signing page, it will also be used in the Evidence Log as a reference.
value
(string,null)
Either a pre-filled value, or the value entered by the signatory. Must be specified as ISO8601 date.
Default: null
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
configuration
(object, required)
Definition of optional restriction imposed upon start and/or end date. Null means no restriction.
The configuration
object has the following properties:
start_date
(required)
The value of this property must match exactly one of the following schemas:
(null)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the document view date plus the number of days defined in
value
(which may be negative).
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"relative-to-doc-view"
value
(integer)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the date specified by value
.
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"absolute"
value
(string)
Must be specified as ISO8601 date between 1900-01-01 and 2200-12-31.
end_date
(required)
The value of this property must match exactly one of the following schemas:
(null)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the document view date plus the number of days defined in
value
(which may be negative).
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"relative-to-doc-view"
value
(integer)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the date specified by value
.
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"absolute"
value
(string)
Must be specified as ISO8601 date between 1900-01-01 and 2200-12-31.
SignatoryFieldSignDate (object)
Signatory field displaying sign date of the respective signatory.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a sign date field.
The value of this property must be one of the following enum values:
"sign_date"
value
(string,null)
Date when the signatory has signed or null if not yet signed. Formatted as ISO8601 date. Read only.
Default: null
placements
(array)
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
sign_order
(integer)
Default: 1
sign_time
(string,null, read only)
seen_time
(string,null, read only)
deferred_time
(string,null, read only)
read_invitation_time
(string,null, read only)
rejected_time
(string,null, read only)
rejection_reason
(string,null, read only)
Will only have a value if the signatory rejected the document, and will
contain the message from the signatory to explain rejection.
The Document display_options
needs to allow the signatory to write a
reject reason (allow_reject_reason
).
sign_success_redirect_url
(string,null)
The URL to redirect this party after they have signed the document.
reject_redirect_url
(string,null)
The URL to redirect this party if they reject the document.
email_delivery_status
(string, enum)
The current delivery status.
The value of this property must be one of the following enum values:
"unknown"
"not_delivered"
"delivered"
"deferred"
mobile_delivery_status
(string, enum)
The current delivery status.
The value of this property must be one of the following enum values:
"unknown"
"not_delivered"
"delivered"
"deferred"
has_authenticated_to_view
(boolean, read only)
If a person has identified to view the document.
csv
(array,null)
delivery_method
(string, enum)
Note that api
delivery is referred to as "Link" delivery in the Scrive Web
interface. Furthermore, pad
delivery is referred to as "In-person".
Default: "email"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"pad"
"api"
authentications
(object)
Authentication object replacing individual properties authentication_method_to_view
,
authentication_method_to_sign
and authentication_method_to_view_archived
.
This object has to be fully defined when present and has lower priority than individual properties so to use it,
you have remove those individual properties from the signatory object.
Unlike individual authentication properties, this authentication object also supports provider specific settings.
The authentications
object has the following properties:
view
(object)
This setting forces signatories to authenticate using the supplied identification method to view the document before signing.
Will be overridden by authentication_method_to_view
property when both are present.
The view
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
settings
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
sign
(object)
This setting forces user to authenticate to sign.
Will be overridden by authentication_method_to_sign
property when both are present.
The sign
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"sms_otp"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"swisscom_qes"
"swisscom_qes_with_srs"
"verimi_qes"
"itsme"
"itsme_qes"
"smart_id_qes"
settings
(object,null)
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
swisscom (object)
view_archived
(object)
This setting forces signatories to authenticate using the supplied identification method to view the document once it has been signed and resides in the e-archive.
Will be overridden by authentication_method_to_view_archived
property when both are present.
The view_archived
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
settings
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
authentication_method_to_view
(string, enum)
This setting forces signatories to authenticate using the supplied identification method to view the document before signing.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
authentication_method_to_view_archived
(string, enum)
This setting forces signatories to authenticate using the supplied identification method to view the document once it has been signed and resides in the e-archive.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
authentication_method_to_sign
(string, enum)
This setting forces user to authenticate to sign.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"sms_otp"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"swisscom_qes"
"swisscom_qes_with_srs"
"verimi_qes"
"itsme"
"itsme_qes"
"smart_id_qes"
confirmation_delivery_method
(string, enum)
Deliver a confirmation message about the document signing status by:
email
an email including a file attachment of the signed documentmobile
a text message with a link to the signed documentemail_mobile
both of the two aboveemail_link
an email with a link to the signed documentemail_link_mobile
an email and a text message with a link to the signed documentnone
no delivery at all
Default: "email"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"email_link"
"email_link_mobile"
"none"
notification_delivery_method
(string, enum)
Deliver a confirmation notification that the party signed/approved the document by:
email
an email including a link to the documentmobile
a text message including a link to the documentemail_mobile
both of the two abovenone
no delivery at all
Default: "none"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"none"
allows_highlighting
(boolean)
Whether the signatory can highlight pages of the PDF when viewing the signing page.
If any highlights are performed, the evidence log states that they were performed while the signatory was viewing the document.
The intention of this feature is not for the signatory to affect a contract via highlighting, but simply for a point-of-sale situation to assist contract review.
Default: false
hide_personal_number
(boolean)
Whether the personal number should be hidden in the final PDF verification page and the Evidence Log.
This is to be used when the document will be distributed to a wider audience, and the personal number of the signatory should not be available in the final document.
If the signatory has a placed field for their personal number, it will be included in the final PDF. So this solution only works when the field does not have any placements.
Default: false
can_forward
(boolean)
Whether the signatory can forward the signing process to someone else.
Default: false
highlighted_pages
(array, read only)
A list of highlights performed by the signatory.
While a document is pending, highlights may be added, but will not appear in the document file PDF until after the document is closed.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
page
(integer)
The page number which is highlighted (starts from 1
).
Each signatory can only have one highlight per page.
file_id
(string)
The file_id
for an image of the highlights.
The image dimensions will fit the ratio of the PDF page, and will be of a fixed colour and transparency.
This will be integrated into the final PDF once the document is closed.
attachments
(array)
Default: []
All array elements must be of type:
(object)
A signatory attachment - an attachment requested from the signing party. Attachments requested from viewing only parties have no effect.
This object has the following properties:
name
(string)
A name for the requested attachment. Will be visible to the signatory when signing the document.
description
(string)
A description for the requested attachment. Will be visible to the signatory when signing the document alongside the attachment name.
required
(boolean)
Whether the signatory must upload this attachment.
If false
, the signatory may choose not to upload this attachment
when signing.
Default: true
file_id
(string)
Will be present if and when the party uploads this attachment.
file_name
(string)
Will be present if and when the party uploads this attachment.
add_to_sealed_file
(boolean)
Should the file of this attachment be merged into the final sealed document?
Default: true
api_delivery_url
(string,null)
If the delivery_method
is set to api
, then this field will hold the
relative URL for the party.
Note that api
delivery is referred to as "Link" delivery in the Scrive Web
interface.
This will only be available after the signing process has been started, and will only be visible when accessing the document as the author.
consent_module
The value of this property must match exactly one of the following schemas:
(null)
(object)
If present, a section will be shown asking the signatory to answer some questions which must be answered by the signatory with either the positive or the negative option specified.
This object has the following properties:
title
(string)
Section title.
questions
(array)
All array elements must be of type:
(object)
This object has the following properties:
title
(string)
Question text.
positive_option
(string)
negative_option
(string)
response
(boolean)
Will be present when the party has answered the question. true
when the signatory selected the positive response and false
when the signatory selected the negative response.
detailed_description
(object)
Optional additional information to show the signatory.
The detailed_description
object has the following properties:
title
(string)
Title of the section. Will be shown in a button.
text
(string)
Explanation of the question. New lines are shown as is.
is_visible
(bool,null)
Determines if an approver is visible on the verification page and in sign view.
This value is only used for approvers. It has to be null
for viewer
and
signing_party
signatories.
Default: "null"
document_roles
(array)
List of "roles" this signatory has within the document.
The individual roles can be arbitrary texts (often in local language of the document). Those roles (if specified) will be part of the evidence log and also will be displayed in sign view (user signs/approves the document in the following roles).
Default: []
All array elements must be of type:
(string)
experimental
(object)
⚠️ WARNING: EXPERIMENTAL ⚠️
Experimental properties are not part of public API. Therefore they're not supported and are subject to change without prior notice.
The experimental
object has the following properties:
signatory_status
(string, enum, read only)
The current status of the signatory in relation to the document.
The statuses document_problem
, document_draft
,
document_canceled
, document_timedout
and document_rejected
are
reflecting the status
field of the underlying document for convenience.
The value of this property must be one of the following enum values:
"document_problem"
"document_draft"
"document_canceled"
"document_timedout"
"document_rejected"
"waiting_for_prior_signatures"
"invitation_sent"
"invitation_delivery_problem"
"invitation_delivered"
"invitation_read"
"document_opened"
"document_deferred"
"document_signed"
"document_approved"
"confirmation_delivery_problem"
file
(object)
A file that can be accessed using the API call to download related files.
The file
object has the following properties:
id
(string, read only)
name
(string, read only)
sealed_file
The cryptographically sealed file.
Will only exist for documents that have been closed.
This field may be null
for a short period of time after a document has
been signed by all parties, while the Scrive eSign system seals the
document.
The value of this property must match exactly one of the following schemas:
(null)
File (object)
A file that can be accessed using the API call to download related files.
This object has the following properties:
id
(string, read only)
name
(string, read only)
author_attachments
(array, read only)
List of author attachments.
These documents are to be reviewed by the signatory parties, and are
uploaded by the author of the document.
Can be updated during document preparation using the "set author
attachments" (/{document_id}/setattachments
) API call.
All array elements must be of type:
(object)
This object has the following properties:
name
(string, read only)
required
(boolean, read only)
add_to_sealed_file
(boolean, read only)
file_id
(string)
ctime
(string, read only)
Time at which the document was created.
mtime
(string, read only)
Latest time at which the document was modified.
timeout_time
(string,null, read only)
Time after which the document will timeout if it has not been signed.
auto_remind_time
(string,null, read only)
status
(string, enum)
The current document status.
A document in "preparation" can be changed using the update
call and the
main file can also be set or changed.
Once the document signing process has begun, the document will be "pending". However if the document was started using bulk send feature, it will first transition into "awaiting_start", and shortly after that into "pending".
Documents in "awaiting_start" cannot be modified, trashed or canceled.
Once all parties have successfully signed the document is "closed" and cannot be changed.
The value of this property must be one of the following enum values:
"preparation"
"awaiting_start"
"pending"
"closed"
"canceled"
"timedout"
"rejected"
"document_error"
days_to_sign
(integer)
Default: 90
days_to_remind
(integer,null)
display_options
(object)
The display_options
object has the following properties:
show_header
(boolean)
Whether to show the Scrive header on the signing page.
show_pdf_download
(boolean)
Whether to show an option to download the PDF on the signing page.
show_reject_option
(boolean)
Whether to allow signatories to reject a document.
allow_reject_reason
(boolean)
Whether to allow signatories to enter a plain text reason for rejecting a document.
show_footer
(boolean)
Whether to show the Scrive footer on the signing page.
document_is_receipt
(boolean)
Whether the document is a receipt to be printed out, and thus should not have the verification footer added.
Note: This reduces the durability of evidence for a document signed through Scrive eSign, and should only be used when absolutely necessary.
show_arrow
(boolean)
Whether to show the auto-scroll arrow on the signing page.
show_form
(boolean)
Whether to show the fields as a form on the signing page.
show_form_arrow
(boolean)
Whether to show the auto-scroll arrow on the form page.
invitation_message
(string)
The invitation message to send to all parties at the start of the signing process when using email invitation.
Default is blank meaning that a default message will be used.
Default: ""
sms_invitation_message
(string)
The invitation message to send to all parties at the start of the signing process when using SMS invitation.
Default is blank meaning that a default message will be used.
Default: ""
confirmation_message
(string)
The confirmation message to send to all parties once the document has been signed.
Default is blank meaning that a default message will be used.
Default: ""
sms_confirmation_message
(string)
The confirmation message to send to all parties once the document has been signed when using SMS confirmation.
Default is blank meaning that a default message will be used.
Default: ""
lang
(string, enum)
Currently supported language codes
The value of this property must be one of the following enum values:
"cs"
"da"
"de"
"el"
"en"
"es"
"et"
"fi"
"fr"
"hu"
"is"
"it"
"lt"
"lv"
"nl"
"no"
"pl"
"pt"
"sv"
api_callback_url
(string,null)
The URL to perform an API callback request.
Please see Callbacks for details.
object_version
(integer, read only)
The document object version is auto-incremented by the Scrive eSign system each time an action is performed on it.
Therefore this can be used as a rudimentary synchronisation mechanism to ensure you are handling a document that has not changed.
It is not recommended to use this field unless you are building an application with offline capabilities.
Additional restrictions:
access_token
(string, read only)
timezone
(string)
tags
(array)
User defined set of names and values.
See Document Tags for more details.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
name
(string)
value
(string)
is_template
(boolean)
is_saved
(boolean)
A ‘saved’ document will appear in the E-archive.
is_shared
(boolean, read only)
is_trashed
(boolean, read only)
is_deleted
(boolean, read only)
viewer
(object)
The viewer
object has the following properties:
role
(string, enum)
The value of this property must be one of the following enum values:
"company_shared"
"company_admin"
"signatory"
signatory_id
(string)
experimental_features
(object)
⚠️ WARNING: EXPERIMENTAL ⚠️
Experimental properties are not part of public API. Therefore they're not supported and are subject to change without prior notice.
The experimental_features
object has the following properties:
signatory_status_summary
(string, enum, read only)
The document status in relation to its signatories.
The statuses document_template
, document_problem
, document_draft
,
document_signed
, document_canceled
, document_timedout
and document_rejected
are reflecting the status
field of the underlying document for convenience.
A document with document_opened
has been opened by all of its signatories.
A document with invitations_read
has all of its signatories having read the invitations to
sign or approve. Some might have opened the document as well, but not all.
A document with invitations_delivered
has all the invitations delivered.
A document with invitation_delivery_problem
has some invitation with a
delivery problem.
A document with invitation_sent
has all invitations sent but not all
delivered neither opened or read.
When several signing stages (a.k.a. invitation orders) are defined for the document, only the signatories in the current and previous stages are taken into account to determine the status.
The value of this property must be one of the following enum values:
"document_template"
"document_problem"
"document_draft"
"invitations_sent"
"invitations_delivered"
"invitation_delivery_problem"
"invitations_read"
"document_opened"
"document_signed"
"document_canceled"
"document_timedout"
"document_rejected"
User group
The user group metadata as a JSON.
UserGroup
(object)
Example JSON: for "UserGroup"
{
"id": "1",
"parent_id": null,
"name": "A Root Usergroup",
"children": [
{
"id": "2",
"name": "Some child user group"
},
{
"id": "3",
"name": "Yet another child user group"
}
],
"settings": {
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": 42,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
}
},
"contact_details": {
"inherited_from": null,
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
},
"tags": [
{
"name": "alignment",
"value": "chaotic good"
}
]
}
JSON representation of a User Group.
This object has the following properties:
id
(string)
parent_id
(string)
name
(string)
children
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
id
(string)
name
(string)
settings
(object)
JSON representation of a User Group's Settings.
The settings
object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
contact_details
(object)
JSON representation of a User Group's Contact Details.
The contact_details
object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
tags
(array)
User defined set of name/value pairs.
Each tag must have {"name": "some-name", "value": "some-value"}
format.
In the responses value is always a string.
In the requests you can also provide null
value to delete a tag.
Other value types lead to 400 Bad Request response.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
name
(string)
value
(string)
User group with inheritable previews
The user group metadata as a JSON (with Inheritable Previews).
UserGroupWithInheritable
(object)
Example JSON: for "UserGroupWithInheritable"
{
"id": "5",
"parent_id": "1",
"name": "A Child Usergroup",
"children": [
{
"id": "2",
"name": "Some child user group"
},
{
"id": "3",
"name": "Yet another child user group"
}
],
"settings": {
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": 42,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
},
"inheritable_preview": {
"inherited_from": "1",
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": 23,
"idle_doc_timeout_error": null,
"immediate_trash": true
}
}
},
"contact_details": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
},
"inheritable_preview": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
}
},
"tags": [
{
"name": "home-planet",
"value": "Earth"
}
]
}
JSON representation of a User Group (with Inheritable Previews).
This object has the following properties:
id
(string)
parent_id
(string)
name
(string)
children
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
id
(string)
name
(string)
settings
(object)
JSON representation of a User Group's Settings (with Inheritable Preview).
The settings
object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
inheritable_preview
(object)
The inheritable_preview
object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
contact_details
(object)
JSON representation of a User Group's Contact Details (with Inheritable Preview).
The contact_details
object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
inheritable_preview
(object)
The inheritable_preview
object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
tags
(array)
User defined set of name/value pairs.
Each tag must have {"name": "some-name", "value": "some-value"}
format.
In the responses value is always a string.
In the requests you can also provide null
value to delete a tag.
Other value types lead to 400 Bad Request response.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
name
(string)
value
(string)
API error
The JSON structured errors returned by the API.
API Error
(object)
Example JSON: for "API Error"
{
"error_type": "request_parameters_parse_error",
"error_message": "The parameter 'document' could not be parsed. Please refer to our API documentation.",
"http_code": 400,
"error_detail": {
"parameter": "document",
"value": "{\n title: \"document\"\n}",
"parse_error": [
"Invalid JSON: Error in $: Failed reading: satisfy. Expecting object key at 'title:document'"
]
}
}
The structure of errors returned by the Scrive Document API.
This object has the following properties:
error_type
(string, enum)
The value of this property must be one of the following enum values:
"action_not_permitted"
"conflict_error"
"document_action_forbidden"
"document_object_version_mismatch"
"document_state_error"
"endpoint_not_found"
"insufficient_privileges"
"invalid_authorisation"
"obsolete"
"payload_too_large"
"rate_limited"
"request_failed"
"request_parameters_invalid"
"request_parameters_missing"
"request_parameters_parse_error"
"resource_gone"
"resource_not_found"
"server_error"
"signatory_state_error"
error_message
(string)
http_code
(integer, enum)
The value of this property must be one of the following enum values:
400
401
403
404
409
410
413
429
500
603
error_detail
(any)
Arbitrary JSON value unless endpoint documentation specifies otherwise. This property is meant to to aid developers/API integrators to figure out what caused an error and it's not meant to be interpreted by API integration.
Bulk send descriptor
The bulk send data as a JSON.
Bulk send descriptor
(object)
Example JSON: for "Bulk send descriptor"
{
"id": "314",
"name": "Rent contract prolongation",
"created_at": "2022-07-12T17:19:56.126709Z",
"documents": [
{
"document_id": "7769",
"status": "scheduled"
},
{
"document_id": "7770",
"status": "started"
},
{
"document_id": "7770",
"status": "cancelled"
}
]
}
Details about bulk send and its progress.
This object has the following properties:
id
(string)
Unique identifier of a bulk send.
Will not change over time, and cannot be changed.
name
(string)
Label provided during bulk send call.
Usually, it will likely correlate with the name of the document.
created_at
(string)
Date and time of bulk send creation.
documents
(array)
List of related documents and their sendout status.
All array elements must be of type:
(object)
This object has the following properties:
document_id
(string)
Unique identifier of a document.
status
(string)
Sendout status of a document.
The value of this property must match exactly one of the following schemas:
(string)
Document is waiting to be started. Depending on the number of documents in the bulk send, this can take a few minutes.
Value: "scheduled"
(string)
Document signing process was successfully started.
Value: "started"
(string)
Document start was aborted due to unexpected errors.
For more information, please contact Scrive support and include the bulk send ID and the document ID.
Value: "cancelled"
Bulk send list descriptor
JSON array of recent bulk send calls.
Bulk send list descriptor
(array)
Example JSON: for "Bulk send list descriptor"
[
{
"id": "314",
"name": "Rent contract prolongation",
"created_at": "2022-07-12T17:19:56.126709Z"
}
]
Lists basic information about recent bulk send calls.
All array elements must be of type:
(object)
This object has the following properties:
id
(string)
Unique identifier of a bulk send.
Will not change over time, and cannot be changed.
name
(string)
Label provided during bulk send call.
Usually, it will likely correlate with the name of the document.
created_at
(string)
Date and time of bulk send creation.
Definitions
Document
(object)
Example JSON: for "Document"
{
"id": "8222115557375075439",
"title": "Contract for Magnus",
"parties": [
{
"id": "189255",
"user_id": "1404",
"is_author": true,
"is_signatory": false,
"signatory_role": "viewer",
"signatory_status": "invitation_sent",
"fields": [
{
"type": "name",
"order": 1,
"value": "Gregory",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "name",
"order": 2,
"value": "Davids",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "email",
"value": "noreply@scrive.com",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "company",
"value": "Scrive",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
}
],
"sign_order": 1,
"sign_time": null,
"seen_time": null,
"read_invitation_time": null,
"rejected_time": null,
"rejection_reason": null,
"sign_success_redirect_url": null,
"reject_redirect_url": null,
"email_delivery_status": "unknown",
"mobile_delivery_status": "unknown",
"has_authenticated_to_view": false,
"csv": null,
"delivery_method": "pad",
"authentications": {
"view": {
"name": "standard"
},
"sign": {
"name": "standard"
},
"view_archived": {
"name": "standard"
}
},
"authentication_method_to_view": "standard",
"authentication_method_to_view_archived": "standard",
"authentication_method_to_sign": "standard",
"confirmation_delivery_method": "none",
"notification_delivery_method": "none",
"allows_highlighting": false,
"attachments": [],
"highlighted_pages": [],
"api_delivery_url": null
},
{
"id": "189256",
"user_id": null,
"is_author": false,
"is_signatory": true,
"signatory_role": "signing_party",
"signatory_status": "invitation_sent",
"fields": [
{
"type": "name",
"order": 1,
"value": "Magnus",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "name",
"order": 2,
"value": "Söderholm",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "email",
"value": "noemail@scrive.com",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "mobile",
"value": "",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "company",
"value": "Scrive",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "company_number",
"value": "",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "signature",
"name": "Signature 1",
"signature": "195174",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": [
{
"xrel": 0.07894736842105263,
"yrel": 0.09962825278810408,
"wrel": 0.2736842105263158,
"hrel": 0.0758364312267658,
"fsrel": 0.0168,
"page": 1,
"tip": "right",
"anchors": []
}
]
}
],
"sign_order": 1,
"sign_time": "2017-01-13T10:38:49.590815Z",
"seen_time": "2017-01-13T10:38:33.1783Z",
"read_invitation_time": null,
"rejected_time": null,
"rejection_reason": null,
"sign_success_redirect_url": null,
"reject_redirect_url": null,
"email_delivery_status": "unknown",
"mobile_delivery_status": "unknown",
"has_authenticated_to_view": false,
"csv": null,
"delivery_method": "pad",
"authentications": {
"view": {
"name": "standard"
},
"sign": {
"name": "onfido",
"settings": {
"report": "document_only",
"identity_document_types": [
"id_card",
"passport"
],
"identity_document_countries": null,
"ui_locale": "en-US",
"force_mobile_document_capture": true
}
},
"view_archived": {
"name": "standard"
}
},
"authentication_method_to_view": "standard",
"authentication_method_to_view_archived": "standard",
"authentication_method_to_sign": "onfido",
"confirmation_delivery_method": "none",
"notification_delivery_method": "none",
"allows_highlighting": true,
"attachments": [],
"highlighted_pages": [
{
"page": 1,
"file_id": "195173"
}
],
"api_delivery_url": null
}
],
"file": {
"name": "contract.pdf",
"id": "195124"
},
"sealed_file": {
"name": "contract.pdf",
"id": "195172"
},
"author_attachments": [],
"ctime": "2017-01-13T10:38:17.916324Z",
"mtime": "2017-01-13T10:38:49.590815Z",
"timeout_time": "2017-04-13T22:59:59Z",
"auto_remind_time": null,
"status": "closed",
"days_to_sign": 90,
"days_to_remind": null,
"display_options": {
"show_header": true,
"show_pdf_download": true,
"show_reject_option": true,
"allow_reject_reason": true,
"show_footer": true,
"document_is_receipt": false,
"show_arrow": true
},
"invitation_message": "",
"confirmation_message": "",
"lang": "en",
"api_callback_url": null,
"object_version": 26,
"access_token": "da675b76d876abda",
"timezone": "Europe/London",
"tags": [],
"is_template": false,
"is_saved": true,
"is_shared": false,
"is_trashed": false,
"is_deleted": false,
"viewer": {
"signatory_id": "189255",
"role": "signatory"
},
"experimental_features": {
"signatory_status_summary": "invitations_sent"
}
}
Defines the entire structure of a document to be signed, including the parties, the processes to follow, etc. It is a core data structure used throughout the Scrive Document API.
This object has the following properties:
id
(string, read only)
Unique identifier for a document.
Will not change over time, and cannot be changed.
title
(string)
The title of the document.
Can be modified while a document is in preparation. The title will be used in messages sent to the document’s parties.
parties
(array)
List of signing and viewing parties.
Defines their details, how the document is delivered to them, what authentication method they must use, fields they must fill, fields placed on the PDF, etc.
All array elements must be of type:
Signatory (object)
A signatory defines the details and process for each signing or non-signing party to a document.
This object has the following properties:
id
(string, read only)
Unique identifier for a party.
Will not change over time, and cannot be changed.
user_id
(string,null, read only)
If this party has an account on the Scrive eSign system, it will be set here.
is_author
(boolean, read only)
Whether this party is the author of the document.
is_signatory
(boolean)
Deprecated, please use signatory_role
instead.
If true, this party is a signatory to the document, otherwise
they are a viewer or an approver and will not sign the
document. If both is_signatory
and signatory_role
are
present, is_signatory
takes precedence if their values are
inconsistent (this is done for backwards compatibility).
signatory_role
(string, enum)
Signatory role: viewer, approver, or a signing party. Only signing
parties can sign documents, viewers only have view access, and
approvers can additionally approve or reject. Whether the approver
is hidden or visible is controlled by the flag is_visible
.
The value of this property must be one of the following enum values:
"viewer"
"signing_party"
"approver"
fields
(array)
The signatory fields represent information requested from, or information about, the signatory. There are different types of fields, and the array can contain multiple instances of the same type.
Currently, Scrive supports the following field types:
SignatoryFieldName
: First and last name of the signatory.SignatoryFieldFullName
: Computed combination of the above two.SignatoryFieldEmailMobile
: Email and mobile of the signatory.SignatoryFieldSignature
: A signature box placed on the document, for the signatory to draw their signature.SignatoryFieldStandard
: Company name and number, and personal number (AKA social security number).SignatoryFieldCheckbox
: Checkboxes of varying sizes.SignatoryFieldRadiogroup
: Radio buttons of varying sizes.SignatoryFieldCustomText
: A text field for any other information about, or requested, from the signatory.SignatoryFieldDate
: A date input field.SignatoryFieldSignDate
: The date of signing of this signatory.
Please read the detailed definition of each field type for more information. New field types may be added at any point to extend Scrive eSign features.
Fields can have placements
, which define where on the document they
will appear.
Similarly, a single field can have multiple placements on the document.
Note: Some field types have no effect without at least one placement.
Each element of this array must match at least one of the following schemas:
SignatoryFieldName (object)
A signatory field for the name(s) of the party.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a name field.
The value of this property must be one of the following enum values:
"name"
order
(integer, enum, required)
Whether this is the first name (i.e. given name) or second name (i.e. last name or surname).
Please ensure that there is exacatly one first name and one second name field, otherwise the signatory may not be asked for their name on the signing page.
The value of this property must be one of the following enum values:
1
2
value
(string)
Either a pre-filled value, or the value entered by the signatory.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldFullName (object)
Signatory field displaying full name of the respective signatory. Note: this field doesn't contain value of its own and when displaying the text will be derived from the "firstname" and "lastname" field values.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a full name field.
The value of this property must be one of the following enum values:
"full_name"
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
SignatoryFieldEmailMobile (object)
A signatory field for email addresses and mobile numbers.
This object has the following properties:
type
(string, enum, required)
Used to specify what type of field this is.
The value of this property must be one of the following enum values:
"email"
"mobile"
value
(string)
Either a pre-filled value, or the value entered by the signatory.
For the author: the value will revert to that set in the account settings. Trying to set any other value will simply result in this field reverting back to information set in account settings.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
editable_by_signatory
(boolean)
Whether the signatory can edit a pre-filled value for this field. This is useful when you have signatory details on file, but you want them to be able to modify their email or mobile if it has changed.
Note: Setting this to true
means a signatory will always be able
to change the value on the signing page.
If you want a signatory to authenticate with SMS PIN, please be aware
that this may affect your desired workflow.
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldSignature (object)
A signatory field for placing signature boxes on the document.
This object has the following properties:
type
(string, enum, required)
The value of this property must be one of the following enum values:
"signature"
name
(string, required)
A name for the signature field.
The signatory will not see the name of the signature field, however it will be used in the Evidence Log as a reference.
signature
(read only)
The value of this property must match at least one of the following schemas:
(null)
When the signatory has not yet drawn a signature.
(string)
The File ID of the signature drawn by the signatory.
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise the signatory will not be able to draw a signature.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldStandard (object)
A signatory field for placing a number of standard text fields on the document:
- Company name
- Company number
- Personal number (AKA social security number)
This object has the following properties:
type
(string, enum, required)
Used to specify what type of field this is.
The value of this property must be one of the following enum values:
"company"
"company_number"
"personal_number"
value
(string)
Either a pre-filled value, or the value entered by the signatory.
For the author: the value will revert to that set in the account settings. Trying to set any other value will simply result in this field reverting back to information set in account settings.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldCheckbox (object)
A signatory field for placing checkboxes on the document.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a checkbox field.
The value of this property must be one of the following enum values:
"checkbox"
name
(string, required)
A name for the checkbox.
The signatory will not see the name of the checkbox, however it will be used in the Evidence Log as a reference.
is_checked
(boolean)
true
when the checkbox is checked, false
otherwise.
Setting this to true
on a document in preparation has the effect of
pre-checking the checkbox for the signatory.
Default: false
is_obligatory
(boolean)
Whether the signatory is obliged to check this checkbox in order to sign the document.
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise there will be no checkbox visible to the signatory.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number, required)
Position on the x-axis, from 0 to 1.
yrel
(number, required)
Position on the y-axis, from 0 to 1.
wrel
(number, enum, required)
Width of placement, as proportion of total width.
Checkboxes can only be three sizes. The numbers represent small, medium and large checkboxes.
The value of this property must be one of the following enum values:
0.011538
0.021153
0.0423076
hrel
(number, enum, required)
Height of placement, not used for checkboxes, must be 0.
The value of this property must be one of the following enum values:
0
fsrel
(number, enum, required)
Font size of placement, not used for checkboxes, must be 0.
The value of this property must be one of the following enum values:
0
page
(integer, required)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldRadiogroup (object)
A signatory field for placing radio buttons on the document.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a radio button group field.
The value of this property must be one of the following enum values:
"radiogroup"
name
(string, required)
A name for the radiogroup.
The signatory will not see the name of the radiogroup, however it will be used in the Evidence Log as a reference.
values
(array, required)
An array of radio button option values. The signatory will not see the name of the radio button values, however they will be used in the Evidence Log as a reference.
These must correspond one-to-one with the list of placements
: that is
the length of values
must equal that of placements
and vice-versa,
otherwise an error is returned.
Must be equal in length to placements
and have at least 2 items.
Each item must be unique and not an empty string.
All array elements must be of type:
(string)
Empty strings are not allowed.
placements
(array, required)
Defines where the individual radio buttons should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
These must correspond one-to-one with the list of values
: that is the
length of placements
must equal that of vales
and vice-versa,
otherwise an error is returned.
Must be equal in length to values
and have at least 2 items.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number, required)
Position on the x-axis, from 0 to 1.
yrel
(number, required)
Position on the y-axis, from 0 to 1.
wrel
(number, enum, required)
Width of placement, as proportion of total width.
Radio buttons can only be three sizes. The numbers represent small, medium and large radio buttons.
The value of this property must be one of the following enum values:
0.014736
0.021052
0.025263
hrel
(number, enum, required)
Height of placement, not used for radio buttons, must be 0.
The value of this property must be one of the following enum values:
0
fsrel
(number, enum, required)
Font size of placement, not used for radio buttons, must be 0.
The value of this property must be one of the following enum values:
0
page
(integer, required)
The page number for this placement, starting from 1.
All radio buttons within the same group must be placed on the same page.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldCustomText (object)
A custom signatory field for text values. Can be used for any
text-based information. Must be placed on the document, otherwise
the signatory will not be asked to fill in details. Provides an
optional regular expression-based validation mechanism via the
custom_validation
field (see below).
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a custom text field.
The value of this property must be one of the following enum values:
"text"
name
(string, required)
A name for the custom field.
The name will be used as a placeholder value on the signing page, it will also be used in the Evidence Log as a reference.
value
(string)
Either a pre-filled value, or the value entered by the signatory.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise the signatory will not be asked or presented with this information.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
custom_validation
The value of this property must match exactly one of the following schemas:
(null)
SignatoryFieldCustomValidation (object)
Optional. Describes how to validate the input to this field using a custom regular expression.
This object has the following properties:
pattern
(string, required)
Regular expression pattern for field validation.
positive_example
(string, required)
Example of an input that matches the pattern.
tooltip
(string, required)
Tooltip for the input text field.
description
(string,null)
Description of this field
SignatoryFieldDate (object)
Signatory field for dates. Optionally can impose restrictions on start and/or end date (either absolute or relative to document view).
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a date field.
The value of this property must be one of the following enum values:
"date"
name
(string, required)
A name for the date field.
The name will be used as a placeholder value on the signing page, it will also be used in the Evidence Log as a reference.
value
(string,null)
Either a pre-filled value, or the value entered by the signatory. Must be specified as ISO8601 date.
Default: null
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
configuration
(object, required)
Definition of optional restriction imposed upon start and/or end date. Null means no restriction.
The configuration
object has the following properties:
start_date
(required)
The value of this property must match exactly one of the following schemas:
(null)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the document view date plus the number of days defined in
value
(which may be negative).
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"relative-to-doc-view"
value
(integer)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the date specified by value
.
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"absolute"
value
(string)
Must be specified as ISO8601 date between 1900-01-01 and 2200-12-31.
end_date
(required)
The value of this property must match exactly one of the following schemas:
(null)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the document view date plus the number of days defined in
value
(which may be negative).
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"relative-to-doc-view"
value
(integer)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the date specified by value
.
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"absolute"
value
(string)
Must be specified as ISO8601 date between 1900-01-01 and 2200-12-31.
SignatoryFieldSignDate (object)
Signatory field displaying sign date of the respective signatory.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a sign date field.
The value of this property must be one of the following enum values:
"sign_date"
value
(string,null)
Date when the signatory has signed or null if not yet signed. Formatted as ISO8601 date. Read only.
Default: null
placements
(array)
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
sign_order
(integer)
Default: 1
sign_time
(string,null, read only)
seen_time
(string,null, read only)
deferred_time
(string,null, read only)
read_invitation_time
(string,null, read only)
rejected_time
(string,null, read only)
rejection_reason
(string,null, read only)
Will only have a value if the signatory rejected the document, and will
contain the message from the signatory to explain rejection.
The Document display_options
needs to allow the signatory to write a
reject reason (allow_reject_reason
).
sign_success_redirect_url
(string,null)
The URL to redirect this party after they have signed the document.
reject_redirect_url
(string,null)
The URL to redirect this party if they reject the document.
email_delivery_status
(string, enum)
The current delivery status.
The value of this property must be one of the following enum values:
"unknown"
"not_delivered"
"delivered"
"deferred"
mobile_delivery_status
(string, enum)
The current delivery status.
The value of this property must be one of the following enum values:
"unknown"
"not_delivered"
"delivered"
"deferred"
has_authenticated_to_view
(boolean, read only)
If a person has identified to view the document.
csv
(array,null)
delivery_method
(string, enum)
Note that api
delivery is referred to as "Link" delivery in the Scrive Web
interface. Furthermore, pad
delivery is referred to as "In-person".
Default: "email"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"pad"
"api"
authentications
(object)
Authentication object replacing individual properties authentication_method_to_view
,
authentication_method_to_sign
and authentication_method_to_view_archived
.
This object has to be fully defined when present and has lower priority than individual properties so to use it,
you have remove those individual properties from the signatory object.
Unlike individual authentication properties, this authentication object also supports provider specific settings.
The authentications
object has the following properties:
view
(object)
This setting forces signatories to authenticate using the supplied identification method to view the document before signing.
Will be overridden by authentication_method_to_view
property when both are present.
The view
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
settings
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
sign
(object)
This setting forces user to authenticate to sign.
Will be overridden by authentication_method_to_sign
property when both are present.
The sign
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"sms_otp"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"swisscom_qes"
"swisscom_qes_with_srs"
"verimi_qes"
"itsme"
"itsme_qes"
"smart_id_qes"
settings
(object,null)
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
swisscom (object)
view_archived
(object)
This setting forces signatories to authenticate using the supplied identification method to view the document once it has been signed and resides in the e-archive.
Will be overridden by authentication_method_to_view_archived
property when both are present.
The view_archived
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
settings
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
authentication_method_to_view
(string, enum)
This setting forces signatories to authenticate using the supplied identification method to view the document before signing.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
authentication_method_to_view_archived
(string, enum)
This setting forces signatories to authenticate using the supplied identification method to view the document once it has been signed and resides in the e-archive.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
authentication_method_to_sign
(string, enum)
This setting forces user to authenticate to sign.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"sms_otp"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"swisscom_qes"
"swisscom_qes_with_srs"
"verimi_qes"
"itsme"
"itsme_qes"
"smart_id_qes"
confirmation_delivery_method
(string, enum)
Deliver a confirmation message about the document signing status by:
email
an email including a file attachment of the signed documentmobile
a text message with a link to the signed documentemail_mobile
both of the two aboveemail_link
an email with a link to the signed documentemail_link_mobile
an email and a text message with a link to the signed documentnone
no delivery at all
Default: "email"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"email_link"
"email_link_mobile"
"none"
notification_delivery_method
(string, enum)
Deliver a confirmation notification that the party signed/approved the document by:
email
an email including a link to the documentmobile
a text message including a link to the documentemail_mobile
both of the two abovenone
no delivery at all
Default: "none"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"none"
allows_highlighting
(boolean)
Whether the signatory can highlight pages of the PDF when viewing the signing page.
If any highlights are performed, the evidence log states that they were performed while the signatory was viewing the document.
The intention of this feature is not for the signatory to affect a contract via highlighting, but simply for a point-of-sale situation to assist contract review.
Default: false
hide_personal_number
(boolean)
Whether the personal number should be hidden in the final PDF verification page and the Evidence Log.
This is to be used when the document will be distributed to a wider audience, and the personal number of the signatory should not be available in the final document.
If the signatory has a placed field for their personal number, it will be included in the final PDF. So this solution only works when the field does not have any placements.
Default: false
can_forward
(boolean)
Whether the signatory can forward the signing process to someone else.
Default: false
highlighted_pages
(array, read only)
A list of highlights performed by the signatory.
While a document is pending, highlights may be added, but will not appear in the document file PDF until after the document is closed.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
page
(integer)
The page number which is highlighted (starts from 1
).
Each signatory can only have one highlight per page.
file_id
(string)
The file_id
for an image of the highlights.
The image dimensions will fit the ratio of the PDF page, and will be of a fixed colour and transparency.
This will be integrated into the final PDF once the document is closed.
attachments
(array)
Default: []
All array elements must be of type:
(object)
A signatory attachment - an attachment requested from the signing party. Attachments requested from viewing only parties have no effect.
This object has the following properties:
name
(string)
A name for the requested attachment. Will be visible to the signatory when signing the document.
description
(string)
A description for the requested attachment. Will be visible to the signatory when signing the document alongside the attachment name.
required
(boolean)
Whether the signatory must upload this attachment.
If false
, the signatory may choose not to upload this attachment
when signing.
Default: true
file_id
(string)
Will be present if and when the party uploads this attachment.
file_name
(string)
Will be present if and when the party uploads this attachment.
add_to_sealed_file
(boolean)
Should the file of this attachment be merged into the final sealed document?
Default: true
api_delivery_url
(string,null)
If the delivery_method
is set to api
, then this field will hold the
relative URL for the party.
Note that api
delivery is referred to as "Link" delivery in the Scrive Web
interface.
This will only be available after the signing process has been started, and will only be visible when accessing the document as the author.
consent_module
The value of this property must match exactly one of the following schemas:
(null)
(object)
If present, a section will be shown asking the signatory to answer some questions which must be answered by the signatory with either the positive or the negative option specified.
This object has the following properties:
title
(string)
Section title.
questions
(array)
All array elements must be of type:
(object)
This object has the following properties:
title
(string)
Question text.
positive_option
(string)
negative_option
(string)
response
(boolean)
Will be present when the party has answered the question. true
when the signatory selected the positive response and false
when the signatory selected the negative response.
detailed_description
(object)
Optional additional information to show the signatory.
The detailed_description
object has the following properties:
title
(string)
Title of the section. Will be shown in a button.
text
(string)
Explanation of the question. New lines are shown as is.
is_visible
(bool,null)
Determines if an approver is visible on the verification page and in sign view.
This value is only used for approvers. It has to be null
for viewer
and
signing_party
signatories.
Default: "null"
document_roles
(array)
List of "roles" this signatory has within the document.
The individual roles can be arbitrary texts (often in local language of the document). Those roles (if specified) will be part of the evidence log and also will be displayed in sign view (user signs/approves the document in the following roles).
Default: []
All array elements must be of type:
(string)
experimental
(object)
⚠️ WARNING: EXPERIMENTAL ⚠️
Experimental properties are not part of public API. Therefore they're not supported and are subject to change without prior notice.
The experimental
object has the following properties:
signatory_status
(string, enum, read only)
The current status of the signatory in relation to the document.
The statuses document_problem
, document_draft
,
document_canceled
, document_timedout
and document_rejected
are
reflecting the status
field of the underlying document for convenience.
The value of this property must be one of the following enum values:
"document_problem"
"document_draft"
"document_canceled"
"document_timedout"
"document_rejected"
"waiting_for_prior_signatures"
"invitation_sent"
"invitation_delivery_problem"
"invitation_delivered"
"invitation_read"
"document_opened"
"document_deferred"
"document_signed"
"document_approved"
"confirmation_delivery_problem"
file
(object)
A file that can be accessed using the API call to download related files.
The file
object has the following properties:
id
(string, read only)
name
(string, read only)
sealed_file
The cryptographically sealed file.
Will only exist for documents that have been closed.
This field may be null
for a short period of time after a document has
been signed by all parties, while the Scrive eSign system seals the
document.
The value of this property must match exactly one of the following schemas:
(null)
File (object)
A file that can be accessed using the API call to download related files.
This object has the following properties:
id
(string, read only)
name
(string, read only)
author_attachments
(array, read only)
List of author attachments.
These documents are to be reviewed by the signatory parties, and are
uploaded by the author of the document.
Can be updated during document preparation using the "set author
attachments" (/{document_id}/setattachments
) API call.
All array elements must be of type:
(object)
This object has the following properties:
name
(string, read only)
required
(boolean, read only)
add_to_sealed_file
(boolean, read only)
file_id
(string)
ctime
(string, read only)
Time at which the document was created.
mtime
(string, read only)
Latest time at which the document was modified.
timeout_time
(string,null, read only)
Time after which the document will timeout if it has not been signed.
auto_remind_time
(string,null, read only)
status
(string, enum)
The current document status.
A document in "preparation" can be changed using the update
call and the
main file can also be set or changed.
Once the document signing process has begun, the document will be "pending". However if the document was started using bulk send feature, it will first transition into "awaiting_start", and shortly after that into "pending".
Documents in "awaiting_start" cannot be modified, trashed or canceled.
Once all parties have successfully signed the document is "closed" and cannot be changed.
The value of this property must be one of the following enum values:
"preparation"
"awaiting_start"
"pending"
"closed"
"canceled"
"timedout"
"rejected"
"document_error"
days_to_sign
(integer)
Default: 90
days_to_remind
(integer,null)
display_options
(object)
The display_options
object has the following properties:
show_header
(boolean)
Whether to show the Scrive header on the signing page.
show_pdf_download
(boolean)
Whether to show an option to download the PDF on the signing page.
show_reject_option
(boolean)
Whether to allow signatories to reject a document.
allow_reject_reason
(boolean)
Whether to allow signatories to enter a plain text reason for rejecting a document.
show_footer
(boolean)
Whether to show the Scrive footer on the signing page.
document_is_receipt
(boolean)
Whether the document is a receipt to be printed out, and thus should not have the verification footer added.
Note: This reduces the durability of evidence for a document signed through Scrive eSign, and should only be used when absolutely necessary.
show_arrow
(boolean)
Whether to show the auto-scroll arrow on the signing page.
show_form
(boolean)
Whether to show the fields as a form on the signing page.
show_form_arrow
(boolean)
Whether to show the auto-scroll arrow on the form page.
invitation_message
(string)
The invitation message to send to all parties at the start of the signing process when using email invitation.
Default is blank meaning that a default message will be used.
Default: ""
sms_invitation_message
(string)
The invitation message to send to all parties at the start of the signing process when using SMS invitation.
Default is blank meaning that a default message will be used.
Default: ""
confirmation_message
(string)
The confirmation message to send to all parties once the document has been signed.
Default is blank meaning that a default message will be used.
Default: ""
sms_confirmation_message
(string)
The confirmation message to send to all parties once the document has been signed when using SMS confirmation.
Default is blank meaning that a default message will be used.
Default: ""
lang
(string, enum)
Currently supported language codes
The value of this property must be one of the following enum values:
"cs"
"da"
"de"
"el"
"en"
"es"
"et"
"fi"
"fr"
"hu"
"is"
"it"
"lt"
"lv"
"nl"
"no"
"pl"
"pt"
"sv"
api_callback_url
(string,null)
The URL to perform an API callback request.
Please see Callbacks for details.
object_version
(integer, read only)
The document object version is auto-incremented by the Scrive eSign system each time an action is performed on it.
Therefore this can be used as a rudimentary synchronisation mechanism to ensure you are handling a document that has not changed.
It is not recommended to use this field unless you are building an application with offline capabilities.
Additional restrictions:
access_token
(string, read only)
timezone
(string)
tags
(array)
User defined set of names and values.
See Document Tags for more details.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
name
(string)
value
(string)
is_template
(boolean)
is_saved
(boolean)
A ‘saved’ document will appear in the E-archive.
is_shared
(boolean, read only)
is_trashed
(boolean, read only)
is_deleted
(boolean, read only)
viewer
(object)
The viewer
object has the following properties:
role
(string, enum)
The value of this property must be one of the following enum values:
"company_shared"
"company_admin"
"signatory"
signatory_id
(string)
experimental_features
(object)
⚠️ WARNING: EXPERIMENTAL ⚠️
Experimental properties are not part of public API. Therefore they're not supported and are subject to change without prior notice.
The experimental_features
object has the following properties:
signatory_status_summary
(string, enum, read only)
The document status in relation to its signatories.
The statuses document_template
, document_problem
, document_draft
,
document_signed
, document_canceled
, document_timedout
and document_rejected
are reflecting the status
field of the underlying document for convenience.
A document with document_opened
has been opened by all of its signatories.
A document with invitations_read
has all of its signatories having read the invitations to
sign or approve. Some might have opened the document as well, but not all.
A document with invitations_delivered
has all the invitations delivered.
A document with invitation_delivery_problem
has some invitation with a
delivery problem.
A document with invitation_sent
has all invitations sent but not all
delivered neither opened or read.
When several signing stages (a.k.a. invitation orders) are defined for the document, only the signatories in the current and previous stages are taken into account to determine the status.
The value of this property must be one of the following enum values:
"document_template"
"document_problem"
"document_draft"
"invitations_sent"
"invitations_delivered"
"invitation_delivery_problem"
"invitations_read"
"document_opened"
"document_signed"
"document_canceled"
"document_timedout"
"document_rejected"
Document Status
(string, enum)
The current document status.
A document in "preparation" can be changed using the update
call and the
main file can also be set or changed.
Once the document signing process has begun, the document will be "pending". However if the document was started using bulk send feature, it will first transition into "awaiting_start", and shortly after that into "pending".
Documents in "awaiting_start" cannot be modified, trashed or canceled.
Once all parties have successfully signed the document is "closed" and cannot be changed.
The value of this property must be one of the following enum values:
"preparation"
"awaiting_start"
"pending"
"closed"
"canceled"
"timedout"
"rejected"
"document_error"
Document Tags
(array)
Example JSON: for "Document Tags"
[
{
"name": "scrive_clm:end_date",
"value": "2025-07-25"
},
{
"name": "scrive_clm:remind_days_before",
"value": "7"
}
]
User defined set of names and values.
Document tags can be used to manage categories of documents.
The list API call can filter based on document tags.
Document tags can also be used to schedule a contract expiry reminder. That is, an email reminder to be sent to the document's author and to every admin in the author's User Group when an agreement is about to expire. To specify such an expiry date, set the following document tags:
scrive_clm:end_date
with value in the format"YYYY-MM-DD"
, andscrive_clm:remind_days_before
with a non-negative integer value (as string).
A contract expiry reminder is scheduled for the date specified in scrive_clm:end_date
minus the value of scrive_clm:remind_days_before
. It is only sent if the document is
closed
by that time and the tags adhere to the correct format with a scheduled day at
most ten years in the future.
All array elements must be of type:
(object)
This object has the following properties:
name
(string)
value
(string)
Signatory
(object)
Example JSON: for "Signatory"
{
"id": "189256",
"user_id": null,
"is_author": false,
"is_signatory": true,
"signatory_role": "signing_party",
"fields": [
{
"type": "name",
"order": 1,
"value": "Magnus",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "name",
"order": 2,
"value": "Söderholm",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "full_name",
"placements": []
},
{
"type": "email",
"value": "noemail@scrive.com",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"editable_by_signatory": false,
"placements": []
},
{
"type": "mobile",
"value": "",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "company",
"value": "Scrive",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "company_number",
"value": "",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": []
},
{
"type": "sign_date",
"value": null,
"placements": []
},
{
"type": "signature",
"name": "Signature 1",
"signature": "195174",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": [
{
"xrel": 0.07894736842105263,
"yrel": 0.09962825278810408,
"wrel": 0.2736842105263158,
"hrel": 0.0758364312267658,
"fsrel": 0.0168,
"page": 1,
"tip": "right",
"anchors": []
}
]
}
],
"sign_order": 1,
"sign_time": "2017-01-13T10:38:49.590815Z",
"seen_time": "2017-01-13T10:38:33.1783Z",
"read_invitation_time": null,
"rejected_time": null,
"rejection_reason": null,
"sign_success_redirect_url": null,
"reject_redirect_url": null,
"email_delivery_status": "unknown",
"mobile_delivery_status": "unknown",
"has_authenticated_to_view": false,
"csv": null,
"delivery_method": "pad",
"authentications": {
"view": {
"name": "standard"
},
"sign": {
"name": "onfido",
"settings": {
"report": "document_only",
"identity_document_types": [
"id_card",
"passport"
],
"identity_document_countries": null,
"ui_locale": "en-US",
"force_mobile_document_capture": true
}
},
"view_archived": {
"name": "standard"
}
},
"authentication_method_to_view": "standard",
"authentication_method_to_view_archived": "standard",
"authentication_method_to_sign": "onfido",
"confirmation_delivery_method": "none",
"notification_delivery_method": "none",
"allows_highlighting": true,
"hide_personal_number": false,
"attachments": [
{
"name": "Driving licence",
"description": "A picture of driving licence",
"required": true,
"add_to_sealed_file": true
}
],
"highlighted_pages": [
{
"page": 1,
"file_id": "195173"
}
],
"api_delivery_url": null,
"consent_module": {
"title": "Handling of personal information",
"questions": [
{
"title": "Do you agree for your information to be processed?",
"positive_option": "Yes, I agree with the processing of my data.",
"negative_option": "No, I do not agree with any processing of my data.",
"response": null,
"detailed_description": {
"title": "More information",
"text": "Long extra information regarding the question can go here, and can be separated using newlines.\n\nThis is useful for long terms and conditions that come along with a question."
}
}
]
},
"is_visible": null,
"document_roles": [
"Director",
"Board Member"
]
}
A signatory defines the details and process for each signing or non-signing party to a document.
This object has the following properties:
id
(string, read only)
Unique identifier for a party.
Will not change over time, and cannot be changed.
user_id
(string,null, read only)
If this party has an account on the Scrive eSign system, it will be set here.
is_author
(boolean, read only)
Whether this party is the author of the document.
is_signatory
(boolean)
Deprecated, please use signatory_role
instead.
If true, this party is a signatory to the document, otherwise
they are a viewer or an approver and will not sign the
document. If both is_signatory
and signatory_role
are
present, is_signatory
takes precedence if their values are
inconsistent (this is done for backwards compatibility).
signatory_role
(string, enum)
Signatory role: viewer, approver, or a signing party. Only signing
parties can sign documents, viewers only have view access, and
approvers can additionally approve or reject. Whether the approver
is hidden or visible is controlled by the flag is_visible
.
The value of this property must be one of the following enum values:
"viewer"
"signing_party"
"approver"
fields
(array)
The signatory fields represent information requested from, or information about, the signatory. There are different types of fields, and the array can contain multiple instances of the same type.
Currently, Scrive supports the following field types:
SignatoryFieldName
: First and last name of the signatory.SignatoryFieldFullName
: Computed combination of the above two.SignatoryFieldEmailMobile
: Email and mobile of the signatory.SignatoryFieldSignature
: A signature box placed on the document, for the signatory to draw their signature.SignatoryFieldStandard
: Company name and number, and personal number (AKA social security number).SignatoryFieldCheckbox
: Checkboxes of varying sizes.SignatoryFieldRadiogroup
: Radio buttons of varying sizes.SignatoryFieldCustomText
: A text field for any other information about, or requested, from the signatory.SignatoryFieldDate
: A date input field.SignatoryFieldSignDate
: The date of signing of this signatory.
Please read the detailed definition of each field type for more information. New field types may be added at any point to extend Scrive eSign features.
Fields can have placements
, which define where on the document they
will appear.
Similarly, a single field can have multiple placements on the document.
Note: Some field types have no effect without at least one placement.
Each element of this array must match at least one of the following schemas:
SignatoryFieldName (object)
A signatory field for the name(s) of the party.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a name field.
The value of this property must be one of the following enum values:
"name"
order
(integer, enum, required)
Whether this is the first name (i.e. given name) or second name (i.e. last name or surname).
Please ensure that there is exacatly one first name and one second name field, otherwise the signatory may not be asked for their name on the signing page.
The value of this property must be one of the following enum values:
1
2
value
(string)
Either a pre-filled value, or the value entered by the signatory.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldFullName (object)
Signatory field displaying full name of the respective signatory. Note: this field doesn't contain value of its own and when displaying the text will be derived from the "firstname" and "lastname" field values.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a full name field.
The value of this property must be one of the following enum values:
"full_name"
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
SignatoryFieldEmailMobile (object)
A signatory field for email addresses and mobile numbers.
This object has the following properties:
type
(string, enum, required)
Used to specify what type of field this is.
The value of this property must be one of the following enum values:
"email"
"mobile"
value
(string)
Either a pre-filled value, or the value entered by the signatory.
For the author: the value will revert to that set in the account settings. Trying to set any other value will simply result in this field reverting back to information set in account settings.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
editable_by_signatory
(boolean)
Whether the signatory can edit a pre-filled value for this field. This is useful when you have signatory details on file, but you want them to be able to modify their email or mobile if it has changed.
Note: Setting this to true
means a signatory will always be able
to change the value on the signing page.
If you want a signatory to authenticate with SMS PIN, please be aware
that this may affect your desired workflow.
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldSignature (object)
A signatory field for placing signature boxes on the document.
This object has the following properties:
type
(string, enum, required)
The value of this property must be one of the following enum values:
"signature"
name
(string, required)
A name for the signature field.
The signatory will not see the name of the signature field, however it will be used in the Evidence Log as a reference.
signature
(read only)
The value of this property must match at least one of the following schemas:
(null)
When the signatory has not yet drawn a signature.
(string)
The File ID of the signature drawn by the signatory.
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise the signatory will not be able to draw a signature.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldStandard (object)
A signatory field for placing a number of standard text fields on the document:
- Company name
- Company number
- Personal number (AKA social security number)
This object has the following properties:
type
(string, enum, required)
Used to specify what type of field this is.
The value of this property must be one of the following enum values:
"company"
"company_number"
"personal_number"
value
(string)
Either a pre-filled value, or the value entered by the signatory.
For the author: the value will revert to that set in the account settings. Trying to set any other value will simply result in this field reverting back to information set in account settings.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldCheckbox (object)
A signatory field for placing checkboxes on the document.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a checkbox field.
The value of this property must be one of the following enum values:
"checkbox"
name
(string, required)
A name for the checkbox.
The signatory will not see the name of the checkbox, however it will be used in the Evidence Log as a reference.
is_checked
(boolean)
true
when the checkbox is checked, false
otherwise.
Setting this to true
on a document in preparation has the effect of
pre-checking the checkbox for the signatory.
Default: false
is_obligatory
(boolean)
Whether the signatory is obliged to check this checkbox in order to sign the document.
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise there will be no checkbox visible to the signatory.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number, required)
Position on the x-axis, from 0 to 1.
yrel
(number, required)
Position on the y-axis, from 0 to 1.
wrel
(number, enum, required)
Width of placement, as proportion of total width.
Checkboxes can only be three sizes. The numbers represent small, medium and large checkboxes.
The value of this property must be one of the following enum values:
0.011538
0.021153
0.0423076
hrel
(number, enum, required)
Height of placement, not used for checkboxes, must be 0.
The value of this property must be one of the following enum values:
0
fsrel
(number, enum, required)
Font size of placement, not used for checkboxes, must be 0.
The value of this property must be one of the following enum values:
0
page
(integer, required)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldRadiogroup (object)
A signatory field for placing radio buttons on the document.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a radio button group field.
The value of this property must be one of the following enum values:
"radiogroup"
name
(string, required)
A name for the radiogroup.
The signatory will not see the name of the radiogroup, however it will be used in the Evidence Log as a reference.
values
(array, required)
An array of radio button option values. The signatory will not see the name of the radio button values, however they will be used in the Evidence Log as a reference.
These must correspond one-to-one with the list of placements
: that is
the length of values
must equal that of placements
and vice-versa,
otherwise an error is returned.
Must be equal in length to placements
and have at least 2 items.
Each item must be unique and not an empty string.
All array elements must be of type:
(string)
Empty strings are not allowed.
placements
(array, required)
Defines where the individual radio buttons should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
These must correspond one-to-one with the list of values
: that is the
length of placements
must equal that of vales
and vice-versa,
otherwise an error is returned.
Must be equal in length to values
and have at least 2 items.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number, required)
Position on the x-axis, from 0 to 1.
yrel
(number, required)
Position on the y-axis, from 0 to 1.
wrel
(number, enum, required)
Width of placement, as proportion of total width.
Radio buttons can only be three sizes. The numbers represent small, medium and large radio buttons.
The value of this property must be one of the following enum values:
0.014736
0.021052
0.025263
hrel
(number, enum, required)
Height of placement, not used for radio buttons, must be 0.
The value of this property must be one of the following enum values:
0
fsrel
(number, enum, required)
Font size of placement, not used for radio buttons, must be 0.
The value of this property must be one of the following enum values:
0
page
(integer, required)
The page number for this placement, starting from 1.
All radio buttons within the same group must be placed on the same page.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldCustomText (object)
A custom signatory field for text values. Can be used for any
text-based information. Must be placed on the document, otherwise
the signatory will not be asked to fill in details. Provides an
optional regular expression-based validation mechanism via the
custom_validation
field (see below).
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a custom text field.
The value of this property must be one of the following enum values:
"text"
name
(string, required)
A name for the custom field.
The name will be used as a placeholder value on the signing page, it will also be used in the Evidence Log as a reference.
value
(string)
Either a pre-filled value, or the value entered by the signatory.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise the signatory will not be asked or presented with this information.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
custom_validation
The value of this property must match exactly one of the following schemas:
(null)
SignatoryFieldCustomValidation (object)
Optional. Describes how to validate the input to this field using a custom regular expression.
This object has the following properties:
pattern
(string, required)
Regular expression pattern for field validation.
positive_example
(string, required)
Example of an input that matches the pattern.
tooltip
(string, required)
Tooltip for the input text field.
description
(string,null)
Description of this field
SignatoryFieldDate (object)
Signatory field for dates. Optionally can impose restrictions on start and/or end date (either absolute or relative to document view).
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a date field.
The value of this property must be one of the following enum values:
"date"
name
(string, required)
A name for the date field.
The name will be used as a placeholder value on the signing page, it will also be used in the Evidence Log as a reference.
value
(string,null)
Either a pre-filled value, or the value entered by the signatory. Must be specified as ISO8601 date.
Default: null
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
configuration
(object, required)
Definition of optional restriction imposed upon start and/or end date. Null means no restriction.
The configuration
object has the following properties:
start_date
(required)
The value of this property must match exactly one of the following schemas:
(null)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the document view date plus the number of days defined in
value
(which may be negative).
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"relative-to-doc-view"
value
(integer)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the date specified by value
.
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"absolute"
value
(string)
Must be specified as ISO8601 date between 1900-01-01 and 2200-12-31.
end_date
(required)
The value of this property must match exactly one of the following schemas:
(null)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the document view date plus the number of days defined in
value
(which may be negative).
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"relative-to-doc-view"
value
(integer)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the date specified by value
.
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"absolute"
value
(string)
Must be specified as ISO8601 date between 1900-01-01 and 2200-12-31.
SignatoryFieldSignDate (object)
Signatory field displaying sign date of the respective signatory.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a sign date field.
The value of this property must be one of the following enum values:
"sign_date"
value
(string,null)
Date when the signatory has signed or null if not yet signed. Formatted as ISO8601 date. Read only.
Default: null
placements
(array)
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
sign_order
(integer)
Default: 1
sign_time
(string,null, read only)
seen_time
(string,null, read only)
deferred_time
(string,null, read only)
read_invitation_time
(string,null, read only)
rejected_time
(string,null, read only)
rejection_reason
(string,null, read only)
Will only have a value if the signatory rejected the document, and will
contain the message from the signatory to explain rejection.
The Document display_options
needs to allow the signatory to write a
reject reason (allow_reject_reason
).
sign_success_redirect_url
(string,null)
The URL to redirect this party after they have signed the document.
reject_redirect_url
(string,null)
The URL to redirect this party if they reject the document.
email_delivery_status
(string, enum)
The current delivery status.
The value of this property must be one of the following enum values:
"unknown"
"not_delivered"
"delivered"
"deferred"
mobile_delivery_status
(string, enum)
The current delivery status.
The value of this property must be one of the following enum values:
"unknown"
"not_delivered"
"delivered"
"deferred"
has_authenticated_to_view
(boolean, read only)
If a person has identified to view the document.
csv
(array,null)
delivery_method
(string, enum)
Note that api
delivery is referred to as "Link" delivery in the Scrive Web
interface. Furthermore, pad
delivery is referred to as "In-person".
Default: "email"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"pad"
"api"
authentications
(object)
Authentication object replacing individual properties authentication_method_to_view
,
authentication_method_to_sign
and authentication_method_to_view_archived
.
This object has to be fully defined when present and has lower priority than individual properties so to use it,
you have remove those individual properties from the signatory object.
Unlike individual authentication properties, this authentication object also supports provider specific settings.
The authentications
object has the following properties:
view
(object)
This setting forces signatories to authenticate using the supplied identification method to view the document before signing.
Will be overridden by authentication_method_to_view
property when both are present.
The view
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
settings
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
sign
(object)
This setting forces user to authenticate to sign.
Will be overridden by authentication_method_to_sign
property when both are present.
The sign
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"sms_otp"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"swisscom_qes"
"swisscom_qes_with_srs"
"verimi_qes"
"itsme"
"itsme_qes"
"smart_id_qes"
settings
(object,null)
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
swisscom (object)
view_archived
(object)
This setting forces signatories to authenticate using the supplied identification method to view the document once it has been signed and resides in the e-archive.
Will be overridden by authentication_method_to_view_archived
property when both are present.
The view_archived
object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
settings
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
authentication_method_to_view
(string, enum)
This setting forces signatories to authenticate using the supplied identification method to view the document before signing.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
authentication_method_to_view_archived
(string, enum)
This setting forces signatories to authenticate using the supplied identification method to view the document once it has been signed and resides in the e-archive.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
authentication_method_to_sign
(string, enum)
This setting forces user to authenticate to sign.
Default: "standard"
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"sms_otp"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"swisscom_qes"
"swisscom_qes_with_srs"
"verimi_qes"
"itsme"
"itsme_qes"
"smart_id_qes"
confirmation_delivery_method
(string, enum)
Deliver a confirmation message about the document signing status by:
email
an email including a file attachment of the signed documentmobile
a text message with a link to the signed documentemail_mobile
both of the two aboveemail_link
an email with a link to the signed documentemail_link_mobile
an email and a text message with a link to the signed documentnone
no delivery at all
Default: "email"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"email_link"
"email_link_mobile"
"none"
notification_delivery_method
(string, enum)
Deliver a confirmation notification that the party signed/approved the document by:
email
an email including a link to the documentmobile
a text message including a link to the documentemail_mobile
both of the two abovenone
no delivery at all
Default: "none"
The value of this property must be one of the following enum values:
"email"
"mobile"
"email_mobile"
"none"
allows_highlighting
(boolean)
Whether the signatory can highlight pages of the PDF when viewing the signing page.
If any highlights are performed, the evidence log states that they were performed while the signatory was viewing the document.
The intention of this feature is not for the signatory to affect a contract via highlighting, but simply for a point-of-sale situation to assist contract review.
Default: false
hide_personal_number
(boolean)
Whether the personal number should be hidden in the final PDF verification page and the Evidence Log.
This is to be used when the document will be distributed to a wider audience, and the personal number of the signatory should not be available in the final document.
If the signatory has a placed field for their personal number, it will be included in the final PDF. So this solution only works when the field does not have any placements.
Default: false
can_forward
(boolean)
Whether the signatory can forward the signing process to someone else.
Default: false
highlighted_pages
(array, read only)
A list of highlights performed by the signatory.
While a document is pending, highlights may be added, but will not appear in the document file PDF until after the document is closed.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
page
(integer)
The page number which is highlighted (starts from 1
).
Each signatory can only have one highlight per page.
file_id
(string)
The file_id
for an image of the highlights.
The image dimensions will fit the ratio of the PDF page, and will be of a fixed colour and transparency.
This will be integrated into the final PDF once the document is closed.
attachments
(array)
Default: []
All array elements must be of type:
(object)
A signatory attachment - an attachment requested from the signing party. Attachments requested from viewing only parties have no effect.
This object has the following properties:
name
(string)
A name for the requested attachment. Will be visible to the signatory when signing the document.
description
(string)
A description for the requested attachment. Will be visible to the signatory when signing the document alongside the attachment name.
required
(boolean)
Whether the signatory must upload this attachment.
If false
, the signatory may choose not to upload this attachment
when signing.
Default: true
file_id
(string)
Will be present if and when the party uploads this attachment.
file_name
(string)
Will be present if and when the party uploads this attachment.
add_to_sealed_file
(boolean)
Should the file of this attachment be merged into the final sealed document?
Default: true
api_delivery_url
(string,null)
If the delivery_method
is set to api
, then this field will hold the
relative URL for the party.
Note that api
delivery is referred to as "Link" delivery in the Scrive Web
interface.
This will only be available after the signing process has been started, and will only be visible when accessing the document as the author.
consent_module
The value of this property must match exactly one of the following schemas:
(null)
(object)
If present, a section will be shown asking the signatory to answer some questions which must be answered by the signatory with either the positive or the negative option specified.
This object has the following properties:
title
(string)
Section title.
questions
(array)
All array elements must be of type:
(object)
This object has the following properties:
title
(string)
Question text.
positive_option
(string)
negative_option
(string)
response
(boolean)
Will be present when the party has answered the question. true
when the signatory selected the positive response and false
when the signatory selected the negative response.
detailed_description
(object)
Optional additional information to show the signatory.
The detailed_description
object has the following properties:
title
(string)
Title of the section. Will be shown in a button.
text
(string)
Explanation of the question. New lines are shown as is.
is_visible
(bool,null)
Determines if an approver is visible on the verification page and in sign view.
This value is only used for approvers. It has to be null
for viewer
and
signing_party
signatories.
Default: "null"
document_roles
(array)
List of "roles" this signatory has within the document.
The individual roles can be arbitrary texts (often in local language of the document). Those roles (if specified) will be part of the evidence log and also will be displayed in sign view (user signs/approves the document in the following roles).
Default: []
All array elements must be of type:
(string)
experimental
(object)
⚠️ WARNING: EXPERIMENTAL ⚠️
Experimental properties are not part of public API. Therefore they're not supported and are subject to change without prior notice.
The experimental
object has the following properties:
signatory_status
(string, enum, read only)
The current status of the signatory in relation to the document.
The statuses document_problem
, document_draft
,
document_canceled
, document_timedout
and document_rejected
are
reflecting the status
field of the underlying document for convenience.
The value of this property must be one of the following enum values:
"document_problem"
"document_draft"
"document_canceled"
"document_timedout"
"document_rejected"
"waiting_for_prior_signatures"
"invitation_sent"
"invitation_delivery_problem"
"invitation_delivered"
"invitation_read"
"document_opened"
"document_deferred"
"document_signed"
"document_approved"
"confirmation_delivery_problem"
SignatoryFieldName
(object)
Example JSON: for "SignatoryFieldName"
{
"type": "name",
"order": 1,
"value": "John",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": [
{
"xrel": 0.26105263157894737,
"yrel": 0.0975609756097561,
"wrel": 0.07894736842105263,
"hrel": 0.024390243902439025,
"fsrel": 0.01263157894736842,
"page": 1,
"tip": "right",
"anchors": []
}
],
"description": "Name field"
}
A signatory field for the name(s) of the party.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a name field.
The value of this property must be one of the following enum values:
"name"
order
(integer, enum, required)
Whether this is the first name (i.e. given name) or second name (i.e. last name or surname).
Please ensure that there is exacatly one first name and one second name field, otherwise the signatory may not be asked for their name on the signing page.
The value of this property must be one of the following enum values:
1
2
value
(string)
Either a pre-filled value, or the value entered by the signatory.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldFullName
(object)
Example JSON: for "SignatoryFieldFullName"
{
"type": "full_name",
"placements": [
{
"xrel": 0.29368421052631577,
"yrel": 0.3444940476190476,
"wrel": 0.10842105263157895,
"hrel": 0.025297619047619048,
"fsrel": 0.016842105263157894,
"page": 1,
"tip": "right",
"anchors": []
}
]
}
Signatory field displaying full name of the respective signatory. Note: this field doesn't contain value of its own and when displaying the text will be derived from the "firstname" and "lastname" field values.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a full name field.
The value of this property must be one of the following enum values:
"full_name"
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
SignatoryFieldEmailMobile
(object)
Example JSON: for "SignatoryFieldEmailMobile"
{
"type": "mobile",
"value": "+461234567890",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"editable_by_signatory": false,
"placements": [
{
"xrel": 0.09052631578947369,
"yrel": 0.2700892857142857,
"wrel": 0.09157894736842105,
"hrel": 0.025297619047619048,
"fsrel": 0.016842105263157894,
"page": 1,
"tip": "right",
"anchors": []
}
],
"description": "Phone number field"
}
A signatory field for email addresses and mobile numbers.
This object has the following properties:
type
(string, enum, required)
Used to specify what type of field this is.
The value of this property must be one of the following enum values:
"email"
"mobile"
value
(string)
Either a pre-filled value, or the value entered by the signatory.
For the author: the value will revert to that set in the account settings. Trying to set any other value will simply result in this field reverting back to information set in account settings.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
editable_by_signatory
(boolean)
Whether the signatory can edit a pre-filled value for this field. This is useful when you have signatory details on file, but you want them to be able to modify their email or mobile if it has changed.
Note: Setting this to true
means a signatory will always be able
to change the value on the signing page.
If you want a signatory to authenticate with SMS PIN, please be aware
that this may affect your desired workflow.
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldSignature
(object)
Example JSON: for "SignatoryFieldSignature"
{
"type": "signature",
"name": "Signature 1",
"signature": "9215148251416996589",
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": [
{
"xrel": 0.3510526315789474,
"yrel": 0.1796747967479675,
"wrel": 0.2736842105263158,
"hrel": 0.08292682926829269,
"fsrel": 0.0168,
"page": 1,
"tip": "right",
"anchors": []
}
],
"description": "Signature field"
}
A signatory field for placing signature boxes on the document.
This object has the following properties:
type
(string, enum, required)
The value of this property must be one of the following enum values:
"signature"
name
(string, required)
A name for the signature field.
The signatory will not see the name of the signature field, however it will be used in the Evidence Log as a reference.
signature
(read only)
The value of this property must match at least one of the following schemas:
(null)
When the signatory has not yet drawn a signature.
(string)
The File ID of the signature drawn by the signatory.
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise the signatory will not be able to draw a signature.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldStandard
(object)
Example JSON: for "SignatoryFieldStandard"
{
"type": "company",
"value": "Scrive AB",
"is_obligatory": false,
"should_be_filled_by_sender": false,
"placements": [
{
"xrel": 0.09052631578947369,
"yrel": 0.2700892857142857,
"wrel": 0.09157894736842105,
"hrel": 0.025297619047619048,
"fsrel": 0.016842105263157894,
"page": 1,
"tip": "right",
"anchors": []
}
],
"description": "Company field"
}
A signatory field for placing a number of standard text fields on the document:
- Company name
- Company number
- Personal number (AKA social security number)
This object has the following properties:
type
(string, enum, required)
Used to specify what type of field this is.
The value of this property must be one of the following enum values:
"company"
"company_number"
"personal_number"
value
(string)
Either a pre-filled value, or the value entered by the signatory.
For the author: the value will revert to that set in the account settings. Trying to set any other value will simply result in this field reverting back to information set in account settings.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
If set, where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldCheckbox
(object)
Example JSON: for "SignatoryFieldCheckbox"
{
"type": "checkbox",
"name": "Checkbox Name",
"is_checked": true,
"is_obligatory": true,
"should_be_filled_by_sender": false,
"placements": [
{
"xrel": 0.17526315789473684,
"yrel": 0.3382113821138211,
"wrel": 0.011538,
"hrel": 0,
"fsrel": 0,
"page": 1,
"tip": "left",
"anchors": []
}
],
"description": "Checkbox field"
}
A signatory field for placing checkboxes on the document.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a checkbox field.
The value of this property must be one of the following enum values:
"checkbox"
name
(string, required)
A name for the checkbox.
The signatory will not see the name of the checkbox, however it will be used in the Evidence Log as a reference.
is_checked
(boolean)
true
when the checkbox is checked, false
otherwise.
Setting this to true
on a document in preparation has the effect of
pre-checking the checkbox for the signatory.
Default: false
is_obligatory
(boolean)
Whether the signatory is obliged to check this checkbox in order to sign the document.
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise there will be no checkbox visible to the signatory.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number, required)
Position on the x-axis, from 0 to 1.
yrel
(number, required)
Position on the y-axis, from 0 to 1.
wrel
(number, enum, required)
Width of placement, as proportion of total width.
Checkboxes can only be three sizes. The numbers represent small, medium and large checkboxes.
The value of this property must be one of the following enum values:
0.011538
0.021153
0.0423076
hrel
(number, enum, required)
Height of placement, not used for checkboxes, must be 0.
The value of this property must be one of the following enum values:
0
fsrel
(number, enum, required)
Font size of placement, not used for checkboxes, must be 0.
The value of this property must be one of the following enum values:
0
page
(integer, required)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldRadiogroup
(object)
Example JSON: for "SignatoryFieldRadiogroup"
{
"type": "radiogroup",
"name": "Large Radio buttons",
"selected_value": "Radio button 2",
"placements": [
{
"xrel": 0.7405263157894737,
"yrel": 0.3796747967479675,
"wrel": 0.025263,
"hrel": 0,
"fsrel": 0,
"page": 1,
"tip": "right",
"anchors": []
},
{
"xrel": 0.7405263157894737,
"yrel": 0.4008130081300813,
"wrel": 0.021052,
"hrel": 0,
"fsrel": 0,
"page": 1,
"tip": "right",
"anchors": []
},
{
"xrel": 0.7410526315789474,
"yrel": 0.4211382113821138,
"wrel": 0.014736,
"hrel": 0,
"fsrel": 0,
"page": 1,
"tip": "right",
"anchors": []
}
],
"values": [
"Radio button 1",
"Radio button 2",
"Radio button 3"
],
"description": "Radio group field"
}
A signatory field for placing radio buttons on the document.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a radio button group field.
The value of this property must be one of the following enum values:
"radiogroup"
name
(string, required)
A name for the radiogroup.
The signatory will not see the name of the radiogroup, however it will be used in the Evidence Log as a reference.
values
(array, required)
An array of radio button option values. The signatory will not see the name of the radio button values, however they will be used in the Evidence Log as a reference.
These must correspond one-to-one with the list of placements
: that is
the length of values
must equal that of placements
and vice-versa,
otherwise an error is returned.
Must be equal in length to placements
and have at least 2 items.
Each item must be unique and not an empty string.
All array elements must be of type:
(string)
Empty strings are not allowed.
placements
(array, required)
Defines where the individual radio buttons should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
These must correspond one-to-one with the list of values
: that is the
length of placements
must equal that of vales
and vice-versa,
otherwise an error is returned.
Must be equal in length to values
and have at least 2 items.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number, required)
Position on the x-axis, from 0 to 1.
yrel
(number, required)
Position on the y-axis, from 0 to 1.
wrel
(number, enum, required)
Width of placement, as proportion of total width.
Radio buttons can only be three sizes. The numbers represent small, medium and large radio buttons.
The value of this property must be one of the following enum values:
0.014736
0.021052
0.025263
hrel
(number, enum, required)
Height of placement, not used for radio buttons, must be 0.
The value of this property must be one of the following enum values:
0
fsrel
(number, enum, required)
Font size of placement, not used for radio buttons, must be 0.
The value of this property must be one of the following enum values:
0
page
(integer, required)
The page number for this placement, starting from 1.
All radio buttons within the same group must be placed on the same page.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field
SignatoryFieldCustomText
(object)
Example JSON: for "SignatoryFieldCustomText"
{
"type": "text",
"name": "Custom Field Name",
"value": "",
"is_obligatory": true,
"should_be_filled_by_sender": true,
"placements": [
{
"xrel": 0.29368421052631577,
"yrel": 0.3444940476190476,
"wrel": 0.10842105263157895,
"hrel": 0.025297619047619048,
"fsrel": 0.016842105263157894,
"page": 1,
"tip": "right",
"anchors": []
}
],
"custom_validation": {
"pattern": "^foo|bar|baz$",
"positive_example": "foo",
"tooltip": "Must be either 'foo', 'bar', or 'baz'."
},
"description": "Custom name field"
}
A custom signatory field for text values. Can be used for any
text-based information. Must be placed on the document, otherwise
the signatory will not be asked to fill in details. Provides an
optional regular expression-based validation mechanism via the
custom_validation
field (see below).
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a custom text field.
The value of this property must be one of the following enum values:
"text"
name
(string, required)
A name for the custom field.
The name will be used as a placeholder value on the signing page, it will also be used in the Evidence Log as a reference.
value
(string)
Either a pre-filled value, or the value entered by the signatory.
Default: ""
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Needs to be set, otherwise the signatory will not be asked or presented with this information.
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
custom_validation
The value of this property must match exactly one of the following schemas:
(null)
SignatoryFieldCustomValidation (object)
Optional. Describes how to validate the input to this field using a custom regular expression.
This object has the following properties:
pattern
(string, required)
Regular expression pattern for field validation.
positive_example
(string, required)
Example of an input that matches the pattern.
tooltip
(string, required)
Tooltip for the input text field.
description
(string,null)
Description of this field
SignatoryFieldDate
(object)
Example JSON: for "SignatoryFieldDate"
{
"type": "date",
"name": "Date field",
"value": null,
"is_obligatory": true,
"should_be_filled_by_sender": true,
"placements": [
{
"xrel": 0.29368421052631577,
"yrel": 0.3444940476190476,
"wrel": 0.10842105263157895,
"hrel": 0.025297619047619048,
"fsrel": 0.016842105263157894,
"page": 1,
"tip": "right",
"anchors": []
}
],
"configuration": {
"start_date": {
"type": "relative-to-doc-view",
"value": 5
},
"end_date": {
"type": "absolute",
"value": "2020-01-01"
}
}
}
Signatory field for dates. Optionally can impose restrictions on start and/or end date (either absolute or relative to document view).
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a date field.
The value of this property must be one of the following enum values:
"date"
name
(string, required)
A name for the date field.
The name will be used as a placeholder value on the signing page, it will also be used in the Evidence Log as a reference.
value
(string,null)
Either a pre-filled value, or the value entered by the signatory. Must be specified as ISO8601 date.
Default: null
is_obligatory
(boolean)
Default: true
should_be_filled_by_sender
(boolean)
Default: false
placements
(array)
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
configuration
(object, required)
Definition of optional restriction imposed upon start and/or end date. Null means no restriction.
The configuration
object has the following properties:
start_date
(required)
The value of this property must match exactly one of the following schemas:
(null)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the document view date plus the number of days defined in
value
(which may be negative).
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"relative-to-doc-view"
value
(integer)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the date specified by value
.
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"absolute"
value
(string)
Must be specified as ISO8601 date between 1900-01-01 and 2200-12-31.
end_date
(required)
The value of this property must match exactly one of the following schemas:
(null)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the document view date plus the number of days defined in
value
(which may be negative).
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"relative-to-doc-view"
value
(integer)
DateConfig (object)
Describes restriction imposed on start or end date of a signatory date field.
The threshold is the date specified by value
.
This object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"absolute"
value
(string)
Must be specified as ISO8601 date between 1900-01-01 and 2200-12-31.
SignatoryFieldSignDate
(object)
Example JSON: for "SignatoryFieldSignDate"
{
"type": "sign_date",
"value": "2021-10-03",
"placements": [
{
"xrel": 0.29368421052631577,
"yrel": 0.3444940476190476,
"wrel": 0.10842105263157895,
"hrel": 0.025297619047619048,
"fsrel": 0.016842105263157894,
"page": 1,
"tip": "right",
"anchors": []
}
]
}
Signatory field displaying sign date of the respective signatory.
This object has the following properties:
type
(string, enum, required)
Used to specify that this is a sign date field.
The value of this property must be one of the following enum values:
"sign_date"
value
(string,null)
Date when the signatory has signed or null if not yet signed. Formatted as ISO8601 date. Read only.
Default: null
placements
(array)
Defines where this field should be placed on the document. This is both for the signatory to fill out on the signing page, and for the final sealed PDF.
Note that this is an array, you can have multiple placements for the same field.
The easiest way to set the xrel
, yrel
, etc. values is to create a
template in the document UI design view, and use those values.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
xrel
(number)
Position on the x-axis, from 0 to 1.
yrel
(number)
Position on the y-axis, from 0 to 1.
wrel
(number, required)
Width of placement, as proportion of total width, from 0 to 1.
hrel
(number, required)
Height of placement, as proportion of total height, from 0 to 1.
fsrel
(number, required)
Font size of placement, as proportion of total width, from 0 to 1.
page
(integer)
The page number for this placement, starting from 1.
tip
Default: null
The value of this property must match at least one of the following schemas:
(string, enum)
From which side the arrow on the signing page should point to the field.
The value of this property must be one of the following enum values:
"left"
"right"
(null)
Let the signing page default to either left
or right
depending on the field type.
anchors
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
text
(string, required)
index
(integer, required)
offset
(object)
The offset
object has the following properties:
x
(number)
Relative X offset from the anchored text position.
y
(number)
Relative Y offset from the anchored text position.
description
(string,null)
Description of this field.
Authentication to view with settings
(object)
This object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"verimi"
settings
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
Authentication to sign with settings
(object)
This object has the following properties:
name
(string, enum, required)
The value of this property must be one of the following enum values:
"standard"
"sms_pin"
"sms_otp"
"dk_mitid"
"dk_mitid_erhverv"
"fi_tupas"
"freja"
"nl_idin"
"no_bankid"
"onfido"
"onfido_document_check"
"onfido_document_and_photo_check"
"se_bankid"
"swisscom_qes"
"swisscom_qes_with_srs"
"verimi_qes"
"itsme"
"itsme_qes"
"smart_id_qes"
settings
(object,null)
Schema of this object depends on selected authentication name.
The value of this property must match exactly one of the following schemas:
freja (object)
nl_idin (object)
onfido (object)
swisscom (object)
Freja authentication to view settings
(object)
Example JSON: for "Freja authentication to view settings"
{
"enforce_plus_registration_level": true
}
Freja specific settings for authentication to view/view archived.
This object has the following properties:
enforce_plus_registration_level
(bool)
Whether or not plus registration level should be enforced
iDIN authentication settings
(object)
Example JSON: for "iDIN authentication settings"
{
"request_address": true
}
iDIN specific settings for authentication to view/sign/view archived.
Default: {
"request_address": false
}
This object has the following properties:
request_address
(boolean)
Request end-user address information.
Onfido authentication settings
(object)
Example JSON: for "Onfido authentication settings"
{
"report": "document_and_video",
"identity_document_types": [
"passport",
"id_card"
],
"identity_document_countries": [
"afg",
"alb",
"cck",
"zwe"
],
"ui_locale": null,
"force_mobile_document_capture": false
}
Onfido specific settings for authentication to view/sign/view archived.
Default: {
"report": "document_only",
"identity_document_types": null,
"identity_document_countries": null,
"ui_locale": "en-US",
"force_mobile_document_capture": true
}
This object has the following properties:
report
(required)
The way user will authenticate with Onfido.
The value of this property must match exactly one of the following schemas:
(string)
User will only provide photo of their identity document.
Value: "document_only"
(string)
User will provide photo of their identity document and a photo of their face for comparison.
Value: "document_and_photo"
(string)
User will provide photo of their identity document and a short video clip of their face for comparison.
Value: "document_and_video"
identity_document_types
Restricts allowed identity documents by type.
Currently only includes the types supported by EID Hub. The frontend will indicate what type of document should be used,
however this does not stop the end-user from using a different type of document.
Onfido will analyse the document and we will only accept document types that match this parameter.
If not specified (null
), any document type will be accepted, including those supported by Onfido but not listed here.
For full list of supported document types by country, visit Onfido - supported documents.
Default: null
The value of this property must match exactly one of the following schemas:
(null)
Allows any supported document type
(array)
Non-empty list of allowed document types
All array elements must be of type:
(string, enum)
The value of this property must be one of the following enum values:
"id_card"
"passport"
"driving_license"
"residence_permit"
identity_document_countries
Restricts allowed identity document by country. For list of supported document by country, visit Onfido - supported documents.
Default: null
The value of this property must match exactly one of the following schemas:
(null)
Allows any supported country
(array)
Non-empty list of allowed document countries specified using 3 letter country codes - Wikipedia - ISO_3166-1_alpha-3
All array elements must be of type:
(string, enum)
The value of this property must be one of the following enum values:
"afg"
"alb"
"dza"
"asm"
"and"
"ago"
"aia"
"atg"
"arg"
"arm"
"abw"
"aus"
"aut"
"aze"
"bhs"
"bhr"
"bgd"
"brb"
"blr"
"bel"
"blz"
"ben"
"bmu"
"btn"
"bol"
"bih"
"bwa"
"bra"
"brn"
"bgr"
"bfa"
"bdi"
"khm"
"cmr"
"can"
"cpv"
"cym"
"caf"
"tcd"
"chl"
"chn"
"cxr"
"cck"
"col"
"com"
"cog"
"cod"
"cri"
"hrv"
"cub"
"cyp"
"cze"
"civ"
"dnk"
"dji"
"dma"
"dom"
"ecu"
"egy"
"slv"
"gnq"
"eri"
"est"
"eth"
"fro"
"fji"
"fin"
"fra"
"pyf"
"gab"
"gmb"
"geo"
"deu"
"gha"
"gib"
"grc"
"grl"
"grd"
"gum"
"gtm"
"ggy"
"gin"
"gnb"
"guy"
"hti"
"vat"
"hnd"
"hkg"
"hun"
"isl"
"ind"
"idn"
"irn"
"irq"
"irl"
"imn"
"isr"
"ita"
"jam"
"jpn"
"jey"
"jor"
"kaz"
"ken"
"kir"
"prk"
"kor"
"xkx"
"kwt"
"kgz"
"lao"
"lva"
"lbn"
"lso"
"lbr"
"lby"
"lie"
"ltu"
"lux"
"mac"
"mkd"
"mdg"
"mwi"
"mys"
"mdv"
"mli"
"mlt"
"mhl"
"mrt"
"mus"
"mex"
"fsm"
"mda"
"mco"
"mng"
"mne"
"msr"
"mar"
"moz"
"mmr"
"nam"
"nru"
"npl"
"nld"
"nzl"
"nic"
"ner"
"nga"
"mnp"
"nor"
"omn"
"pak"
"plw"
"pse"
"pan"
"png"
"pry"
"per"
"phl"
"pol"
"prt"
"pri"
"qat"
"rou"
"rus"
"rwa"
"blm"
"shn"
"kna"
"lca"
"maf"
"vct"
"wsm"
"smr"
"stp"
"sau"
"sen"
"srb"
"syc"
"sle"
"sgp"
"sxm"
"svk"
"svn"
"slb"
"som"
"zaf"
"ssd"
"esp"
"lka"
"sdn"
"sur"
"swz"
"swe"
"che"
"syr"
"twn"
"tjk"
"tza"
"tha"
"tls"
"tgo"
"ton"
"tto"
"tun"
"tur"
"tkm"
"tca"
"tuv"
"uga"
"ukr"
"are"
"gbr"
"usa"
"ury"
"uzb"
"vut"
"ven"
"vnm"
"vgb"
"vir"
"yem"
"zmb"
"zwe"
ui_locale
Controls locale of Onfido authentication process.
Default: null
The value of this property must match exactly one of the following schemas:
(null)
Tries to match the Onfido locale with locale of signed document. Uses English when no match is possible.
(string, enum)
The value of this property must be one of the following enum values:
"en-US"
"es-ES"
"de-DE"
"fr-FR"
"it-IT"
"pt-PT"
force_mobile_document_capture
(boolean, required)
Forces desktop users to use a mobile device to take document photo.
Freja authentication to sign settings
(object)
Example JSON: for "Freja authentication to sign settings"
{
"enforce_plus_registration_level": true,
"push_notification": null,
"sign_title": "Rental agreement"
}
Freja specific settings for authentication to sign.
This object has the following properties:
enforce_plus_registration_level
(bool)
Whether or not plus registration level should be enforced
push_notification
(object)
Information to display in push notification
Default: null
The push_notification
object has the following properties:
title
(string)
Text of the push notification title
text
(string)
Text of the push notification description
sign_title
(string)
The title of the sign transaction
Default: null
Swisscom authentication to sign settings
(object)
Example JSON: for "Swisscom authentication to sign settings"
{
"language": "de",
"registration_methods": [
"InPerson",
"VideoIdent",
"RoboIdent"
]
}
Swisscom specific settings (for authentication to sign).
This object has the following properties:
language
Swisscom language code.
Default: null
The value of this property must match exactly one of the following schemas:
(null)
Tries to match the Swisscom locale with locale of signed document. Uses English when no match is possible.
(string, enum)
The value of this property must be one of the following enum values:
"en"
"de"
"fr"
"it"
"pl"
registration_methods
(array)
Allowed Swisscom SRS (Smart Registration Service) registration methods (if any).
Default: []
Each element of this array must match at least one of the following schemas:
(string)
Registration in selected Swisscom Shops as a certified registration point for the qualified electronic signature.
Value: "InPerson"
(string)
Online video call registration with live agent using passport or ID Card.
Value: "VideoIdent"
(string)
Online registration using an ICAO compliant biometric passport or a German ID card.
Value: "RoboIdent"
List Filter
(array)
Example JSON: for "List Filter"
[
{
"filter_by": "status",
"statuses": [
"preparation",
"pending"
]
}
]
Parameter used to filter documents for the list
API call.
Default: []
Each element of this array must match at least one of the following schemas:
Filter by status (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"status"
statuses
(array)
All array elements must be of type:
Document Status (string, enum)
The current document status.
A document in "preparation" can be changed using the update
call and the
main file can also be set or changed.
Once the document signing process has begun, the document will be "pending". However if the document was started using bulk send feature, it will first transition into "awaiting_start", and shortly after that into "pending".
Documents in "awaiting_start" cannot be modified, trashed or canceled.
Once all parties have successfully signed the document is "closed" and cannot be changed.
The value of this property must be one of the following enum values:
"preparation"
"awaiting_start"
"pending"
"closed"
"canceled"
"timedout"
"rejected"
"document_error"
Filter by mtime (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"mtime"
start_time
(string)
end_time
(string)
Filter by tag (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"tag"
value
(string)
name
(string)
Filter by author (object)
Only include documents where the person making the API call is the document author.
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"is_author"
Signable on pad (object)
This implicitly adds an is_author
filter.
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"is_signable_on_pad"
Only templates (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"is_template"
Only non-templates (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"is_not_template"
In trash (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"is_in_trash"
Not in trash (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"is_not_in_trash"
Filter by author id (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"author"
user_id
(string)
Signable by user (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"user_can_sign"
user_id
(string)
Filter by text (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"text"
text
(string)
List Sorting
(array)
Example JSON: for "List Sorting"
[
{
"sort_by": "author",
"order": "ascending"
}
]
Parameter used to sort documents for the list
API call.
All array elements must be of type:
(object)
This object has the following properties:
order
(string, enum)
Default: "ascending"
The value of this property must be one of the following enum values:
"ascending"
"descending"
sort_by
(string, enum, required)
The value of this property must be one of the following enum values:
"title"
"status"
"mtime"
"author"
Author Attachments
(array)
Example JSON: for "Author Attachments"
[
{
"name": "Attachment using ID",
"required": false,
"add_to_sealed_file": true,
"file_id": "36"
},
{
"name": "Attachment using parameter",
"required": false,
"add_to_sealed_file": true,
"file_param": "file_1"
}
]
Attachments that have been added to a document by the author.
Each element of this array must match at least one of the following schemas:
(object)
Attachment that is uploaded as part of the API call.
This object has the following properties:
name
(string, required)
required
(boolean, required)
add_to_sealed_file
(boolean, required)
Whether to add the attachment to the sealed file after signing
file_param
(string, required)
The parameter name used in the API call for this attachment.
(object)
Attachment that references a file_id
.
This object has the following properties:
name
(string, required)
required
(boolean, required)
add_to_sealed_file
(boolean, required)
Whether to add the attachment to the sealed file after signing
file_id
(integer, required)
History Items
(object)
Example JSON: for "History Items"
{
"events": [
{
"status": "initiated",
"time": "2015-06-06T17:50:15Z",
"party": "Not named party (1)",
"text": "The signing process was initiated."
}
]
}
The type returned by the Document History API call.
This can be used to show the progress of a document to the user.
This object has the following properties:
events
(array)
All array elements must be of type:
(object)
This object has the following properties:
status
(string, enum)
The document status "class", not the same as the statuses available for documents.
The value of this property must be one of the following enum values:
"initiated"
"draft"
"cancelled"
"rejected"
"timeouted"
"problem"
"deliveryproblem"
"sent"
"delivered"
"read"
"opened"
"signed"
"prolonged"
"sealed"
"extended"
"authenticationview"
"authenticated"
"approved"
time
(string)
text
(string)
The text describing the action.
party
(string)
The name of the party performing the action.
Attachment
(object)
Example JSON: for "Attachment"
{
"id": "2",
"title": "Terms and conditions",
"user_id": "42",
"time": "2018-06-21T08:25:22.644059Z",
"shared": false,
"file": "2"
}
A pre-uploaded attachment which can later be used when creating or signing documents.
This object has the following properties:
id
(string, read only)
Unique identifier for an attachment.
Will not change over time, and cannot be changed.
title
(string, read only)
The title of the attachment.
The title will be used when listing attachments.
user_id
(string, read only)
The unique identifier of the authoring user.
file
(string, read only)
The attachment’s file ID.
shared
(boolean)
Sharing status.
Whether the attachment is shared with the other members of the company.
time
(string, read only)
Time at which the attachment was added.
Attachment List Filter
(array)
Example JSON: for "Attachment List Filter"
[
{
"filter_by": "text",
"text": "keyword"
}
]
Parameter used to filter attachments for the list
API call.
Default: []
Each element of this array must match at least one of the following schemas:
Filter by text (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"text"
text
(string)
Attachment List Sorting
(array)
Example JSON: for "Attachment List Sorting"
[
{
"sort_by": "title",
"order": "ascending"
}
]
Parameter used to sort attachments for the list
API call.
All array elements must be of type:
(object)
This object has the following properties:
order
(string, enum)
Default: "descending"
The value of this property must be one of the following enum values:
"ascending"
"descending"
sort_by
(string, enum, required)
Default: "time"
The value of this property must be one of the following enum values:
"title"
"time"
DataRetentionPolicy
(object)
Example JSON: for "DataRetentionPolicy"
{
"idle_doc_timeout_canceled": 45,
"immediate_trash": true,
"idle_doc_timeout_error": 67,
"idle_doc_timeout_preparation": 32
}
An object with data retention policy properties.
This object has the following properties:
immediate_trash
(boolean)
Option to delete documents in trash immediately
idle_doc_timeout_preparation
(integer)
Number of days before moving documents in preparation to trash
idle_doc_timeout_closed
(integer)
Number of days before moving closed documents to trash
idle_doc_timeout_canceled
(integer)
Number of days before moving cancelled documents to trash
idle_doc_timeout_timedout
(integer)
Number of days before moving timed out documents to trash
idle_doc_timeout_rejected
(integer)
Number of days before moving rejected documents to trash
idle_doc_timeout_error
(integer)
Number of days before moving documents with errors to trash
DataRetentionPolicies
(object)
Example JSON: for "DataRetentionPolicies"
{
"company_data_retention_policy": {
"immediate_trash": false
},
"data_retention_policy": {
"idle_doc_timeout_canceled": 45,
"immediate_trash": true,
"idle_doc_timeout_error": 67,
"idle_doc_timeout_preparation": 32
}
}
An object with data retention policies properties.
This object has the following properties:
company_data_retention_policy
(object)
An object with data retention policy properties.
The company_data_retention_policy
object has the following properties:
immediate_trash
(boolean)
Option to delete documents in trash immediately
idle_doc_timeout_preparation
(integer)
Number of days before moving documents in preparation to trash
idle_doc_timeout_closed
(integer)
Number of days before moving closed documents to trash
idle_doc_timeout_canceled
(integer)
Number of days before moving cancelled documents to trash
idle_doc_timeout_timedout
(integer)
Number of days before moving timed out documents to trash
idle_doc_timeout_rejected
(integer)
Number of days before moving rejected documents to trash
idle_doc_timeout_error
(integer)
Number of days before moving documents with errors to trash
data_retention_policy
(object)
An object with data retention policy properties.
The data_retention_policy
object has the following properties:
immediate_trash
(boolean)
Option to delete documents in trash immediately
idle_doc_timeout_preparation
(integer)
Number of days before moving documents in preparation to trash
idle_doc_timeout_closed
(integer)
Number of days before moving closed documents to trash
idle_doc_timeout_canceled
(integer)
Number of days before moving cancelled documents to trash
idle_doc_timeout_timedout
(integer)
Number of days before moving timed out documents to trash
idle_doc_timeout_rejected
(integer)
Number of days before moving rejected documents to trash
idle_doc_timeout_error
(integer)
Number of days before moving documents with errors to trash
OAuthAuthorization
(object)
This object has the following properties:
apitoken
(string)
apisecret
(string)
accesstoken
(string)
accesssecret
(string)
UserStats
(object)
Example JSON: for "UserStats"
{
"stats": [
{
"date": "2019-01-03",
"name": "Organisation total",
"sent": 1,
"closed": 1,
"signatures": 1,
"user_stats": [
{
"date": "2019-01-03",
"email": "demo@scrive.com",
"name": " ",
"sent": 1,
"closed": 1,
"signatures": 1
}
]
}
]
}
A JSON object with the statistics on usage: count of documents on different stages of the process
This object has the following properties:
stats
(array)
All array elements must be of type:
(object)
This object has the following properties:
date
(string)
sent
(integer)
closed
(integer)
signatures
(integer)
user_stats
(array)
Only present when the withCompany
flag is set
All array elements must be of type:
(object)
This object has the following properties:
date
(string)
email
(string)
name
(string)
sent
(integer)
closed
(integer)
signatures
(integer)
LoginToken
(object)
Example JSON: for "LoginToken"
{
"login_token": "a537e5e43d5b4095",
"qr_code": "iVBORw0KGgoAAAANSUhEUgAAAzQAAAM0AQMAAABXvPU0AAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP//8i138cAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAL8SURBVHic7dpLbuswDAVQ70D736V34AJFLFKfpJ28B9A9HBiRLd6jIWHnuP5PHRwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcP6Cc8zV+oOWL9d15l3fy88BHA6Hw+Fw6jrp/ib9Tno5rQe3DwEcDofD4XDqO9G6ZyP4HkZ+F8DhcDgcDucxTl4ePfgc30608cLhcDgcDufZTsTt9x0bkcPhcDgczsOcXVx+J3F/wnjVmTN3ARwOh8PhcIo7Uw39v7qsARwOh8PhcEo7+4oRZK03mdutHA6Hw+FwKjpTVyzyHxsGNkaQacv6+YPD4XA4HE5JJ1pfdS5xkRnnyQdoPeXISw6Hw+FwOFWdiVjS7/5pyBjiesfxad7hcDgcDodTxckvIebXDD0uDhD7diMIh8PhcDicRzjRPyUty2MM3g4e04DC4XA4HA6npJNDhsxd625LHlWGo3A4HA6Hw6nqTA15GV1TyJl/LQe9OBwOh8PhFHc+zCFn77qD81HOvCWecjgcDofDqe9Mo8UxVo6LA1wLlscSDofD4XA41Z0sRkjL95bpIyqIYTOHw+FwOJz6zkKcY8M9gkzjxpCZH3A4HA6HwyntBJHfSdwhMYJMw0iePoZf7+YQDofD4XA4xZwl6crEMocMbfH0WorD4XA4HE5dZ3kxcTvLr3tzXN62cTgcDofDqevc40bUFJIfDaPKm3QOh8PhcDiPcV7p072rO63HfTrAz3MIh8PhcDicEs6Uvtjn5hSrM+VxOBwOh8Op6uxq15XtH8/I4XA4HA6ntHPMFUPGd8P0ReO+92HzxeFwOBwOp7zThid9mfuvhQh7OW3K43A4HA6HU9eJHctyqpYPMD27luJwOBwOh/Mgp/Xnw7gxvaLIbzGOcR+Hw+FwOJzHOcf49WIIycSVD/Vq43A4HA6H8whnx+6SdnPI7igcDofD4XCKO1Otc0hO31XrR7lPxuFwOBwOp7TzT4vD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HM5znS/lqLjLlQGH4gAAAABJRU5ErkJggg==",
"expiration_time": "2019-02-25 10:50:00.507433116 UTC"
}
Returns a JSON containing login_token
, qr_code
and expiration_time
.
This object has the following properties:
login_token
(string)
qr_code
(string)
expiration_time
(string)
Language Code
(string, enum)
Currently supported language codes
The value of this property must be one of the following enum values:
"cs"
"da"
"de"
"el"
"en"
"es"
"et"
"fi"
"fr"
"hu"
"is"
"it"
"lt"
"lv"
"nl"
"no"
"pl"
"pt"
"sv"
User
(object)
Example JSON: for "User"
{
"id": "1",
"fstname": "Arthur",
"sndname": "Dent",
"email": "arthur.dent@scrive.com",
"twofactor_active": false,
"twofactor_is_mandatory": false,
"webauthn_active": false,
"personalnumber": "197910124242",
"phone": "+444242424242",
"companyadmin": true,
"companyposition": "Hitchhiker",
"lang": "en"
}
JSON representation of a User.
This object has the following properties:
id
(string)
fstname
(string)
sndname
(string)
email
(string)
sysauth
(string)
home_folder_id
(string)
twofactor_active
(boolean)
twofactor_is_mandatory
(boolean)
webauthn_active
(boolean)
personalnumber
(string)
phone
(string)
companyadmin
(boolean)
companyposition
(string)
lang
(string)
UserGroup
(object)
Example JSON: for "UserGroup"
{
"id": "1",
"parent_id": null,
"name": "A Root Usergroup",
"children": [
{
"id": "2",
"name": "Some child user group"
},
{
"id": "3",
"name": "Yet another child user group"
}
],
"settings": {
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": 42,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
}
},
"contact_details": {
"inherited_from": null,
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
},
"tags": [
{
"name": "alignment",
"value": "chaotic good"
}
]
}
JSON representation of a User Group.
This object has the following properties:
id
(string)
parent_id
(string)
name
(string)
children
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
id
(string)
name
(string)
settings
(object)
JSON representation of a User Group's Settings.
The settings
object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
contact_details
(object)
JSON representation of a User Group's Contact Details.
The contact_details
object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
tags
(array)
User defined set of name/value pairs.
Each tag must have {"name": "some-name", "value": "some-value"}
format.
In the responses value is always a string.
In the requests you can also provide null
value to delete a tag.
Other value types lead to 400 Bad Request response.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
name
(string)
value
(string)
UserGroupWithInheritable
(object)
Example JSON: for "UserGroupWithInheritable"
{
"id": "5",
"parent_id": "1",
"name": "A Child Usergroup",
"children": [
{
"id": "2",
"name": "Some child user group"
},
{
"id": "3",
"name": "Yet another child user group"
}
],
"settings": {
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": 42,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
},
"inheritable_preview": {
"inherited_from": "1",
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": 23,
"idle_doc_timeout_error": null,
"immediate_trash": true
}
}
},
"contact_details": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
},
"inheritable_preview": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
}
},
"tags": [
{
"name": "home-planet",
"value": "Earth"
}
]
}
JSON representation of a User Group (with Inheritable Previews).
This object has the following properties:
id
(string)
parent_id
(string)
name
(string)
children
(array)
Default: []
All array elements must be of type:
(object)
This object has the following properties:
id
(string)
name
(string)
settings
(object)
JSON representation of a User Group's Settings (with Inheritable Preview).
The settings
object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
inheritable_preview
(object)
The inheritable_preview
object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
contact_details
(object)
JSON representation of a User Group's Contact Details (with Inheritable Preview).
The contact_details
object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
inheritable_preview
(object)
The inheritable_preview
object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
tags
(array)
User defined set of name/value pairs.
Each tag must have {"name": "some-name", "value": "some-value"}
format.
In the responses value is always a string.
In the requests you can also provide null
value to delete a tag.
Other value types lead to 400 Bad Request response.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
name
(string)
value
(string)
UserGroupSettings
(object)
Example JSON: for "UserGroupSettings"
{
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": 42,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
}
}
JSON representation of a User Group's Settings.
This object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
UserGroupSettingsWithInheritable
(object)
Example JSON: for "UserGroupSettingsWithInheritable"
{
"inherited_from": null,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": 42,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": null,
"idle_doc_timeout_error": null,
"immediate_trash": false
},
"inheritable_preview": {
"inherited_from": 1,
"data_retention_policy": {
"idle_doc_timeout_preparation": null,
"idle_doc_timeout_closed": null,
"idle_doc_timeout_canceled": null,
"idle_doc_timeout_timedout": null,
"idle_doc_timeout_rejected": 23,
"idle_doc_timeout_error": null,
"immediate_trash": true
}
}
}
JSON representation of a User Group's Settings (with Inheritable Preview).
This object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
inheritable_preview
(object)
The inheritable_preview
object has the following properties:
inherited_from
(string)
data_retention_policy
(object)
The data_retention_policy
object has the following properties:
idle_doc_timeout_preparation
(integer)
Number of days to retain the document after preparation
idle_doc_timeout_closed
(integer)
Number of days to retain the document after closed
idle_doc_timeout_canceled
(integer)
Number of days to retain the document after canceled
idle_doc_timeout_timedout
(integer)
Number of days to retain the document after timedout
idle_doc_timeout_rejected
(integer)
Number of days to retain the document after rejected
idle_doc_timeout_error
(integer)
Number of days to retain the document after error
immediate_trash
(boolean)
UserGroupContactDetails
(object)
Example JSON: for "UserGroupContactDetails"
{
"inherited_from": null,
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
}
JSON representation of a User Group's Contact Details.
This object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
UserGroupContactDetailsWithInheritable
(object)
Example JSON: for "UserGroupContactDetailsWithInheritable"
{
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
},
"inheritable_preview": {
"inherited_from": "1",
"address": {
"company_number": "5568166804",
"company_name": "Scrive",
"address": "Grev Turegatan 11A",
"zip": "114 46",
"city": "Stockholm",
"country": "Sweden"
}
}
}
JSON representation of a User Group's Contact Details (with Inheritable Preview).
This object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
inheritable_preview
(object)
The inheritable_preview
object has the following properties:
inherited_from
(string)
address
(object)
The address
object has the following properties:
company_number
(string)
company_name
(string)
address
(string)
zip
(string)
city
(string)
country
(string)
User Group ID and Name
(object)
Example JSON: for "User Group ID and Name"
{
"id": "4",
"name": "Dunder Mifflin Paper Company, Inc."
}
Contains the ID and name of a user group
This object has the following properties:
id
(string)
Unique identifier for a user group.
Will not change over time, and cannot be changed.
name
(string)
The name of the user group.
User Group ID and Name Sorting
(array)
Example JSON: for "User Group ID and Name Sorting"
[
{
"sort_by": "name",
"order": "descending"
}
]
Parameter used to sort results of the list
API call.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
order
(string, enum)
The value of this property must be one of the following enum values:
"ascending"
"descending"
sort_by
(string, enum, required)
The value of this property must be one of the following enum values:
"id"
"name"
User Group ID and Name Filter
(array)
Example JSON: for "User Group ID and Name Filter"
[
{
"filter_by": "name",
"value": "keyword"
}
]
Parameter used to filter user groups for the list
API call.
Default: []
Each element of this array must match at least one of the following schemas:
Filter by name (object)
This object has the following properties:
filter_by
(string, enum)
The value of this property must be one of the following enum values:
"name"
value
(string)
Tags
(array)
Example JSON: for "Tags"
[
{
"name": "founded",
"value": "1846"
},
{
"name": "status",
"value": "busy"
}
]
User defined set of name/value pairs.
Each tag must have {"name": "some-name", "value": "some-value"}
format.
In the responses value is always a string.
In the requests you can also provide null
value to delete a tag.
Other value types lead to 400 Bad Request response.
Default: []
All array elements must be of type:
(object)
This object has the following properties:
name
(string)
value
(string)
AccessRole
(object)
Example JSON: for "AccessRole"
{
"id": "8",
"is_generated": false,
"role_type": "user_group_admin",
"source": {
"type": "user",
"id": "2"
},
"target": {
"type": "user_group",
"id": "11"
}
}
JSON representation of an Access Role.
This object has the following properties:
id
(string)
is_generated
(boolean)
role_type
(string, enum)
The value of this property must be one of the following enum values:
"user"
"user_group_member"
"user_admin"
"user_group_admin"
"document_admin"
source
(object)
The source
object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"user"
"user_group"
id
(string)
target
(object)
The target
object has the following properties:
type
(string, enum)
The value of this property must be one of the following enum values:
"user"
"user_group"
"folder"
id
(string)
Folder
(object)
Example JSON: for "Folder"
{
"id": "1",
"name": "Root folder",
"home_for_user": null,
"home_for_user_group": "10",
"parent_id": null,
"children": [
{
"id": "2",
"name": "Subfolder of 1",
"home_for_user": "33",
"home_for_user_group": null,
"children": [
{
"id": "3",
"name": "Subfolder of 2",
"home_for_user": "44",
"home_for_user_group": null
}
]
}
]
}
JSON representation of a Folder.
This object has the following properties:
id
(string, required)
name
(string, required)
home_for_user
(string)
If the folder is a home folder for a user this field contains the ID of that user. Otherwise it's null.
home_for_user_group
(string)
If the folder is a home folder for a user group this field contains the ID of that group. Otherwise it's null.
parent_id
(string)
Optional property. If present contains either the ID of the parent folder or null if the requested folder is root.
children
(array)
Optional property. If present contains either the immediate children or all descendant folders.
All array elements must be of type:
(Folder)
Document validation error
(object)
Example JSON: for "Document validation error"
{
"can_start": false,
"errors": [
{
"details": {},
"type": "missing_document_file"
},
{
"details": {
"field": {
"type": "personal_number"
},
"signatory_id": "199"
},
"type": "invalid_authentication_to_view_info"
},
{
"details": {
"field": {
"type": "first_name"
},
"signatory_id": "200"
},
"type": "invalid_authentication_to_view_info"
},
{
"details": {
"field": {
"type": "last_name"
},
"signatory_id": "200"
},
"type": "invalid_authentication_to_view_info"
},
{
"details": {
"field": {
"type": "mobile"
},
"signatory_id": "199"
},
"type": "invalid_invitation_delivery_info"
},
{
"details": {
"field": {
"type": "mobile"
},
"signatory_id": "199"
},
"type": "field_obligatory_for_sender"
},
{
"details": {
"field": {
"type": "personal_number"
},
"signatory_id": "199"
},
"type": "field_obligatory_for_sender"
},
{
"details": {
"field": {
"type": "first_name"
},
"signatory_id": "200"
},
"type": "field_obligatory_for_sender"
},
{
"details": {
"field": {
"type": "last_name"
},
"signatory_id": "200"
},
"type": "field_obligatory_for_sender"
}
]
}
Defines the structure of single document validation error returned by endpoint related to document starting.
This object has the following properties:
type
(string, enum)
The error identifier.
Description templates of each error type for presentation to user can be found at Validation error templates.
The value of this property must be one of the following enum values:
"approver_cannot_have_field_placement"
"approver_cannot_have_non_standard_sign_authentication"
"authentication_to_sign_method_disabled"
"authentication_to_view_archived_method_disabled"
"authentication_to_view_method_disabled"
"author_attachments_feature_disabled"
"author_cannot_be_approver"
"author_cannot_use_forwarding"
"bulk_send_empty_recipient_list"
"bulk_send_feature_disabled"
"bulk_send_multiple_matching_fields"
"bulk_send_no_matching_field"
"bulk_send_no_matching_signatory_found"
"bulk_send_non_text_field"
"bulk_send_target_signatory_is_an_author"
"bulk_send_too_many_recipients"
"cannot_use_document_roles_with_forwarding"
"confirmation_delivery_method_disabled"
"custom_sms_text_feature_disabled"
"document_is_template"
"document_roles_feature_disabled"
"field_obligatory"
"field_obligatory_for_sender"
"forwarding_feature_disabled"
"invalid_authentication_to_sign_info"
"invalid_authentication_to_view_archived_info"
"invalid_authentication_to_view_info"
"invalid_confirmation_delivery_info"
"invalid_date_config"
"invalid_invitation_delivery_info"
"invalid_notification_delivery_info"
"invalid_value"
"invitation_delivery_method_disabled"
"missing_document_file"
"no_signing_party"
"notification_delivery_method_disabled"
"qes_incompatible_signing_method"
"qes_missing_attachment"
"qes_signatory_field_cannot_be_editable_by_signatory"
"qes_signatory_field_cannot_be_editable_in_signview"
"qes_signatory_non_author_field"
"signatory_attachment_feature_disabled"
details
(object)
Details identifying source of error.
Usually only properties related to specific error are present.
Some errors like missing_document_file
which relates to
overall document state (as opposed to specific signatory
and field) have no properties.
Errors related to specific party always contain signatory_id
property.
The details
object has the following properties:
field
(object)
Identifies a field of party.
The field
object has the following properties:
type
(string, enum)
Field type
The value of this property must be one of the following enum values:
"first_name"
"last_name"
"company"
"company_number"
"email"
"mobile"
"personal_number"
"text"
"checkbox"
"radio_group"
"signature"
"date"
name
(string)
Field name - only for named fields (text
, checkbox
, radio_group
, signature
, date
)
signatory_id
(string)
Unique identifier for a party.
delivery_method
(string)
Identifier of delivery method (invalid_*_delivery_info
, *_delivery_method_disabled
).
authentication_method
(string)
Identifier of authentication method (invalid_authentication_*
, authentication_*_method_disabled
).
attachment_name
(string)
Identifier of attachment (qes_missing_attachment
).
recipient_index
(integer)
Index into recipient_list
of bulk send parameter.
Only present for bulk send calls, indicates which recipient caused the document error.
Authentication field setting
(object)
Legacy alternative is to send simply the value (not as JSON string).
In that case force_obligatory
parameter always defaults to null
.
This object has the following properties:
value
(text)
Value for the field.
force_obligatory
(bool)
Whether the field must be obligatory.
When selected authentication already required field to be obligatory,
the false
value has no effect as the field will be always obligatory.
Ommiting this field or setting it to null
tries to preserve current obligatoriness
of the field.
Other document settings may also override this option. (E.g. when you
change authentication to sign with phone number field set to force_obligatory=false
and the phone number is required by invitation delivery method, the phone number
field will be mandatory anyway).
Default: null
Bulk send recipient info
(array)
Example JSON: for "Bulk send recipient info"
[
{
"document_title": "Rent contract prolongation - Arthur Dent",
"first_name": "Arthur",
"last_name": "Dent",
"email": "arthur.dent@example.org",
"custom_fields": {
"occupation": "Hitchhiker"
}
},
{
"document_title": "Rent contract prolongation - Ford Prefect",
"first_name": "Ford",
"last_name": "Prefect",
"email": "ford.prefect@example.org",
"custom_fields": {
"occupation": "Researcher for the Hitchhiker's Guide to the Galaxy"
}
},
{
"document_title": "Rent contract prolongation - Zaphod Beeblebrox",
"first_name": "Zaphod",
"last_name": "Beeblebrox",
"email": "zaphod.beeblebrox@example.org",
"custom_fields": {
"occupation": "Galactic President"
}
}
]
JSON array describing recipients for the bulk send.
All array elements must be of type:
(object)
Bulk send recipient details. All fields are optional, but depending on the document setup, not providing necessary fields can prevent the document from being started.
If a field is provided, it will overwrite the value of a related signatory link field.
All the fields referenced in this object have to exist, otherwise the bulk send will refuse to start the document. However you don't have to reference all the signatory fields that are present.
Currently, only text fields are supported by the bulk send.
This object has the following properties:
document_title
(string)
Modifies the title of the document started by the bulk send.
first_name
(string)
Modifies the first name field of the signatory.
last_name
(string)
Modifies the last name field of the signatory.
email
(string)
Modifies the email field of the signatory.
mobile
(string)
Modifies the mobile field of the signatory.
personal_number
(string)
Modifies the personal number field of the signatory.
company
(string)
Modifies the company name field of the signatory.
company_number
(string)
Modifies the company number field of the signatory.
custom_fields
(object)
Mapping of custom field names and their values.
The property name can refer to any text or multi-line custom text field.