Blocknify API allows you to quickly add a legally compliant e-signature solution, built on smart contracts on the blockchain, to any web application. It's easy as a straightforward call.
Your users can sign via iframe, redirect to blocknify, or through an emailed invite. Email is required for users who haven't verified their email on your solution.
Emails can be customized with your logo and sent from your email address. We also support our web application to be customized with your logo and brand colors.
Live demos
Simple with existing document - https://blocknify.com/api/iframe_test.html
Document generation based on form inputs (with example API call) -https://blocknify.com/api/iframe_test_doc_generation.html
Post: document/newDocument - Request Parameters (only required, see below for all parameters)
document_name | Name of the document. | Required |
clientDocumentID | Client defined ID for the document. | Required |
documentByteCode | URL of the PDF or base64 bytecode. | Required |
owner_signed | True or false. owner_signed determines if the API account signs or doesn't sign the document, meant for company signatures. | Required |
signers | A list of all signers. | Required |
Email of the signer. | Required | |
note | This note will be displayed on the invite email and document signing. | Required (can be set to "") |
Base requirements - Example (see below for additional example)
{
"document_name":"name of the document",
"clientDocumentID":"23452",
"documentByteCode":"http://www.example.com/contract.pdf",
"owner_signed":false,
"signers":[
{
"email":"logged.in.user@someEmail.com"
}
],
"note":"",
"apiKey":"123455223",
}
Example response
{
signUrls:
{
email: "example@email.com",
sign_url: "http://example.com/sesssion=test"
}
}
Callback
We will make a callback to your predefined URL at each signing event.
{
email: signer@email.com,
finalDocumentURL: https://blocknify.com/finaldoc.pdf,
clientDocumentId: "Client's internal document ID",
apiKey: "1234556",
event: "signed"
}
- Email - Signers email
- finalDocumentURL - link to document with an attached audit trail if the event = complete
- apiKey - API key to authorize our access to client endpoint
- event -Signing events include signed, declined, and completed.
Post: document/newDocument - All Request Parameters
document_name | Name of the document. | Required |
clientDocumentID | Client defined ID for the document. | Required |
Must include documentByteCode or templateParameters | Required | |
documentByteCode | URL of the PDF or base64 bytecode. |
Optional (if null must include templateParameters) |
templateParameters | Generate a document based on a template |
Optional (if null must include documentByteCode) |
template_id | Blocknify will provide an ID once your template is setup | Optional |
variables | List of variable name and value | Optional |
owner_signed | True or false. owner_signed determines if the API account signs or doesn't sign the document, meant for company signatures. | Required |
signers | A list of all signers. | Required |
Email of the signer. | Required | |
-sendInviteEmail | Determines if an invite email is sent to the signer. This email will allow them to sign if they haven't done so. If the signer already signed the document, then the user will be able to view the document. | Optional (defaults to true) |
note | This note will be displayed on the invite email and document signing. | Required (can be set to "") |
apiKey | Your unique API Key. | Required |
hideBackground | True or false. hideBackground should be true if you plan to serve the URL within an iframe. This setting will change the styling to optimize for an iframe. | Optional (defaults to false) |
sendFinalEmail | True or false. sendFinalEmail will determine if the final signed email will be sent to all signers. Instead of emailing the final signed copy, we will only provide the final signed copy within our callback. | Optional (defaults to true) |
Advance example with existing document
Two signers want to be added. One is a logged-in user, and the other one is external (e.g., lawyer). Therefore, we want the logged-in user to sign the document via an iframe, and we want an invite email to go to the lawyer.
{
"document_name":"name of the document",
"clientDocumentID":"23452",
"documentByteCode":"http://www.example.com/contract.pdf",
"owner_signed":false,
"signers":[
{
"email":"logged.in.user@someEmail.com",
"sendInviteEmail": false
},
{
"email":"lawyer@someEmail.com",
}
],
"note":"Please sign the document for the contract to be executed",
"apiKey":"123455223",
"hideBackground": true,
}
Advance example with existing document
{
"document_name": "Test template",
"clientDocumentID": "Your internal document id",
"templateParameters": {
"template_id": 4,
"variables": {
"COMPANY1": "",
"NAME1": "",
"NAME2": "",
"COUNTRY": "",
}
},
"owner_signed": false,
"signers": [
{
"email": randomEmailForTestingIframe ,
"sendInviteEmail": false
},
{
"email": "example@company.com",
"sendInviteEmail": true
}
],
"note": "This is the template document you created.",
"apiKey": "your api key",
"hideBackground": true,
"sendFinalEmail": true
}