Webhooks
You can register up to three webhook URLs per token. They are set independently and stored on the token.
POST/webhooks/sent-webhook-url
POST/webhooks/signed-webhook-url
POST/webhooks/completed-webhook-url
| Endpoint | Sets |
|---|---|
POST /webhooks/sent-webhook-url | URL called when a submission is sent (created) |
POST /webhooks/signed-webhook-url | URL called when a signer signs or refuses |
POST /webhooks/completed-webhook-url | URL stored for completed events |
Delivery
- Method:
POSTto the registered URL. - Body: JSON — the relevant submission / signer payload merged with the event metadata below.
webhook payload
{
"event": "signed",
"userTokenId": "12",
"submissionId": "345",
"webhookUrl": "https://your-app.example.com/webhooks/digit"
}The event field is one of sent, signed or refused. The remaining submission / submission-sending fields are merged into the same object.
Event triggers
sent— fired after a successfulPOST /signatures(usessentWebhookUrl).signed— fired when a signer completes signing (usessignedWebhookUrl).refused— fired when a signer rejects (usessignedWebhookUrl).
📘
Delivery is best-effort with no retries and no signing-secret mechanism. Success or error is recorded in the webhook history. Webhook URLs are stored in a 255-character column and truncated to 255 characters when recording history.