Authentication
Authenticate using your api key, email and password.You can find your api key in your admin settings.
Your API keys carry many privileges, including access to all documents you send with GrabSign, so be sure to keep it secure! Do not share your secret key in publicly accessible areas such as GitHub, client-side code, and so forth.
API Endpoint
https://api.grabsign.com
Auth Endpoint
https://api.grabsign.com/auth
Authentication Request
{ "api_key":" your API key", "email":"your email", "password":"your password" }
Response
{ "access_token": "Your access token ", "status_code": "200", "status_message": "OK" }
Documents
Create Document
Subjectstring | The subject of your document, this is used as the subject line of emails sent to recipients. | ||||||||||||||
Messagestring | A short paragraph intended as the introductory message to recipients when opening a document for digital signing. | ||||||||||||||
Brand idstring | Unique identifier of the brand to be used for the signing interface when recipients complete the document. | ||||||||||||||
Filesstring | The base64 encoded string of bytes containing the PDF file to be used. | ||||||||||||||
Signersarray | Array of recipients that must sign the document before it is completed.
|
||||||||||||||
Fieldsarray | Array of fields for recipients.
|
||||||||||||||
Settingsarray | Envelop settings.
|
Document Creation Endpoint
POST https://api.grabsign.com/document
Request
{ "api_key":"your API Key", "access_token":"Access Token you received in authentication", "subject" : "subject", "message" : "message", "brand_id" : "optional", "files" : [{file: base64 string , "name" => "file name" }], "signer_order" : "true or false", "signing_redirect_url" : "url to redirect after signature - optional", "signers":[ { "name": "John", "email":"john@grabsign.com", "order" : "1", "pin" : "", "signature-type" : "need-to-sign" } ], "fields" : [ [{"type" : "", "x" : "", "y" : "", "width" : "", "height" : "", "required" : "", "page" : "", "signer" : ""}, {"type" : "", "x" : "", "y" : "", "width" : "", "height" : "", "required" : "", "page" : "", "signer" : ""} ] ], "settings" : { "signer_add_fields" : "", "expiration_date" : "dd/mm/yyyy", "reminder_date" : "dd/mm/yyyy", "send_on_certain_date" : "dd/mm/yyyy" } }
Response
{ "envelop_id": "564393bf848402b3af9e3c00syrt87a1a2d", "status": "sent", "status_code": 202, "status_message": "Success" }
Create Document by using existing template
template_idstring | Unique identifier of the template. | ||||||||
Signersarray | Array of recipients that must sign the document before it is complete.
|
||||||||
Settingsarray | Envelop settings.
|
Document Creation Endpoint
POST https://api.grabsign.com/template_signature_request
Request
{ "api_key":"f405464645646456bd8180135cf2b", "access_token":"78345ytdiuhgf875t78487ugt7", "template_id":"f4054646456464kdhrg74t57834", "signers":[ { "role":"", "name": "", "email":"" } ] }
Response
{ "envelop_id": "564393bf848402b3af9e3c00syrt87a1a2d", "status": "sent", "status_code": 202, "status_message": "Success" }
Get Document Status
API keystring | your api key |
Access Tokenstring | Token you receive after authentication |
Envelop Idstring | Envelop identifier you receive after you create document |
Document Status Endpoint
POST https://api.grabsign.com/getDocumentStatus
Request
{ "api_key":"your api key", "access_token":"access token you received in authentication", "envelop_id":"envelop id" }
Response
{ "status": "completed", "files": { "1": "file name" "2": "file name" } "status_code": 200, "status_message": "success" }
Download Document
api_keystring | your api key |
access_tokenstring | Token you receive after authentication |
envelop_idstring | Envelop identifier you receive after you create document |
merge_documentsstring | Choose to get all document as one file |
file_srint | file serial number, required only if merge_documents set to 'no' |
certificatestring | set "yes" to download audit trail |
Endpoint
POST https://api.grabsign.com/downloadDocument
Request
{ "api_key":"your api key", "access_token":"access token you received in authentication", "envelop_id":"envelop id" "merge_documents" : "yes", "file_sr" : 1, "certificate" : "no" }
Response
base64 string
Create Template
Endpoint
POST https://api.grabsign.com/create_template
Request
{ "api_key":"f408a55184354565635bd8184535cf2b", "access_token":"45500345654567766cb9198d722", "files" : [{"file":"base64 encoded string" , "name":"file name.pdf" }], "signer_order" : 1, "signers":[ { "order" : "1", "role":"Admin", "pin" : "", "signature-type" : "need-to-sign" }, { "order" : "2", "role":"Receiver", "pin" : "", "signature-type" : "cc" } ], "template_name" : "Template created by API", "subject" : "Please sign the document so we can proceed further", "message" : "message sent in email to signers", "brand_id" : 0, "fields" : [ [{"type" : "name", "x" : "30", "y" : "30", "width" : "120", "height" : "20", "required" : "yes", "page" : "1", "signer" : "1"}, {"type" : "signature", "x" : "120", "y" : "200", "width" : "130", "height" : "30", "required" : "yes", "page" : "1", "signer" : "1"} ] ] }
Response
{ "template_id": "8676e730dbe3db5223453518d1efe", "status_code": 202, "status_message": "Success" }
List Template
API keystring | your api key |
Access Tokenstring | Token you receive after authentication |
Endpoint
POST https://api.grabsign.com/get_templates_list
Request
{ "api_key":"your api key", "access_token":"access token", }
Response
{ "templates": [ { "template_name": "My template", "template_id": "b14b6877f227388645647cd303fa59c61" }, { "template_name": "Contract Template", "template_id": "b14b6877f345686d5e27cd303fa59c61" } ], "status_code": 200, "status_message": "success" }
Get Template Detail
api_keystring | your api key |
access_tokenstring | Token you receive after authentication |
template_id string | Token you receive after authentication |
Endpoint
POST https://api.grabsign.com/get_template_detail
Request
{ "api_key":"your api key", "access_token":"access token", "template_id": "b14b6877f345686d5e27cd303fa59c61" }
Response
{ "template": { "template_name": "Contract Template", "template_id": "b14b6877f345686d5e27cd303fa59c61", "files": [ "Contract.pdf" ], "signers": [ { "sequence": "1", "role": "Admin", "name": " ", "email": " ", "signature-type": "need-to-sign", "passcode": "" }, { "sequence": "2", "role": "Customer", "name": "", "email": "", "signature-type": "need-to-sign", "passcode": "" } ] "fields": [ [ { "type": "Name", "x": "125.988", "y": "654.8", "width": "25", "height": "118", "required": "yes", "page": "3", "signer": "1" }, { "type": "Signature", "x": "133", "y": "688.425", "width": "42", "height": "118", "required": "yes", "page": "3", "signer": "1" }, { "type": "Initials", "x": "289", "y": "688.037", "width": "42", "height": "118", "required": "yes", "page": "3", "signer": "1" }, { "type": "DateSigned", "x": "136", "y": "744.65", "width": "25", "height": "118", "required": "yes", "page": "3", "signer": "1" }, { "type": "Name", "x": "118.988", "y": "763.7", "width": "25", "height": "118", "required": "yes", "page": "6", "signer": "2" }, { "type": "Signature", "x": "380", "y": "755.3", "width": "42", "height": "118", "required": "yes", "page": "6", "signer": "2" }, { "type": "DateSigned", "x": "587", "y": "767.5", "width": "25", "height": "118", "required": "yes", "page": "6", "signer": "2" } ] ], "email": { "subject": "subject here ,", "body": "Some body here" } }, "status_code": 200, "status_message": "success" }
Brands List
api_keystring | your api key |
access_tokenstring | Token you receive after authentication |
Endpoint
POST https://api.grabsign.com/brands_list
Request
{ "api_key":"your api key", "access_token":"access token", }
Response
{ "brands": [ { "name": "Xappsol", "company_name": "Xappsol - Software Company", "logo": "1599905119754fcfa73.png", "email": "john@grabsign.com", "tag_line": "We believe in quality", "redirect_url": null, "is_default": "0", "share_with_team": "1", "email_title": "Please sign the document so we can assist you", "email_body": "Please sign the document so we can assist you" }, { "name": "Fairv", "company_name": "Fairy", "logo": "1599176555f51cbd3734ce.png", "email": "john2@grabsign.com", "tag_line": "We create customers", "redirect_url": null, "is_default": "1", "share_with_team": "0", "email_title": "Sign the document", "email_body": "Hi,\r\nPlease sign" } ], "status_code": 200, "status_message": "success" }
Field Types
Field identify positions on a document where recipient input is generally required. Fields can be customised by accompanying attributes, such as the dimensions of the field and whether or not input is required before the document can be completed.
NameFull Name | Display the signer full name |
Signaturesignature | Allows the recipient to sign the document by drawing/typing/uploading their signature. |
Initials | Allows the recipient to sign the document by drawing/typing/uploading their initials. |
Signed datesigned_date | Displays the date the recipient signed the document |
Titletitle | Allows the recipient to enter title |
Emailemail | Display recipient email |
Companycompany | Allows the recipient to enter any their company name |
Texttext | Allows the recipient to enter any type of text |
Checkboxcheckbox | Allows the recipient to tick a box if applicable |
Attachmentattachment | Allow recipient to attach file |
Field
Typestring | Field type |
xinteger | The X coordinate of the field, assuming the origin 0,0 as the bottom left of the pdf at 72DPI. |
yinteger | The Y coordinate of the field, assuming the origin 0,0 as the bottom left of the pdf at 72DPI. |
pageinteger | The page number the field should be positioned on, page numbers start at index 1. |
heightinteger | The pixel height of the field, only applicable when the field type is signature, initials, input or check. If this is not provided the following defaults are given: signature: 30,initials: 30, input: 23, check: 8. |
widthinteger | The pixel width of the field, only applicable when the field kind is input. If this is not provided the following default value is used: 130. |
requiredinteger | Whether or not the recipient is required to enter a value into the input box before the document can be completed, only applicable when the field type is signature, initials, checkbox, input attachment. |
Signer Types
Need to Sign | Signer will get an email with signing link |
In person sign | You will get signer url and can get signer signature on your website |
Receive a copy | Person will receive the document copy |