Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

Create Webhook

The signing secret is returned in this response only. Up to 25 webhooks per workspace.
body urlstringrequired
Public https URL that accepts POST requests. Private, loopback, and DealMachine addresses are refused.
body event_typesarrayrequired
Types to send, e.g. ["prospect.added"], ["prospect.*"], or ["*"]. See Events.
body descriptionstring
Up to 255 characters.
body batch_maxintegerdefault: 50
Most events per request, 1 to 100.
body include_contactsbooleandefault: false
Include phone numbers and emails on person prospects.
Request example
curl -X POST "https://api.v2.dealmachine.com/v1/webhooks" \ -H "Authorization: Bearer dm_sk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com/hooks/dealmachine", "event_types": ["prospect.added", "prospect.lifecycle_changed"], "description": "CRM sync" }'
Response example
{ "data": { "id": "whk_12", "url": "https://example.com/hooks/dealmachine", "description": "CRM sync", "event_types": ["prospect.added", "prospect.lifecycle_changed"], "consumer": "custom", "batch_max": 50, "include_contacts": false, "is_active": true, "disabled_reason": null, "disabled_at": null, "secret": "whsec_3kP9…k9Qz", "secret_last4": "k9Qz", "previous_secret_expires_at": null, "health": { "consecutive_failures": 0, "failing_since": null, "last_success_at": "2026-08-26T16:21:03.000Z", "last_failure_at": null, "last_response_status": 200 }, "created_at": "2026-08-26T10:00:00.000Z", "updated_at": "2026-08-26T10:00:00.000Z" } }