> **Source:** https://knowledge.leegality.com/document-execution/api/signer-signs-document > **Site:** Leegality Knowledge Base — https://knowledge.leegality.com > **About:** Leegality is a document execution platform covering eSigning, stamps, NeSL, workflows, and REST API integration. > **Navigation:** Every article on this site has a plain-text version at `.txt` (this format). To get an index of all articles with their `.txt` links, read: https://knowledge.leegality.com/llms.txt > **AI Guide:** For instructions on how to navigate this knowledge base as an AI agent, read: https://knowledge.leegality.com/ai-readable.txt --- # WEBHOOK /your-webhook-endpoint/signer-signs — Invitee Signed Fires when a signer successfully completes a signing action. Delivered to the **Webhook URL** configured on the invitee in the workflow. **Authentication:** `X-Auth-Token` header required on every request. ## Request URL ``` WEBHOOK https://app1.leegality.com/api/your-webhook-endpoint/signer-signs ``` **Environments:** - Production: `https://app1.leegality.com/api/your-webhook-endpoint/signer-signs` - Sandbox: `https://sandbox.leegality.com/api/your-webhook-endpoint/signer-signs` --- ## Request Body **Content-Type:** `application/json` | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `webhookType` | string | No | Indicates whether this is a success or error event. Allowed: `Success`, `Error`. | `Success` | | `documentId` | string | No | The unique Leegality document ID. Use with the [Details API](https://knowledge.leegality.com/document-execution/api/check-document-details) to fetch full document information. | `01KMFEE9T8WPY0WPWXQHQ7DTJ2` | | `documentStatus` | string | No | The document's status at the time of this event. - `"Sent"` — one or more invitees are still pending. - `"Completed"` — all invitees have acted. Allowed: `Draft`, `Sent`, `Completed`. | `Sent` | | `irn` | string | No | Internal Reference Number from the original eSigning request. | `null` | | `mac` | string | No | HMAC-SHA1 of `documentId` using your Private Salt. Use to [verify the webhook](https://knowledge.leegality.com/document-execution/api/webhooks/verify-webhook-request). | `6b736eb163fba3983a0348bc05ffad62a6cbaea1` | | `messages` | array | No | An array of event messages. | `` | | `verification` | object | No | Certificate verification results. Present as an object when verification is configured, regardless of outcome. - **No verification configured** — all fields are `null`. - **Verification configured** — each field is `true` (match), `false` (mismatch), or `null` (that field not configured). `smartName` is an integer (0–100). If the department is set to **"Reject if failed"**, a mismatch triggers the [Certificate Verification Failed](https://knowledge.leegality.com/document-execution/api/certificate-verification-failed) event instead. If set to **"Accept but show results"**, signing proceeds and results appear here. See **verification** below. | — | | `request` | object | No | Details about the invitee associated with this webhook event. See **request** below. | — | #### verification Certificate verification results. Present as an object when verification is configured, regardless of outcome. - **No verification configured** — all fields are `null`. - **Verification configured** — each field is `true` (match), `false` (mismatch), or `null` (that field not configured). `smartName` is an integer (0–100). If the department is set to **"Reject if failed"**, a mismatch triggers the [Certificate Verification Failed](https://knowledge.leegality.com/document-execution/api/certificate-verification-failed) event instead. If set to **"Accept but show results"**, signing proceeds and results appear here. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `name` | boolean | No | Whether the invitee's name matched the certificate. - `true` — match - `false` — mismatch - `null` — not configured | `null` | | `smartName` | integer | No | Name similarity score against the certificate (0–100). `0` = no match, `100` = exact match. `null` if not configured. | `null` | | `pincode` | boolean | No | Whether the invitee's pincode matched the certificate. - `true` — match - `false` — mismatch - `null` — not configured | `null` | | `state` | boolean | No | Whether the invitee's state matched the certificate. - `true` — match - `false` — mismatch - `null` — not configured | `null` | | `title` | boolean | No | Whether the invitee's title matched the certificate. - `true` — match - `false` — mismatch - `null` — not configured | `null` | | `yob` | boolean | No | Whether the invitee's year of birth matched the certificate. - `true` — match - `false` — mismatch - `null` — not configured | `null` | | `gender` | boolean | No | Whether the invitee's gender matched the certificate. - `true` — match - `false` — mismatch - `null` — not configured | `null` | #### request Details about the invitee associated with this webhook event. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `inviteeType` | string | No | The role of the invitee in the workflow. Allowed: `Signer`. | `Signer` | | `name` | string | No | The full name of the invitee. | `Abhishek Sharma` | | `email` | string | No | The email address of the invitee. | `abhishek@example.com` | | `phone` | string | No | The phone number of the invitee. | `null` | | `invitationUrl` | string | No | The URL for this invitee to sign or review the document. | `https://sandbox.leegality.com/sign/uuid-here` | | `active` | boolean | No | Indicates whether it is this invitee's turn to act in the signing sequence. | `true` | | `action` | string | No | The action taken by the invitee. Allowed: `Signed`. | `Signed` | | `error` | string | No | Error message for this event. | `null` | | `expired` | boolean | No | Indicates whether the invitation has been terminated. | `false` | | `expiryDate` | string | No | The date and time the invitation is configured to expire. Format: `dd-MM-yyyy HH:mm:ss`. | `03-04-2026 23:59:59` | | `rejectionMessage` | string | No | The rejection reason provided by the invitee. | `null` | | `signType` | string | No | The signature method used. - `AADHAAR` - `VIRTUAL_SIGN` - `QUICK_SIGN` - `DSC` - `NESL_SIGN` - `OFFLINE_SIGN` - `DOC_SIGNER` - `AUTOMATED_SIGN` Allowed: `AADHAAR`, `VIRTUAL_SIGN`, `QUICK_SIGN`, `DSC`, `NESL_SIGN`, `OFFLINE_SIGN`, `DOC_SIGNER`, `AUTOMATED_SIGN`. | `AADHAAR` | ### Sample Request ```json { "webhookType": "Success", "documentId": "01KMFEE9T8WPY0WPWXQHQ7DTJ2", "documentStatus": "Sent", "irn": null, "mac": "6b736eb163fba3983a0348bc05ffad62a6cbaea1", "messages": [], "verification": { "name": null, "smartName": null, "pincode": null, "state": null, "title": null, "yob": null, "gender": null }, "request": { "inviteeType": "Signer", "name": "Abhishek Sharma", "email": "abhishek@example.com", "phone": null, "invitationUrl": "https://sandbox.leegality.com/sign/uuid-here", "active": true, "action": "Signed", "error": null, "expired": false, "expiryDate": "03-04-2026 23:59:59", "rejectionMessage": null, "signType": "AADHAAR" } } ``` --- ## Responses ### 2XX — Return any 2XX status code (200, 201, or 202) to acknowledge receipt. No specific response body is required. Any 2XX status code is accepted.