Webhook Management

Webhooks allow your application to automatically receive real-time updates when specific events occur in the Evia Sign platform — such as when a signature request is sent, or completed.

By configuring webhooks, you can eliminate the need for polling and seamlessly automate backend processes like notifications, updates, or workflows.

Create a Webhook

This operation allows you to create a webhook in Evia Sign by submitting your callback URL and subscribing to specific event types. Once created, Evia Sign will send structured payloads to your URL every time a selected event is triggered.

Request URL

POST/api/v2/webhooks

This is the request URL used to create and subscribe a new webhook.

Your application must include the destination URL (url) and specify one or more event types (events) it wants to subscribe to.

Required Headers

These headers are essential for authorizing the request and ensuring the server processes the payload correctly.

Header
Required
Description

Authorization

✅ Yes

Bearer token obtained from the OAuth 2.0 flow

Content-Type

✅ Yes

Must be set to application/json

Request Body Schema

The structure used to define your webhook’s behavior — including where the data should be sent and which events to listen for.

{
  "url": "https://yourdomain.com/callback",
  "events": ["request.sent", "request.completed"]
}

This payload defines:

  • The public HTTPS where Evia Sign will send updates.

  • The events your system wants to subscribe to.

Field Descriptions

Details about the fields expected in the request body — so developers understand what to send and why it matters.

Field
Type
Required
Description

url

string

✅ Yes

Your HTTPS endpoint to receive event notifications. Must be publicly accessible.

events

array

✅ Yes

List of event types to subscribe to (see supported events).

Supported Events

A list of available webhook event types that can be subscribed to. These determine what kinds of changes will trigger a callback to your server.

Event Name
Description

request.sent

Triggered when a signature request has been received.

request.completed

Triggered when all required signatures are completed.

Example: Create a Webhook

A ready-to-use payload sample that shows how to submit a webhook creation request.

{
  "url": "https://webhooks.yourdomain.com/evia-sign",
  "events": ["request.sent", "request.completed"]
}

Event Payloads

Illustrates what your server will receive when each subscribed event occurs. Useful for developers to prepare their endpoint to handle incoming data correctly.

request.sent

{
  "Name": "Jane Doe",
  "Email": "[email protected]",
  "Subject": "Contract.pdf",
  "Link": "https://evia.enadocapp.com/sign/#/sign/abc123"
}
Field
Type
Description

Name

string

Name of the participant (initiator or signer).

Email

string

Email address of the recipient.

Subject

string

Title or filename of the document.

Link

string

Direct signing URL.


request.completed

{
  "RequestId": "abc123",
  "Status": "Completed"
}
Field
Type
Description

RequestId

string

Unique ID of the completed signature request.

Status

string

Final status (Completed, Cancelled, etc.).

Delete a Webhook

Describes how to remove an existing webhook subscription when it’s no longer needed

Request URL

DELETE /api/v2/webhooks/webhookID

Replace webhookId with the actual ID of the webhook to be deleted.

Possible Errors and How to Handle Them

A quick-reference table to help developers troubleshoot issues like malformed payloads, missing tokens, or duplicate registrations.

Status Code
Error Message
Explanation

400

Bad Request

The request body is malformed or missing required fields.

401

Unauthorized

Access token is missing or expired.

404

Webhook Not Found

The given webhook ID does not exist.

Last updated

Was this helpful?