For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Go to app
DocumentationAPI Reference
DocumentationAPI Reference
  • API Reference
    • Introduction
    • Users
    • Taskflow
    • AI Task Builder
    • Studies
    • Representative sample studies
    • study-collections
    • Filter Sets
    • Participant Groups
    • Custom Groups
    • Study Distribution
    • Submissions
    • Bonuses
    • Messages
    • Workspaces
    • Projects
    • Surveys
    • Webhooks
      • Subscribing
      • Receiving
      • Event Delivery and Retry Logic
      • Persistent Failures and Disabling Logic
      • Idempotency and the X-Event-ID Header
      • Handling event order with X-Timestamp
      • Verifying
      • GETList all subscribable event types
      • GETList all secrets
      • POSTCreate/replace a secret
      • GETList all subscriptions
      • POSTCreate a subscription
      • GETRetrieve a subscription
      • POSTConfirm a subscription
      • DELDelete a subscription
      • PATCHUpdate a subscription
      • GETGet subscription events
    • Invitations
    • Reward Recommendations
    • Testing
    • Well Known Endpoints
Go to app
LogoLogo
API ReferenceWebhooks

Idempotency and the X-Event-ID Header

|View as Markdown|Open in Claude|

X-Event-ID is added as a header to the request. It is a unique identifier assigned to each event.

  • Uniqueness: Each X-Event-ID value will be globally unique for each event that occurs.
  • Re-Delivery: Events are delivered at least once. We will redeliver events on failure due to network issues, timeouts and listener errors. The X-Event-ID will remain the same across retries.
  • Idempotent Processing: We recommend that you use the X-Event-ID to handle events in an idempotent way. If you encounter the same X-Event-ID again, simply skip and acknowledge the duplicate event rather than processing it a second time.
Was this page helpful?
Previous

Persistent Failures and Disabling Logic

Next

Handling event order with X-Timestamp