Agreements
Create and track a document package through draft, delivery, signing and completion.
DEVELOPER CENTER · PREVIEW
A practical integration overview for product and engineering teams. Endpoint names and payloads shown here are illustrative until your production specification is issued.
API MODEL
The eSigner integration model is organised around agreements, recipients and events. Your application creates an agreement, routes it to signers and listens for authoritative status changes.
Create and track a document package through draft, delivery, signing and completion.
Define signers, reviewers and routing order for each agreement.
Receive webhook notifications when an agreement or recipient changes state.
Use a server-side integration. Never expose credentials in browser or mobile application code.
Your onboarding package will provide the current authentication method and environment details. The bearer token below is an illustrative placeholder.
Authorization: Bearer YOUR_SERVER_TOKENSend the document reference, recipients and routing settings from your secure backend.
POST /v1/agreements
{
"title": "Service Agreement",
"document_id": "doc_8R2K",
"recipients": [{
"email": "signer@example.com",
"role": "signer",
"order": 1
}]
}Persist the returned agreement ID and treat verified webhook events as the source for asynchronous state changes.
The final production specification may expose a subset or variation of these operations depending on your plan and region.
/v1/agreements/v1/agreements/{agreement_id}/v1/agreements/{agreement_id}/send/v1/agreements/{agreement_id}/cancelAcknowledge valid events quickly, process them idempotently and move longer work to a queue. Verify the signing secret and event timestamp before trusting a payload.
| Event | Meaning | Recommended action |
|---|---|---|
agreement.sent | The invitation flow has started. | Update your internal workflow state. |
recipient.completed | A recipient has completed their assigned action. | Record the actor and completion time. |
agreement.completed | All required actions are complete. | Fetch or link the final record when available. |
agreement.declined | A recipient declined to proceed. | Notify the agreement owner and stop dependent work. |
Design for safe retries. Supply an idempotency key for create operations when supported, and use exponential backoff for temporary failures.
| Status | Use | Client action |
|---|---|---|
400 | Invalid request | Correct the payload before retrying. |
401 / 403 | Authentication or access failure | Refresh credentials or review scope. |
404 | Resource not found | Confirm the environment and resource ID. |
409 | State conflict | Fetch current state before deciding whether to retry. |
429 | Rate limited | Respect the retry interval and back off. |
5xx | Temporary service issue | Retry safely with backoff and alert after a threshold. |
Production credentials are provided only after commercial and technical review. Tell us your use case, expected volume, markets and preferred launch date.