MaxSignatures API v3.0

RESTful MaxSignatures API. Digital Signature tool using Hard Security Module Cryptographic functions.

Authentication

Access Token is required in order to access MaxSignatures API functions. Click here for OAuth2 authentication instruction.
Put a valid Access Token in each HTTP Request Header:
Authorization: Bearer {access_token}

Endpoints

FunctionEndpoint
Save
POST http://api.maxmddirect.com/maxsig/pdf

Post a PDF document to server and get identifier in response. The document will be deleted after 4 hours if no activity. The identifier will the required for other functions.

Sample Codes:
GetDoc
GET http://api.maxmddirect.com/maxsig/pdf/{identifier}

Download the document. The response is in base64 encoded format (text/plain)

Sample Codes:
GetDocInfo
GET http://api.maxmddirect.com/maxsig/pdf/{identifier}/info

Get metadata including document pages, signatures, forms and attributes.

Sample Codes:
Delete
DELETE http://api.maxmddirect.com/maxsig/pdf/{identifier}

Delete the document.

Sample Codes:
Flatten
PATCH http://api.maxmddirect.com/maxsig/pdf/{identifier}/flatten

Flatten PDF form.

PATCH http://api.maxmddirect.com/maxsig/pdf/{identifier}/flatten/pull

Flatten PDF form and pull document raw data.

Sample Codes:
ClearUnsignedFields
PATCH http://api.maxmddirect.com/maxsig/pdf/{identifier}/clearUnsignedFields

Remove unsigned empty signature fields.

PATCH http://api.maxmddirect.com/maxsig/pdf/{identifier}/clearUnsignedFields/pull

Remove unsigned empty signature fields and pull document raw data.

Sample Codes:
Sign
PATCH http://api.maxmddirect.com/maxsig/pdf/{identifier}/sign

Create Digital Signature;

PATCH http://api.maxmddirect.com/maxsig/pdf/{identifier}/sign/pull

Create Digital Signature and pull document raw data;

Sample Codes:
MultiSign
PATCH http://api.maxmddirect.com/maxsig/pdf/{identifier}/multiSign

Create Digital Multiple Signature;

PATCH http://api.maxmddirect.com/maxsig/pdf/{identifier}/multiSign/pull

Create Digital Multiple Signature and pull document raw data.

Sample Codes:

HTTP Request Header

Authorization: Bearer {accessToken}

Content-Type: application/json

Request Body

Function Name (Request Format)NameTypeDescription
Save (text/plain)PDF Content String Plain text of PDF content data with base64 encoded
Sign (application/json)name String Name of the signature
widget WidgetObject Signature position details
x Integer X axis
y Integer Y axis
width Integer Width of signature box
height Integer Height of signature box
page Integer Page index
pageHeight Integer Page height
reason String Reason to sign the document
gsName String Signer name
timezone String Signer timezone
GMTOffset Integer GMT Offset
graphicalSignature Base64 Encoded String Graphical signature data with base64 encoded
MultiSign (application/json)Signatures SignatureObject[] List of signature objects
name String Name of the signature
widget WidgetObject Signature position details
x Integer X axis
y Integer Y axis
width Integer Width of signature box
height Integer Height of signature box
page Integer Page index
pageHeight Integer Page height
reason String Reason to sign the document
gsName String Signer name
timezone String Signer timezone
GMTOffset Integer GMT Offset
graphicalSignature Base64 Encoded String Graphical signature data with base64 encoded

HTTP Response Code

HTTP Code Description
200 Success.
400 Bad Request. Invalid action. Or some parameter is missing or invalid.
401 Unauthorized. No valid access token is found at request.
403 Forbidden. Permission denied for the requested action
404 Endpoint is not found
500 Server Error.

Error Response Body (format: application/json)

NameTypeDescription
error String Error message
description String Error description

Success Response Body (format: application/json)

Function Name (Response Format)NameTypeDescription
Save (application/json)documentType String Document Type
createdTime Timestamp Document save timestamp
identifier String Document unique ID used to do all document actions and retrieve document information
documentDigest String Document Digest to identify document update.
description String Description
GetDoc (text/plain)PDF Content String Plain text of PDF content data with base64 encoded
GetDocInfo (application/json)signaturesSignatureObject[]List of signature objects
signatureTime Timestamp signature timestamp
signer String Signer name
signerCn String Signer common name in certificate
signerEmail String Signer email
signerSubject String Signer subject included CN and OU
issigned Integer 1 for signed and 0 for unsigned
reason String Signing reason
status String Valid or other value
name String Signature name
pageIndex Integer Signature page index
top Integer Signature position: distance to top of page
left Integer Signature position: distance to left of page
width Integer Width of signature box
Height Integer Height of signature box
formFieldsFormFieldObject[]list of form field objects
pagesPageObject[]List of page objects
rotateIntegerRotate degree of current page
widthIntegerWidth of current page
heightIntegerHeight of current page
indexIntegerIndex of current page
metaDataMetaDataObjectMetadata of document
CreationDateDateDocument created date
ProducerStringOffice tool that the document was created by
AuthorStringAuthor of the document
TitleStringTitle of the document
CreatorStringCreator of the document
ModDateDateDocument last modified date
documentTypeStringDocument Type
createdTimeTimestampDocument created timestamp
identifierStringDocument unique ID used to do all document actions and retrieve document information
documentDigestStringDocument Digest to identify document update.
descriptionStringDescription
Delete (application/json)documentDigestStringEmpty digest because the docuemnt has been deleted
descriptionStringDescription
Flatten, ClearUnsignedFields, Sign, MultiSign [no pull] (application/json)documentDigestStringDocument Digest to identify document update.
descriptionStringDescription
Flatten, ClearUnsignedFields, Sign, MultiSign [with pull] (text/plain)PDF Content String Plain text of PDF content data with base64 encoded