Documents
Document structure
Below is the basic document structure.
The main fields to take note of:
- status: this defines what status the document is in. Document status
- document_type: this defines the type of document. Either template or document. Templates are re-usable documents. Document types
- data_fields: this an array of data field objects.
- signatories: this contains an array of people who must sign the document.
{
"status": "setup", //this indicates the document's current status. https://quicklysign.readme.io/docs/constants#document-status
"can_use_drawn_signature": true,
"can_use_typed_signature": true,
"can_use_uploaded_signature": true,
"document_type": "template", //this indicates the type of the document. It can either be "template" or "document". A template is a type of document that can be re-used. You copy the template and create a new document from it. https://quicklysign.readme.io/docs/constants#document-status
"final_blob": null, //this is for internal use.
"image_blobs": [ //this is for internal use.
],
"date_updated": 1401114124227, //date updated, ticks since epoch.
"original_blob": "", //internal use
"data_fields": [ /* this is where the data is captured. More on this below. */ ],
"filename": "EXCLUSIVE MANDATE.pdf",
"team_key": "<team key of the team where this document is located.>",
"original_blob_type": "application/pdf",
"date_created": 1397640006838,
"message": "", //custom message to include in the signature request mail to the user.
"signatories": [/*where all the signatory data goes. More on this below*/],
"image_blob_serving_urls": [/*internal use.*/],
"document_name": "Example template",
"key":"<document key>", //key of the document
"subject": null, //subject used when email is sent.
"use_two_factor_authentication": false //specifies whether 2-factor authentication should be used (if no mobile number is specified, one time password will be sent to email address.
}
}Signatory structure:
- status: indicates the current status of the signatory and whether a document has been sent to the user.
- email: this field must be populated when sending a signature request (it's who the document will be sent to).
- name: this is field should also be populated. It's the name of the person that will sign the document.
- mobile_number: optional field if 2-factor authentication is used.
{
/*all other document fields ...*/
"signatories": [ //list of signatories. This indicates who the document is being sent to.
{
"status": "setup", //These get updated as emails are sent. https://quicklysign.readme.io/docs/constants#document-status
"uuid": "8f307866-cc34-3fee-f3a0-5c89e88f2841", //Generate this if manually creating a document
"user_key": null, //internal use
"role": "Tenant", //this is defined on the frontend when setting up signatories.
"email_send_count": 0,
"mobile_number":null, //optional field when using 2-factor authentication.
"email": "", //you set this field before submitting a document for signatures.
"name": "" //name of the user.
}
],
/*all other document fields ...*/
}
}Data_field structure
- custom_id: this field is setup on the Quicklysign front-end when creating a document. It's here so that you know which data fields have the data you require (e.g. telephone number).
- tag_id : Use this property when extracting fields from a pdf.
- data: this can be pre-populated when sending a signature request. If you retrieve a completed document, it will contain the document information.
- type: https://quicklysign.readme.io/docs/constants#datafield-type
{
/* ...all other document fields... */
"data_fields": [
{
"custom_id": "owner_name", //custom_id field is setup when you create a document and enter a custom id for the field.
"uuid": "", //internal use
"date_updated": 1401114124228, //ticks since epoch
"type": "text", //type of field. https://quicklysign.readme.io/docs/constants#datafield-type
"required": false, //whether field is required or not.
"height": 22, //height of the box.
"width": 150,//width of the box.
"blob": null, //internal use.
"signatory_uuid": "8f307866-cc34-3fee-f3a0-5c89e88f2841", //this is the id of the signatory who should complete this field. Manually create this if you are creating a new document "from scratch".
"x": 506.5, //x position of the box.
"data": null, //THIS IS WHERE YOU SET DATA. E.g. Text.
"y": 207, //y position of the box. Leave this blank if you're setting up the document via field detection
"description": "", //Text to describe the action the user must take. e.g. Upload a copy of your rates account
"auto_assign_date": false, //use this to indicate that a date field must automatically assign values.
"options_as_csv": "a,b,c", //use this when defining the option values for a choice field
"auto_fill": false, //use this to indicate that all signature/initial fields must be assigned with 1 click.
"filename": "",
"background_colour":"", //rgb background colour with # e.g. #fff
"tag_id":"" //tag_id used to link to tag_fields in pdf.
}
]
/*...all other document fields ...*/
}CC Recipient structure
If you need the completed document to be sent to users who aren't signatories or the document creator, you can add them as cc_recipients.
Cc_recipients are sent emails independently/privately, essentially a "bcc" in email terms.
{
/*all other document fields ...*/
"cc_recipients": [ //list of recipients to send completed document to.
{
"user_key": null, //internal use
"mobile_number":null, //optional field when using 2-factor authentication.
"email": "", //email address where the completed document must be sent.
"name": "" //name of the user.
}
],
/*all other document fields ...*/
}
}Get Documents
GET /documents
Optional query_string parameters:
team_key (filter documents returned by team)
page_size (only return x pages. page_size is an int)
document_status (see constants for possible status options)
document_type (see constants for possible document types)
GET /v0/documents?access_token=<access_token> HTTP/1.1
Host: sandboxapi.quicklysign.com
Content-Type: application/json
Cache-Control: no-cachecurl -X GET -H "Content-Type: application/json" -H "Cache-Control: no-cache" 'https://sandboxapi.quicklysign.com/v0/documents?access_token=<access_token>'{
"status": {
"status_code": 200
},
"data": {
"documents": [
{
"can_use_drawn_signature": true,
"post_signing_url": "",
"date_updated": 1444164548622.1,
"can_use_uploaded_signature": true,
"account_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"sequential_signing": true,
"message": "",
"serve_pdf_url": "https://sandboxapi.quicklysign.com/v0/documents/ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA/serve_pdf?access_token=APxXJqbp8RhG4GJQWyE0caADdx7kikithroUgGf0UGp",
"subject": null,
"team_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"final_blob": null,
"image_blobs": [
"AMIfv97uvbimdOxAuxa9oUS-l_AMfppTKSpAgLqjO0T_cgmAODZSodtyv_axPF-jr4t3BypRe8cf4-O2OnGCOVNLHeXNRGaJqIZk8zeIyi1qCfqb7bMBxwelJlrZdTrm7jK8wOlO3qEtYPUpeXevP2PcLsrbTr7PB5-JegePP-xObApdljWmsc_M-_luDDDVO0GJ3D8itkRX7PQY2tzYcsRsreRFi1gTJieQhFC2wJ4PS_rk4fFWRCxsPW58gCQ0kKFMdaE0Ie9Ifglmp0DfE3KvEeBchIWTvj_tLkloTUbiHSMhxng-lpa_TYVkpqhZyuFqKRoErnV-"
],
"created_by": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94",
"filename": "Exampledocument.pdf",
"use_fallback_pdf_conversion": false,
"document_name": "Example document",
"exclude_created_by_from_final_mail": false,
"status": "setup",
"use_signing_wizard": true,
"obfuscate_contact_info": false,
"key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA",
"created_by_email": "[email protected]",
"document_type": "template",
"image_blob_serving_urls": [
"https://lh3.googleusercontent.com/J49U0N33Quo_OgQg-TloO1s5PO_h00jJpdcU6LggeZ7xZJfyFCik9jQrbp7IG7oQmGiTzL0wRI-ilWNS4VjI2iFWFzH5"
],
"viewers": [
"ahFzfnRoZW1hc3NpdmUtbGl2ZXI2CxIHQWNjb3VudBiAgICAmZmNCgwLEgRVc2VyGICAgICA5JEKDAsSC1VzZXJBY2NvdW50GAEMogEHc2FuZGJveA",
"ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94"
],
"cc_recipients": [],
"signatories": [
{
"status": "setup",
"uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"date_updated": null,
"user_key": null,
"role": "Applicant",
"email_send_count": 0,
"mobile_number": null,
"email": "",
"name": ""
}
],
"account_branding_theme_key": null,
"can_use_typed_signature": true,
"original_blob_type": "application/pdf",
"date_created": 1444164507429.23,
"original_blob": "AMIfv978ojEEM2CFgZHHd0e_wJWCTZ4eqmjXjzwiCS5SEE-2KrKs5Pt-SWZzigonYInjUef0hKoKgRByNNf5RQLNTSR5Qf9bn6CHg8LNm0o3okXjXVlfuE8VdZ6w5gfJSXvMi-dFaCV59MYyifgJAaeNMgsRZhOTXuEvsGbxs3DX2oC4CFk38ng",
"data_fields": [
{
"custom_id": null,
"uuid": "22b43b61-312b-1bde-ec06-6f8d1c1a208d",
"date_updated": 1444164548622.06,
"type": "signature",
"required": true,
"filename": null,
"height": 40,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 241.5,
"z": null,
"data": "",
"y": 440,
"description": null
},
{
"custom_id": null,
"uuid": "875d15ea-c10b-fcd6-19f7-2022e73edc92",
"date_updated": 1444164548622.09,
"type": "text",
"required": false,
"filename": null,
"height": 22,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 98.5,
"z": null,
"data": "",
"y": 243,
"description": null
}
]
},
{
"can_use_drawn_signature": true,
"post_signing_url": "",
"date_updated": 1444164504604.1802,
"can_use_uploaded_signature": true,
"account_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"sequential_signing": true,
"message": "",
"serve_pdf_url": "https://sandboxapi.quicklysign.com/v0/documents/ahFzfnRoZW1hc3NpdmUtbGl2ZXIkCxIIRG9jdW1lbnQiFnNUTGhzTlJyZ3EyY0VyU3FGTmxHR0gMogEHc2FuZGJveA/serve_pdf?access_token=APxXJqbp8RhG4GJQWyE0caADdx7kikithroUgGf0UGp",
"subject": null,
"team_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"final_blob": null,
"image_blobs": [
"AMIfv97uvbimdOxAuxa9oUS-l_AMfppTKSpAgLqjO0T_cgmAODZSodtyv_axPF-jr4t3BypRe8cf4-O2OnGCOVNLHeXNRGaJqIZk8zeIyi1qCfqb7bMBxwelJlrZdTrm7jK8wOlO3qEtYPUpeXevP2PcLsrbTr7PB5-JegePP-xObApdljWmsc_M-_luDDDVO0GJ3D8itkRX7PQY2tzYcsRsreRFi1gTJieQhFC2wJ4PS_rk4fFWRCxsPW58gCQ0kKFMdaE0Ie9Ifglmp0DfE3KvEeBchIWTvj_tLkloTUbiHSMhxng-lpa_TYVkpqhZyuFqKRoErnV-"
],
"created_by": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94",
"filename": "Exampledocument.pdf",
"use_fallback_pdf_conversion": false,
"document_name": "Exampledocument.pdf",
"exclude_created_by_from_final_mail": false,
"status": "setup",
"use_signing_wizard": true,
"obfuscate_contact_info": false,
"key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIkCxIIRG9jdW1lbnQiFnNUTGhzTlJyZ3EyY0VyU3FGTmxHR0gMogEHc2FuZGJveA",
"created_by_email": "[email protected]",
"document_type": "document",
"image_blob_serving_urls": [
"https://lh3.googleusercontent.com/J49U0N33Quo_OgQg-TloO1s5PO_h00jJpdcU6LggeZ7xZJfyFCik9jQrbp7IG7oQmGiTzL0wRI-ilWNS4VjI2iFWFzH5"
],
"viewers": [
"ahFzfnRoZW1hc3NpdmUtbGl2ZXI2CxIHQWNjb3VudBiAgICAmZmNCgwLEgRVc2VyGICAgICA5JEKDAsSC1VzZXJBY2NvdW50GAEMogEHc2FuZGJveA",
"ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94"
],
"cc_recipients": [],
"signatories": [
{
"status": "setup",
"uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"date_updated": null,
"user_key": null,
"role": "",
"email_send_count": 0,
"mobile_number": null,
"email": "",
"name": ""
}
],
"account_branding_theme_key": null,
"can_use_typed_signature": true,
"original_blob_type": "application/pdf",
"date_created": 1444164494101.67,
"original_blob": "AMIfv978ojEEM2CFgZHHd0e_wJWCTZ4eqmjXjzwiCS5SEE-2KrKs5Pt-SWZzigonYInjUef0hKoKgRByNNf5RQLNTSR5Qf9bn6CHg8LNm0o3okXjXVlfuE8VdZ6w5gfJSXvMi-dFaCV59MYyifgJAaeNMgsRZhOTXuEvsGbxs3DX2oC4CFk38ng",
"data_fields": []
}
]
}
}Get Document
Gets an existing document for given document_key.
GET /documents/<document_key>
GET /v0/documents/<document_key>?access_token=<access_token> HTTP/1.1
Host: sandboxapi.quicklysign.com
Content-Type: application/json
Cache-Control: no-cachecurl -X GET -H "Content-Type: application/json" -H "Cache-Control: no-cache" 'https://sandboxapi.quicklysign.com/v0/documents/<document_key>?access_token=<access_token>'{
"status": {
"status_code": 200
},
"data": {
"document": {
"can_use_drawn_signature": true,
"post_signing_url": "",
"date_updated": 1444164548622.1,
"can_use_uploaded_signature": true,
"account_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"sequential_signing": true,
"message": "",
"serve_pdf_url": "https://sandboxapi.quicklysign.com/v0/documents/ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA/serve_pdf?access_token=APxXJqbp8RhG4GJQWyE0caADdx7kikithroUgGf0UGp",
"subject": null,
"team_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"final_blob": null,
"image_blobs": [
"AMIfv97uvbimdOxAuxa9oUS-l_AMfppTKSpAgLqjO0T_cgmAODZSodtyv_axPF-jr4t3BypRe8cf4-O2OnGCOVNLHeXNRGaJqIZk8zeIyi1qCfqb7bMBxwelJlrZdTrm7jK8wOlO3qEtYPUpeXevP2PcLsrbTr7PB5-JegePP-xObApdljWmsc_M-_luDDDVO0GJ3D8itkRX7PQY2tzYcsRsreRFi1gTJieQhFC2wJ4PS_rk4fFWRCxsPW58gCQ0kKFMdaE0Ie9Ifglmp0DfE3KvEeBchIWTvj_tLkloTUbiHSMhxng-lpa_TYVkpqhZyuFqKRoErnV-"
],
"created_by": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94",
"filename": "Exampledocument.pdf",
"use_fallback_pdf_conversion": false,
"document_name": "Example document",
"exclude_created_by_from_final_mail": false,
"status": "setup",
"use_signing_wizard": true,
"obfuscate_contact_info": false,
"key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA",
"created_by_email": "[email protected]",
"document_type": "template",
"image_blob_serving_urls": [
"https://lh3.googleusercontent.com/J49U0N33Quo_OgQg-TloO1s5PO_h00jJpdcU6LggeZ7xZJfyFCik9jQrbp7IG7oQmGiTzL0wRI-ilWNS4VjI2iFWFzH5"
],
"viewers": [
"ahFzfnRoZW1hc3NpdmUtbGl2ZXI2CxIHQWNjb3VudBiAgICAmZmNCgwLEgRVc2VyGICAgICA5JEKDAsSC1VzZXJBY2NvdW50GAEMogEHc2FuZGJveA",
"ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94"
],
"cc_recipients": [],
"signatories": [
{
"status": "setup",
"uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"date_updated": null,
"user_key": null,
"role": "Applicant",
"email_send_count": 0,
"mobile_number": null,
"email": "",
"name": ""
}
],
"account_branding_theme_key": null,
"can_use_typed_signature": true,
"original_blob_type": "application/pdf",
"date_created": 1444164507429.23,
"original_blob": "AMIfv978ojEEM2CFgZHHd0e_wJWCTZ4eqmjXjzwiCS5SEE-2KrKs5Pt-SWZzigonYInjUef0hKoKgRByNNf5RQLNTSR5Qf9bn6CHg8LNm0o3okXjXVlfuE8VdZ6w5gfJSXvMi-dFaCV59MYyifgJAaeNMgsRZhOTXuEvsGbxs3DX2oC4CFk38ng",
"data_fields": [
{
"custom_id": null,
"uuid": "22b43b61-312b-1bde-ec06-6f8d1c1a208d",
"date_updated": 1444164548622.06,
"type": "signature",
"required": true,
"filename": null,
"height": 40,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 241.5,
"z": null,
"data": "",
"y": 440,
"description": null
},
{
"custom_id": null,
"uuid": "875d15ea-c10b-fcd6-19f7-2022e73edc92",
"date_updated": 1444164548622.09,
"type": "text",
"required": false,
"filename": null,
"height": 22,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 98.5,
"z": null,
"data": "",
"y": 243,
"description": null
}
]
}
}
}Create a document
POST /documents Creates a new document.
Use this endpoint when you want to create a new document or create a document from a template.
Creating a new document from a template:
Create a document from an existing document/template - First get the other document json (using get documents/<document_key>). Then post that json and a new document will be created. You can make changes to the json beforehand.You can update the document by submitting PUT requests.
To create a new document from template see the short-cut below.
Create a new document using your own pdf
Start by posting to /Documents/ . This creates a new document and a temporary upload url (which lasts for 10 minutes) is included in the response (temp_upload_url_10_min is the field name).
You can include the document properties in the POST call when creating the document (it need not be blank as in the example below).
POST /v0/documents?access_token={{access_token}} HTTP/1.1
Host: sandboxapi.quicklysign.com
Content-Type: application/json
Cache-Control: no-cache
{
"status": "setup"
}curl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"status": "setup"
}' "https://sandboxapi.quicklysign.com/v0/documents?access_token={{access_token}}"{
"status": {
"status_code": 200
},
"data": {
"document": {
"can_use_drawn_signature": true,
"post_signing_url": "",
"date_updated": 1466433822868.72,
"can_use_uploaded_signature": true,
"account_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXImCxIEVXNlchiAgICAgOSRCgwLEgdBY2NvdW50IghQZXJzb25hbAyiAQdzYW5kYm94",
"sequential_signing": true,
"message": "",
"serve_pdf_url": "https://sandboxapi.quicklysign.com/v0/documents/ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgOP0igoMogEHc2FuZGJveA/serve_pdf?access_token=SgzFmo3XhCe7mQ3YRMzT6sk6OpbHcNVWUiEQj7ZkkVI",
"subject": null,
"team_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXImCxIEVXNlchiAgICAgOSRCgwLEgdBY2NvdW50IghQZXJzb25hbAyiAQdzYW5kYm94",
"final_blob": null,
"image_blobs": [],
"created_by": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94",
"filename": null,
"use_fallback_pdf_conversion": false,
"viewers": [
"ahFzfnRoZW1hc3NpdmUtbGl2ZXJICxIEVXNlchiAgICAgOSRCgwLEgdBY2NvdW50IghQZXJzb25hbAwLEgRVc2VyGICAgICA5JEKDAsSC1VzZXJBY2NvdW50GAEMogEHc2FuZGJveA",
"ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94"
],
"exclude_created_by_from_final_mail": false,
"status": "setup",
"use_signing_wizard": true,
"use_two_factor_authentication": false,
"obfuscate_contact_info": false,
"key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgOP0igoMogEHc2FuZGJveA",
"created_by_email": "[email protected]",
"document_type": "document",
"image_blob_serving_urls": [],
"document_name": "",
"cc_recipients": [],
"signatories": [],
"account_branding_theme_key": null,
"can_use_typed_signature": true,
"original_blob_type": null,
"date_created": 1466433822520.26,
"original_blob": null,
"data_fields": []
},
"temp_upload_url_10_min": "https://sandboxapi.quicklysign.com/_ah/upload/?access_token=SgzFmo3XhCe7mQ3YRMzT6sk6OpbHcNVWUiEQj7ZkkVI/AMmfu6ZB00W6Xn1n1dOulAVqq387p6hvAML0RMZ7osGeeggrHzq8Tezkof2fZ1lptqlbKwhHPlEFXeEbhCkuuagei89o6rYl924nRmPOAPhRIhylp-lNvqHdpIfOFb2mYxIl-elXemcSAljIBvUFF7_oWjZaWxlHXtQKQ0aswolJdM61w0medGtulM2CpqgFs7o4R7NSY0T3jkJq_DqVrcZuiKQpDNMq2czrj98Y1CSOPtAwlpzXH0T1ZvNszqCQOnYIl4jMF8WrNiH3ccidJmwj0Av1SGhda4SlNrL2XdWafj9T8uT4NKZWj9_U8Ck6Cu4RcCBXKpUgC8b47R5BSuL_N0ra8ESjsg/ALBNUaYAAAAAV2gDdxA-fx7vi0d0Vn3f0CzgWzrEoMzE/"
}
}Upload your pdf to "temp_upload_url_10_min", which will add your pdf to the document.
The key property (returned in the json response) is the key of the document which you can use to fetch the document.
Setting up data fields
Positioning can either be done manually, by specifying the x and y positions as detailed below, or it they can be extracted from your pdf.
Extracting data fields from your pdf
Step 1:
Update your pdf to have our tag syntax in any position where you would like a data_field to appear.
These "tags" are text that you place in your document.
The syntax is as follow <# tag_id #>. The data_field_tag_id must be specified in data_field json that you submit with the request. The width between the tag identifiers (<# and #>) indicates how wide to make the data_field. The height is determined based on the font size (use bigger font size to make a taller data field. Please us the font Inconsolata
Tag_id must be upper case ascii characters only.
https://fonts.google.com/specimen/Inconsolata
Step 2:
Create the data_field json for all the tags in the pdf. You can also link signatories to those datafields at this point if you have the information on hand. Be sure to specify a type so we know what type of field to use.
{//document json
"data_fields":[
{
"custom_id": "owner_name", //custom_id field is setup when you create a document and enter a custom id for the field.
"uuid": "", //internal use
"type": "text", //type of field. https://quicklysign.readme.io/docs/constants#datafield-type
"required": false, //whether field is required or not.
"height": 22, //this will be overridden when extracting feilds
"width": 150,//this will be overridden when extracting feilds
"signatory_uuid": "8f307866-cc34-3fee-f3a0-5c89e88f2841", //this must link to a signatory
"x": 506.5, //this will be overridden when extracting feilds
"data": null, //THIS IS WHERE YOU SET DATA. E.g. "Hello world".
"y": 207, //this will be overridden when extracting feilds
"tag_id": "0" //this ID must be used in your tag on the pdf.
"description":"",
"background_colour":"", //rgb background colour with # e.g. #fff
"tag_id":"" //tag_id used to link to tag_fields in pdf.
}
],
"signatories":[
{
"uuid":"8f307866-cc34-3fee-f3a0-5c89e88f2841", //this is the signatory_uuid in data_field.
"name":"Rob Curtis",
"role": "signer_1",
"mobile_number":"",
"email": "[email protected]",
"name": "Rob Curtis"
}
]
}Step 3:
Post your json and file
Use query string parameter extract_fields_from_pdf_by_tag=true to indicate that the service must extract fields.
Post your json to /documents/?extract_fields_from_pdf_by_tag=true
This will return a temp_upload_url which you post your file to.
Note: you can also include query string parameter auto_request_signatures_when_ready=true if you want the document to send as soon as fields are setup. Note that if including supporting documents (document_appendices) via the api, that they are required before a signature request will be sent.
Manually setting up data fields
Setting up data_fields (these are the blocks for signing, entering text etc) can either by done manually or by copying them from another document with the same layout. The positions shown are in pixels from the top left point from page 0 (so if each page is 800px and there are 10 pages, then the last page data fields will have a y position in the range 7200 to 8000px). See the figure below for further explanation.

Data field positioning.
If you are likely to have the same setup for each document (just content changes), we suggest using templates. Alternatively, you can create your document manually (once off) then retrieve those datafields and apply them when creating your new document (from uploaded pdf).
Update Document
Purpose:
- Make changes to document before requesting signatures
- To initiate signature requests.
- Get upload url for updating document pdf.
- Updating contact details of a signatory
- Revert a document to setup if the document is in a status of awaiting_signatures.
How to:
- Initiate Signature Request - Change the document status to awaiting_signatures and put the document. This initialises the signature request.
- Update document details - If document status is setup, you can update any fields (except the ones listed below)
- Change document pdf - Put an update (with or without changes). A url temp_upload_url_10_min will be returned. Upload pdf to that url.
- Update signer details - Put an update (with changes to the signatory record you want changed and entire document body). An email is automatically sent to the new signer if the email address changes.
Allowed updates:
- Status change from setup -> awaiting_signatures
- updating field values while in setup status. Properties not updated are "created_by", "created_by_email","viewers", "image_blob_serving_urls", "image_blobs", "final_blob", "original_blob_type", "original_blob", "team_key"
Be sure to include entire document JSON in the update request.
PUT /documents/<document_key>
PUT /v0/documents/<document_key>?access_token=<access_token> HTTP/1.1
Host: sandboxapi.quicklysign.com
Content-Type: application/json
Cache-Control: no-cache
{
"can_use_drawn_signature": true,
"post_signing_url": "",
"date_updated": 1444164548622.1,
"can_use_uploaded_signature": true,
"account_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"sequential_signing": true,
"message": "",
"serve_pdf_url": "https://sandboxapi.quicklysign.com/v0/documents/ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA/serve_pdf?access_token=APxXJqbp8RhG4GJQWyE0caADdx7kikithroUgGf0UGp",
"subject": null,
"team_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"final_blob": null,
"image_blobs": [
"AMIfv97uvbimdOxAuxa9oUS-l_AMfppTKSpAgLqjO0T_cgmAODZSodtyv_axPF-jr4t3BypRe8cf4-O2OnGCOVNLHeXNRGaJqIZk8zeIyi1qCfqb7bMBxwelJlrZdTrm7jK8wOlO3qEtYPUpeXevP2PcLsrbTr7PB5-JegePP-xObApdljWmsc_M-_luDDDVO0GJ3D8itkRX7PQY2tzYcsRsreRFi1gTJieQhFC2wJ4PS_rk4fFWRCxsPW58gCQ0kKFMdaE0Ie9Ifglmp0DfE3KvEeBchIWTvj_tLkloTUbiHSMhxng-lpa_TYVkpqhZyuFqKRoErnV-"
],
"created_by": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94",
"filename": "Exampledocument.pdf",
"use_fallback_pdf_conversion": false,
"document_name": "Example document",
"exclude_created_by_from_final_mail": false,
"status": "setup",
"use_signing_wizard": true,
"obfuscate_contact_info": false,
"key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA",
"created_by_email": "[email protected]",
"document_type": "template",
"image_blob_serving_urls": [
"https://lh3.googleusercontent.com/J49U0N33Quo_OgQg-TloO1s5PO_h00jJpdcU6LggeZ7xZJfyFCik9jQrbp7IG7oQmGiTzL0wRI-ilWNS4VjI2iFWFzH5"
],
"viewers": [
"ahFzfnRoZW1hc3NpdmUtbGl2ZXI2CxIHQWNjb3VudBiAgICAmZmNCgwLEgRVc2VyGICAgICA5JEKDAsSC1VzZXJBY2NvdW50GAEMogEHc2FuZGJveA",
"ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94"
],
"cc_recipients": [],
"signatories": [
{
"status": "setup",
"uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"date_updated": null,
"user_key": null,
"role": "Applicant",
"email_send_count": 0,
"mobile_number": null,
"email": "",
"name": ""
}
],
"account_branding_theme_key": null,
"can_use_typed_signature": true,
"original_blob_type": "application/pdf",
"date_created": 1444164507429.23,
"original_blob": "AMIfv978ojEEM2CFgZHHd0e_wJWCTZ4eqmjXjzwiCS5SEE-2KrKs5Pt-SWZzigonYInjUef0hKoKgRByNNf5RQLNTSR5Qf9bn6CHg8LNm0o3okXjXVlfuE8VdZ6w5gfJSXvMi-dFaCV59MYyifgJAaeNMgsRZhOTXuEvsGbxs3DX2oC4CFk38ng",
"data_fields": [
{
"custom_id": null,
"uuid": "22b43b61-312b-1bde-ec06-6f8d1c1a208d",
"date_updated": 1444164548622.06,
"type": "signature",
"required": true,
"filename": null,
"height": 40,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 241.5,
"data": "",
"y": 440,
"description": null
},
{
"custom_id": null,
"uuid": "875d15ea-c10b-fcd6-19f7-2022e73edc92",
"date_updated": 1444164548622.09,
"type": "text",
"required": false,
"filename": null,
"height": 22,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 98.5,
"data": "",
"y": 243,
"description": null
}
]
}curl -X PUT -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"can_use_drawn_signature": true,
"post_signing_url": "",
"date_updated": 1444164548622.1,
"can_use_uploaded_signature": true,
"account_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"sequential_signing": true,
"message": "",
"serve_pdf_url": "https://sandboxapi.quicklysign.com/v0/documents/ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA/serve_pdf?access_token=APxXJqbp8RhG4GJQWyE0caADdx7kikithroUgGf0UGp",
"subject": null,
"team_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"final_blob": null,
"image_blobs": [
"AMIfv97uvbimdOxAuxa9oUS-l_AMfppTKSpAgLqjO0T_cgmAODZSodtyv_axPF-jr4t3BypRe8cf4-O2OnGCOVNLHeXNRGaJqIZk8zeIyi1qCfqb7bMBxwelJlrZdTrm7jK8wOlO3qEtYPUpeXevP2PcLsrbTr7PB5-JegePP-xObApdljWmsc_M-_luDDDVO0GJ3D8itkRX7PQY2tzYcsRsreRFi1gTJieQhFC2wJ4PS_rk4fFWRCxsPW58gCQ0kKFMdaE0Ie9Ifglmp0DfE3KvEeBchIWTvj_tLkloTUbiHSMhxng-lpa_TYVkpqhZyuFqKRoErnV-"
],
"created_by": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94",
"filename": "Exampledocument.pdf",
"use_fallback_pdf_conversion": false,
"document_name": "Example document",
"exclude_created_by_from_final_mail": false,
"status": "setup",
"use_signing_wizard": true,
"obfuscate_contact_info": false,
"key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA",
"created_by_email": "[email protected]",
"document_type": "template",
"image_blob_serving_urls": [
"https://lh3.googleusercontent.com/J49U0N33Quo_OgQg-TloO1s5PO_h00jJpdcU6LggeZ7xZJfyFCik9jQrbp7IG7oQmGiTzL0wRI-ilWNS4VjI2iFWFzH5"
],
"viewers": [
"ahFzfnRoZW1hc3NpdmUtbGl2ZXI2CxIHQWNjb3VudBiAgICAmZmNCgwLEgRVc2VyGICAgICA5JEKDAsSC1VzZXJBY2NvdW50GAEMogEHc2FuZGJveA",
"ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94"
],
"cc_recipients": [],
"signatories": [
{
"status": "setup",
"uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"date_updated": null,
"user_key": null,
"role": "Applicant",
"email_send_count": 0,
"mobile_number": null,
"email": "",
"name": ""
}
],
"account_branding_theme_key": null,
"can_use_typed_signature": true,
"original_blob_type": "application/pdf",
"date_created": 1444164507429.23,
"original_blob": "AMIfv978ojEEM2CFgZHHd0e_wJWCTZ4eqmjXjzwiCS5SEE-2KrKs5Pt-SWZzigonYInjUef0hKoKgRByNNf5RQLNTSR5Qf9bn6CHg8LNm0o3okXjXVlfuE8VdZ6w5gfJSXvMi-dFaCV59MYyifgJAaeNMgsRZhOTXuEvsGbxs3DX2oC4CFk38ng",
"data_fields": [
{
"custom_id": null,
"uuid": "22b43b61-312b-1bde-ec06-6f8d1c1a208d",
"date_updated": 1444164548622.06,
"type": "signature",
"required": true,
"filename": null,
"height": 40,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 241.5,
"z": null,
"data": "",
"y": 440,
"description": null
},
{
"custom_id": null,
"uuid": "875d15ea-c10b-fcd6-19f7-2022e73edc92",
"date_updated": 1444164548622.09,
"type": "text",
"required": false,
"filename": null,
"height": 22,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 98.5,
"z": null,
"data": "",
"y": 243,
"description": null
}
]
}' 'https://sandboxapi.quicklysign.com/v0/documents/<document_key>?access_token=<access_token>'{
"status": {
"status_code": 200
},
"data": {
"document": {
"can_use_drawn_signature": true,
"post_signing_url": "",
"date_updated": 1444165191045.8801,
"can_use_uploaded_signature": true,
"account_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"sequential_signing": true,
"message": "",
"subject": null,
"final_blob": null,
"image_blobs": [
"AMIfv97uvbimdOxAuxa9oUS-l_AMfppTKSpAgLqjO0T_cgmAODZSodtyv_axPF-jr4t3BypRe8cf4-O2OnGCOVNLHeXNRGaJqIZk8zeIyi1qCfqb7bMBxwelJlrZdTrm7jK8wOlO3qEtYPUpeXevP2PcLsrbTr7PB5-JegePP-xObApdljWmsc_M-_luDDDVO0GJ3D8itkRX7PQY2tzYcsRsreRFi1gTJieQhFC2wJ4PS_rk4fFWRCxsPW58gCQ0kKFMdaE0Ie9Ifglmp0DfE3KvEeBchIWTvj_tLkloTUbiHSMhxng-lpa_TYVkpqhZyuFqKRoErnV-"
],
"created_by": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94",
"filename": "Exampledocument.pdf",
"use_fallback_pdf_conversion": false,
"document_name": "Example document",
"exclude_created_by_from_final_mail": false,
"status": "setup",
"use_signing_wizard": true,
"obfuscate_contact_info": false,
"key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgPj7ggoMogEHc2FuZGJveA",
"created_by_email": "[email protected]",
"document_type": "template",
"image_blob_serving_urls": [
"https://lh3.googleusercontent.com/J49U0N33Quo_OgQg-TloO1s5PO_h00jJpdcU6LggeZ7xZJfyFCik9jQrbp7IG7oQmGiTzL0wRI-ilWNS4VjI2iFWFzH5"
],
"viewers": [
"ahFzfnRoZW1hc3NpdmUtbGl2ZXI2CxIHQWNjb3VudBiAgICAmZmNCgwLEgRVc2VyGICAgICA5JEKDAsSC1VzZXJBY2NvdW50GAEMogEHc2FuZGJveA",
"ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94"
],
"cc_recipients": [],
"signatories": [
{
"status": "setup",
"uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"date_updated": null,
"user_key": null,
"role": "Applicant",
"email_send_count": 0,
"mobile_number": null,
"email": "",
"name": ""
}
],
"account_branding_theme_key": null,
"can_use_typed_signature": true,
"original_blob_type": "application/pdf",
"date_created": 1444164507429.23,
"original_blob": "AMIfv978ojEEM2CFgZHHd0e_wJWCTZ4eqmjXjzwiCS5SEE-2KrKs5Pt-SWZzigonYInjUef0hKoKgRByNNf5RQLNTSR5Qf9bn6CHg8LNm0o3okXjXVlfuE8VdZ6w5gfJSXvMi-dFaCV59MYyifgJAaeNMgsRZhOTXuEvsGbxs3DX2oC4CFk38ng",
"data_fields": [
{
"custom_id": null,
"uuid": "22b43b61-312b-1bde-ec06-6f8d1c1a208d",
"date_updated": 1444164548622.06,
"type": "signature",
"required": true,
"filename": null,
"height": 40,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 241.5,
"z": null,
"data": "",
"y": 440,
"description": null
},
{
"custom_id": null,
"uuid": "875d15ea-c10b-fcd6-19f7-2022e73edc92",
"date_updated": 1444164548622.09,
"type": "text",
"required": false,
"filename": null,
"height": 22,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 98.5,
"z": null,
"data": "",
"y": 243,
"description": null
}
]
},
"temp_upload_url_10_min": "https://sandboxapi.quicklysign.com/_ah/upload/?access_token=APxXJqbp8RhG4GJQWyE0caADdx7kikithroUgGf0UGp/AMmfu6Y_I71IrI_gyQd97Y7IKn3VgqlBwwBt2qLd-fMAt7qw3qo1ql0ocO2CyS3xQ91WcxXxSrBRhmOLFTDZRbMQS-sVPa6u5mvkIZRHMEtFUfH10l9w2wbSKD_zJJdy_VTIRLUbmrzwodPZ-eGue3ttC0iTTRNHp2W8RSH5SV1iKJXw5ckZV1BM1XaFZ6cxtO-5sP32LTDrOnKulXHph7GcWznhxSYNaVzCHIuXsYXusW_aj8NcitXWhZ292cpGoacOel5O0Gd_7Vmbxgsahq8Nr3WIk_ZpdfEYa2unlOH6U1hjoqvzmgbEcd5XIfkel71V_McqaEVQ/ALBNUaYAAAAAVhQ4n3ocx1dxUtGLAvmoftxzc26TsycO/"
}
}Request signatures on a document
Either call PUT/documents/<document_key> and change the status to “awaiting_signatures”
or call
PUT /documents/<document_key>/request_signatures
This will change the status of the document to awaiting_signatures. Any other updates you include in document body will also be applied.
Be sure to include entire document JSON in the PUT body.
Resend signature request mail
PUT /documents/<document_key>/request_signatures
If the document is already in awaiting signatures state, a new signature request will be issued to the signatory that we are currently waiting on for signing.
Include the entire document JSON in the PUT body
Create new document from a template
POST /documents/<document_key>/new_document_from_template
If you have a document_key for a template, simply post to this url and the new document will be created by copying that original template.
A new document is returned when you execute this command.
POST /v0/documents/<document_key>/new_document_from_template?access_token=<access_token> HTTP/1.1
Host: sandboxapi.quicklysign.com
Content-Type: application/json
Cache-Control: no-cachecurl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '' 'https://sandboxapi.quicklysign.com/v0/documents/<document_key>/new_document_from_template?access_token=<access_token>'{
"status": {
"status_code": 200
},
"data": {
"document": {
"can_use_drawn_signature": true,
"post_signing_url": "",
"date_updated": 1444165417464.71,
"can_use_uploaded_signature": true,
"account_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"sequential_signing": true,
"message": "",
"serve_pdf_url": "https://sandboxapi.quicklysign.com/v0/documents/ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgJmDnAoMogEHc2FuZGJveA/serve_pdf?access_token=APxXJqbp8RhG4GJQWyE0caADdx7kikithroUgGf0UGp",
"subject": null,
"team_key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIUCxIHQWNjb3VudBiAgICAmZmNCgyiAQdzYW5kYm94",
"final_blob": null,
"image_blobs": [
"AMIfv97uvbimdOxAuxa9oUS-l_AMfppTKSpAgLqjO0T_cgmAODZSodtyv_axPF-jr4t3BypRe8cf4-O2OnGCOVNLHeXNRGaJqIZk8zeIyi1qCfqb7bMBxwelJlrZdTrm7jK8wOlO3qEtYPUpeXevP2PcLsrbTr7PB5-JegePP-xObApdljWmsc_M-_luDDDVO0GJ3D8itkRX7PQY2tzYcsRsreRFi1gTJieQhFC2wJ4PS_rk4fFWRCxsPW58gCQ0kKFMdaE0Ie9Ifglmp0DfE3KvEeBchIWTvj_tLkloTUbiHSMhxng-lpa_TYVkpqhZyuFqKRoErnV-"
],
"created_by": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94",
"filename": "Exampledocument.pdf",
"use_fallback_pdf_conversion": false,
"document_name": "Example document",
"exclude_created_by_from_final_mail": false,
"status": "setup",
"use_signing_wizard": true,
"obfuscate_contact_info": false,
"key": "ahFzfnRoZW1hc3NpdmUtbGl2ZXIVCxIIRG9jdW1lbnQYgICAgJmDnAoMogEHc2FuZGJveA",
"created_by_email": "[email protected]",
"document_type": "document",
"image_blob_serving_urls": [
"https://lh3.googleusercontent.com/J49U0N33Quo_OgQg-TloO1s5PO_h00jJpdcU6LggeZ7xZJfyFCik9jQrbp7IG7oQmGiTzL0wRI-ilWNS4VjI2iFWFzH5"
],
"viewers": [
"ahFzfnRoZW1hc3NpdmUtbGl2ZXI2CxIHQWNjb3VudBiAgICAmZmNCgwLEgRVc2VyGICAgICA5JEKDAsSC1VzZXJBY2NvdW50GAEMogEHc2FuZGJveA",
"ahFzfnRoZW1hc3NpdmUtbGl2ZXIRCxIEVXNlchiAgICAgOSRCgyiAQdzYW5kYm94"
],
"cc_recipients": [],
"signatories": [
{
"status": "setup",
"uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"date_updated": null,
"user_key": null,
"role": "Applicant",
"email_send_count": 0,
"mobile_number": null,
"email": "",
"name": ""
}
],
"account_branding_theme_key": null,
"can_use_typed_signature": true,
"original_blob_type": "application/pdf",
"date_created": 1444165417464.55,
"original_blob": "AMIfv978ojEEM2CFgZHHd0e_wJWCTZ4eqmjXjzwiCS5SEE-2KrKs5Pt-SWZzigonYInjUef0hKoKgRByNNf5RQLNTSR5Qf9bn6CHg8LNm0o3okXjXVlfuE8VdZ6w5gfJSXvMi-dFaCV59MYyifgJAaeNMgsRZhOTXuEvsGbxs3DX2oC4CFk38ng",
"data_fields": [
{
"custom_id": null,
"uuid": "22b43b61-312b-1bde-ec06-6f8d1c1a208d",
"date_updated": 1444164548622.06,
"type": "signature",
"required": true,
"filename": null,
"height": 40,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 241.5,
"z": null,
"data": "",
"y": 440,
"description": null
},
{
"custom_id": null,
"uuid": "875d15ea-c10b-fcd6-19f7-2022e73edc92",
"date_updated": 1444164548622.09,
"type": "text",
"required": false,
"filename": null,
"height": 22,
"width": 150,
"blob": null,
"signatory_uuid": "9c378cf5-3f46-ecca-7f0e-0e5d7d6cb9b8",
"x": 98.5,
"z": null,
"data": "",
"y": 243,
"description": null
}
]
}
}
}If you want to populate the fields and request signatures in one call, use "use_populate_syntax" and specify the fields values.
Populating the data_fields, signer details and cc recipient details
Specify use_populate_syntax=true in the query string.
See populate syntax section for instructions on how to populate the fields.
Replacing the pdf
Specify "file\_url":"<url of the pdf>"and "filename":"<filename of the file>" and Quicklysign will download and replace the backing pdf for the Quicklysign document.
Optional query string parameters
- auto_request_signatures_when_ready: Set this to true and Quicklysign will automatically send the document for signatures if ready (e.g. signatories assigned). Note that if including supporting documents (document_appendices) via the api, that they are required before a signature request will be sent.
- use_populate_syntax: Set to true and this allows you to populate fields without using bulky standard syntax.
- specify an external_id. If specified, this will allow you upload supporting documents concurrently while creating a new document from template.
Create new document with signing page
POST /documents/<document_key>/new_document_with_signing_page
This is used to append a signing page to a document.
The document_key parameter is the signing page template you've created. To find this page, either query using /documents/ or visit the UI and find the document there.
Once you have found the document, the document_key is in the url.
Alternatively, navigate to the bottom of the page and click "Show api details" which will reveal the useful information that you need.
Additional parameters passed in the query string:
- external_id: an external id allows you to reference this new document when adding additional files (e.g. document appendices). Use this when uploading appendices and document concurrently.
- auto_request_signatures_when_ready: will automatically send the document for signatures if ready. Note that if including supporting documents (document_appendices) via the api, that they are required before a signature request will be sent.
- use_populate_syntax: Set to true and this allows you to populate fields without using bulky standard syntax.
Populating fields
First set use_populate_syntax = true in the query string.
See populate syntax section for instructions on how to populate the fields.
Uploading the file
In the json post body, specify "file\_url":"<file url>" and "filename":"<file name>". Quicklysign will download the file from the file url specified.
Using populate syntax
Some api endpoints allow you to use simple syntax for populating data_field data, signer and cc recipient details.
Currently, the only api endpoints that support this syntax are:
- Create new document with signing page
- Create new document from a template
Using populate syntax to populate fields
Specify use_populate_syntax=true in the query string parameters. This allows you to use the syntax below to post values to the data_fields, cc_recipients and signer details.
To specify signer and cc recipient details:
Prefix the signatory property with "signer\_<index>" where index is the position in the list (starting at 0).
e.g. signer_0_email, signer_0_mobile_number, signer_0_name. This would setup all of the first signer's details.
In the json post,it looks like
{"signer_0_email":"[email protected]", "signer_0_name":"Rob Curtis", "signer_0_mobile_number":"Rob Curtis"}To populate data_field data values, specify the custom_id and the value to populate in the data property of the data_field.
E.g. if a data_field has a custom id called "date_of_birth", you would specify \{"date\_of\_birth":"<your date of birth value>"} in the json post.
This information is shown in the api details section on the document setup page in the UI.
The same applies for cc_recipients.
See demo example here: https://dash.readme.io/project/quicklysign/v0/docs/create-a-document-from-a-template-using-populate-syntax
Add a document appendix file
POST /documents/<document_key_or_external_id>/document_appendix_file/<appendix_key_or_custom_id>
This is used to add a file to a document appendix entity.
document_key_or_external_id
You can either use the document_key or external_id to identify the document for which you'd like to append the file.
If you do not know whether the document has been created yet (e.g. there was another asynchronous call made), you can use the external_id as a means to link this appendix to that document.
appendix_key_or_custom_id
If you have a custom_id assigned to the document_appendix, then the specify this value. Alternatively, if you know the appendix_key of the newly created document_appendix you may use that.
Note, that if the appendix_key or custom_id is not found, a document_appendix will automatically be created with audience set to "all" meaning that signers, cc recipients and team will see this file.
Specifying where to download the file
In the json post body specify "file\_url":"<your file url>". Quicklysign will download that file and append it to the document.
Delete Document
DELETE /documents/<document_key>
Delete document by given document key.
Some restrictions:
- You can’t delete documents that are in a completed state.
DELETE /v0/documents/{{document_key}}?access_token=<access_token> HTTP/1.1
Host: sandboxapi.quicklysign.com
Content-Type: application/json
Cache-Control: no-cachecurl -X DELETE -H "Content-Type: application/json" -H "Cache-Control: no-cache" 'https://sandboxapi.quicklysign.com/v0/documents/<document_key>?access_token=<access_token>'{
"status": {
"status_code": 200
},
"data": {
"message": "document has been deleted"
}
}Updated 6 months ago
