Authenticate requests with your Delighted API key using HTTP Basic Auth (key as username, empty password) against https://api.delighted.com/v1
POST /v1/people.json with email (or sms phone_number), name, and custom properties map to enroll a person and optionally trigger a survey send immediately
Set send=true in the request body and specify delay in seconds if you want the survey to fire a set time after ticket closure rather than immediately
Configure a webhook via POST /v1/hooks.json with an HTTPS endpoint URL and event type set to survey_response to receive real-time response notifications
Parse webhook payloads — each includes person (email, name, properties), score (0-10 NPS value), comment, and created_at fields
GET /v1/survey_responses.json?since={unix_timestamp}&per_page=100 to paginate and retrieve all responses for batch reporting, ordered oldest-first
Known gotchas
Delighted enforces a survey throttle per person — re-enrolling the same email within the throttle window (configurable, often 30-90 days) will silently skip the send without error; check last_sent timestamp via GET /v1/people/{id}.json before enrolling
Custom properties set at enrollment time are carried through to the webhook payload and response records — use consistent property key naming across your ticketing and survey systems or reporting joins will break
Webhook delivery is not guaranteed to be in order; responses submitted close together may arrive out of sequence — use the created_at field to deduplicate and order records rather than relying on arrival order
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