This article will walk you through the process of sending a document for signature using the Sign.Plus eSignature API.
Following these steps, you will create an envelope, add a document, set a recipient, insert a signature annotation, and finally send the envelope for signature.
Prerequisites
- A Sign.Plus account with an API Plan
- Your
Personal Access Token
Step 1: Create an Envelope
An envelope is a container for documents to be signed by recipients.
- Send a request to the POST /v2/envelope endpoint to create a new envelope.
{
"name": "My wonderful envelope",
"flow_type": "REQUEST_SIGNATURE",
"legality_level": "SES",
"expires_at": 1831280113,
"sandbox": true
} - Include your API key in the
Authorization
header. -
On success, you'll receive an
Envelope
object.{ "id": "<string>" ... }
-
Save the
id
as theenvelope_id
Step 2: Add a document to your envelope
-
Use the POST /v2/envelope/{envelope_id}/document endpoint to add a document.
-
Replace
{envelope_id}
with the ID you received in Step 1. - Send a POST request with the document file in the request body as
multipart/form-data.
-
On success, you'll receive a
Document
object as a response.{ "id": "<string>" ... }
-
Save the
id
as thedocument_id
for later.
Step 3: Set a recipient for your envelope
-
Use the POST /v2/envelope/{envelope_id}/signing_steps endpoint to add a recipient.
-
Replace
{envelope_id}
with your envelope ID. -
Send a
POST
request with the following JSON body:{
"signing_steps": [
{
"recipients": [
{
"name": "John Doe", "email": "john.doe@example.com", "role": "SIGNER"
} ] } ] } -
On success, you'll receive an array of
SigninStep
. -
Browse the array and take the
id
name of the recipient for which you want to add the signature frame (signature annotation). Save thisid
as therecipient_id
.
Step 4: Insert a signature annotation in your document
Before adding a signature annotation, make sure you've defined your signature in the Sign.Plus platform.
- Use the POST /v2/envelope/{envelope_id}/annotation endpoint to add a signature annotation.
- Replace
{envelope_id}
with your envelope ID. - Send a
POST
request with the following JSON body:{
"recipient_id": "<recipient_id>",
"document_id": "<document_id>",
"page": 1,
"x": 50,
"y": 20,
"width": 20,
"height": 60,
"required": true,
"type": "SIGNATURE",
}Replace
<recipient_id>
and<document_id>
with the appropriate values.
Step 5: Send your envelope for signature
- Use the POST /v2/envelope/{envelope_id}/send endpoint to send the envelope.
- Replace
{envelope_id}
with your envelope ID. - Send a
POST
request to this endpoint. - On success, the envelope will be sent to the recipient for signature.
Conclusion
You've now successfully sent a document for signature using the Sign.Plus eSignature API. The recipient will receive an email notification with a link to sign the document.
For more detailed information on each API endpoint used in this process, please refer to our API documentation.