Skip to main content

Create your first Notarization

Authentication Methods​

ACCESS TOKEN​

To use eNotaryLog’s API, you have to send a valid Access Token in the Authorization header, using the Bearer authentication scheme. If you do not have a valid Access Token, please reach out to your account representative.

In This Tutorial You Will​

  • Create a new notarization session

API Documentation​

Our API documents are located here

Creating your first Notarization Session​

In this section, we’ll create your first notarization session with ONE document and ONE signer.

The following configurable variables will be turned on for this notarization session:

  • KBA Required
  • Credential Analysis Required
  • No Expiration Date on Session

Steps​

  1. Upload Documents
  2. Create Notarization

Upload Documents​

Request

// POST /documents/upload
// Content-type: multipart/form-data

Response

Save the docId and gcsRefId for the next Call

{
"data": [
{
"docId": "1c51ca5d-8a52-4707-8743-9649d9a32818",
"gcsRefId": "1c51ca5d-8a52-4707-8743-9649d9a32818/template_test.pdf"
}
]
}

Examples

curl

curl --location 'https://public-api.enotarylog.com/documents/upload' \
--header 'Authorization: Bearer <accessToken>' \
--form 'files=@"/Users/james/Downloads/myfiled2.pdf"' \
--form 'files=@"/Users/james/Downloads/myfile1.pdf"'

axios

const axios = require("axios");
const FormData = require("form-data");
const fs = require("fs");
let data = new FormData();
data.append("files", fs.createReadStream("/Users/james/myfile1.pdf"));
data.append("files", fs.createReadStream("/Users/james/myfile2.pdf"));

const config = {
method: "post",
url: "https://public-api.enotarylog.com/documents/upload",
headers: {
Authorization: "Bearer <accessToken>",
...data.getHeaders(),
},
data: data,
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

Create Notarization​

Request

// POST /notarizations

Parameters

  • docs (array of objects) - An array of objects containing the docId and gcsRefId from the document upload step.
  • signers (array of objects) - An array of signer objects with the signer's information.
  • notaryQueue (boolean) - If set to true, the notarization session will be assigned to the organization's notary queue.
  • kba (boolean) - If set to true, Knowledge Based Authentication will be required for signers.
  • credentialAnalysis (boolean) - If set to true, signers will be required to submit a photo ID for credential analysis.

Example Request Body

{
"notarizationType": "ron",
"witnesses": 0,
"assignTo": {
"organizationId": null,
"notaryId": null
},
"externalId": null,
"primarySigner": {
"id": "{generate a unique UUID - use this in your tags if you have those}",
"email": "user.email",
"firstName": "user.firstName",
"middleName": null,
"lastName": "user.lastName",
"kbaRequired": true,
"credAnalysisRequired": true,
"externalId": null
},
"notifyParticipants": {
"email": true
},
"notificationEmails": [
"{email of additional people you want notifiied about the transaction status updates}"
],
"documents": [
{
"docId": "{docId from the upload endpoint}",
"title": "title of the document",
"gcsRefId": "{gcsRefId from the upload endpoint}",
"description": "description for the document",
"tags": []
}
],
"taggingOrganizationId": null
}

Example Response Body

{
"data": {
"id": "cf402285-ba57-4380-83e7-d48d63480c37",
"notarizationType": "ron",
"status": "pending_verification",
"witnesses": 0,
"scheduleDate": null,
"externalId": null,
"startTime": null,
"endTime": null,
"duration": null,
"expiresAt": null,
"notificationEmails": [],
"notifyParticipants": {
"email": true
},
"assignTo": {
"organizationId": "8d976a23-b865-4fcd-9165-ddc0aedaf614",
"notaryId": null
},
"primarySigner": {
"id": "d0e2eb61-54bd-4905-9f2d-a40cc48af131",
"pinCode": "26940",
"sessionLink": "https://enlapp.page.link/bAwbiZt41fTmm7UB6",
"kbaRequired": true,
"credAnalysisRequired": true,
"inPersonIdv": false,
"firstName": "firstName",
"middleName": null,
"lastName": "lastName",
"email": "signerone@someemail.com",
"phone": "undefined",
"address1": null,
"address2": null,
"city": null,
"state": null,
"zip": null
},
"participants": [],
"documents": [
{
"docId": "d0e2eb61-54bd-4905-9f2d-a40cc48af13b",
"gcsRefId": "d0e2eb61-54bd-4905-9f2d-a40cc48af13b/Document To Notarize.pdf",
"title": "title of the document",
"description": "description for the document",
"tags": ""
}
]
}
}

Examples

curl

curl --location 'https://public-api.enotarylog.com/notarizations' \
--header 'Authorization: Bearer <accessToken>' \
--header 'Content-Type: application/json' \
--data-raw '{
"notarizationType": "ron",
"witnesses": 0,
"assignTo": {
"organizationId": null,
"notaryId": null
},
"externalId": null,
"primarySigner": {
"id": "{generate a unique UUID - use this in your tags if you have those}",
"email": "user.email",
"firstName": "user.firstName",
"middleName": null,
"lastName": "user.lastName",
"kbaRequired": true,
"credAnalysisRequired": true,
"externalId": null
},
"notifyParticipants": {
"email": true
},
"notificationEmails": [
"{email of additional people you want notifiied about the transaction status updates}"
],
"documents": [
{
"docId": "{docId from the upload endpoint}",
"title": "title of the document",
"gcsRefId": "{gcsRefId from the upload endpoint}",
"description": "description for the document",
"tags": []
}
],
"taggingOrganizationId": null
}'

axios

const axios = require("axios");

const data = {
notarizationType: "ron",
witnesses: 0,
assignTo: {
organizationId: null,
notaryId: null,
},
externalId: null,
primarySigner: {
id: "{generate a unique UUID - use this in your tags if you have those}",
email: "user.email",
firstName: "user.firstName",
middleName: null,
lastName: "user.lastName",
kbaRequired: true,
credAnalysisRequired: true,
externalId: null,
},
notifyParticipants: {
email: true,
},
notificationEmails: [
"{email of additional people you want notifiied about the transaction status updates}",
],
documents: [
{
docId: "{docId from the upload endpoint}",
title: "title of the document",
gcsRefId: "{gcsRefId from the upload endpoint}",
description: "description for the document",
tags: [],
},
],
taggingOrganizationId: null,
};

const config = {
method: "post",
url: "https://public-api.enotarylog.com/notarizations",
headers: {
Authorization: "Bearer <accessToken>",
"Content-Type": "application/json",
},
data: data,
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

Once the create notarization call has returned successfully, the signers will receive emails for their notarization session.

Conclusion​

In this tutorial, you learned how to use the Notarization API to notarize documents. We covered the following steps:

  1. Authenticate with the eNotaryLog API
  2. Upload a document
  3. Request notarization

By following these steps, you can create a robust application that leverages the Notarization API to securely and efficiently notarize documents for your users.