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.
Namestring Full Name of recipient
emailstring Recipient email
orderstring Recipient order for signing document
pinstring Recipient would need to enter this to access document(optional)
signer_typestring Allow you to choose if recipient will sign or receive the document only.
Fieldsarray Array of fields for recipients.
Typestring Field type
xinteger The X coordinate of the field
yinteger The Y coordinate of the field
pageinteger The page number the field
heightinteger The pixel height of the field
widthinteger The pixel width of the field
requiredinteger Whether or not the field is required
Settingsarray Envelop settings.
signer_add_fieldsbool Allow recipient to add more fields in document
expiration_datedate Set expiry date dd/mm/yyyy format
reminder_datedate Send reminder if not signed, dd/mm/yyyy format
send_on_certain_datedate Schedule document to send on certain date , dd/mm/yyyy format

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.
rolestring Use to identify the fields for certain recipient
namestring Full Name of recipient
emailstring Recipient email
pinstring Recipient would need to enter this to access document(optional)
Settingsarray Envelop settings.
signer_add_fieldsbool Allow recipient to add more fields in document
expiration_datedate Set expiry date dd/mm/yyyy format
reminder_datedate Send reminder if not signed, dd/mm/yyyy format
send_on_certain_datedate Schedule document to send on certain date , dd/mm/yyyy format

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
2020 © Grabsign