Register a publicly reachable HTTPS endpoint that returns HTTP 200 within a reasonable time; Acrobat Sign will disable the webhook if your endpoint fails to respond within 72 hours across retries
POST to /api/rest/v6/webhooks with a JSON body specifying name, scope (ACCOUNT, GROUP, or USER), state (ACTIVE), webhookSubscriptionEvents (e.g., AGREEMENT_WORKFLOW_COMPLETED, AGREEMENT_ALL), webhookUrlInfo.url pointing to your endpoint, and resourceType (AGREEMENT)
Handle the verification ping: on registration Acrobat Sign sends a GET to your URL with X-AdobeSign-ClientId; respond with 200 and that same client ID in the X-AdobeSign-ClientId response header
Parse incoming POST payloads; the payload is JSON with an event field (e.g., AGREEMENT_WORKFLOW_COMPLETED) and nested agreementAssetInfo containing the agreementId and current status
Use the agreementId from the payload to call GET /agreements/{agreementId} for full record details, or retrieve the signed document as needed
Known gotchas
Webhooks are disabled automatically after 72 hours of delivery failures with exponential back-off starting at 1 minute; monitor your endpoint uptime and re-enable via PATCH /webhooks/{webhookId} with state ACTIVE
Acrobat Sign requires a client-ID echo during webhook registration validation; forgetting the X-AdobeSign-ClientId response header will prevent registration from completing
Webhook payloads for REST v6 include a userId field and other recently added fields; treat the payload as additive and avoid strict schema parsing that would break on new fields
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp