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"
}