Alpha Version: SignEngine is currently in alpha testing. You need an invitation to register.
Skip to main content

Envelopes

The Envelopes API allows you to create, retrieve, update, and complete envelopes.

Create Envelope​

Creating an envelope is a multi-step process. First, you must obtain an upload URL to upload your document.

Get Upload URL​

Endpoint: POST /api/GetUploadUrl

Request Body:

{
"filename": "contract.pdf",
"mimetype": "application/pdf"
}

Response (201 Created):

{
"uploadUrl": "https://storage.blob.core.windows.net/uploads/...",
"envelopeId": "uuid-envelope-id",
"blobName": "uuid/contract.pdf"
}

Next Step: Use the uploadUrl to PUT the binary file content directly to Azure Blob Storage.

Get Envelope​

Retrieve details of a specific envelope.

Endpoint: GET /api/envelopes/{id}

Response (200 OK):

{
"id": "uuid-envelope-id",
"status": "draft",
"ownerId": "user-id",
"documentUrl": "https://...",
"signers": [],
"createdAt": "2023-...",
"updatedAt": "2023-..."
}

List Envelopes​

List all envelopes owned by the authenticated user.

Endpoint: GET /api/envelopes

Response (200 OK):

[
{
"id": "uuid-1",
"status": "sent",
...
},
{
"id": "uuid-2",
"status": "draft",
...
}
]

Update Envelope​

Update an envelope's properties, such as adding recipients or changing status.

Endpoint: PUT /api/envelopes/{id} (or PATCH)

Request Body:

{
"signers": [
{
"id": "signer-1",
"email": "[email protected]",
"name": "John Doe",
"role": "signer"
}
]
}

Response (200 OK): Returns the updated envelope object.

Complete Envelope​

Finalize the envelope, allowing the system to flatten the PDF and seal it.

Endpoint: POST /api/envelopes/{id}/complete

Response (200 OK):

{
"message": "Envelope completed",
"signedUrl": "https://storage.../signed.pdf",
"hash": "sha256-hash-of-document"
}