Api

Create Webhook Endpoint

POST
/v1/webhook-endpoints

Subscribes a URL to webhook events of the Project (decision 0052). An automation app subscribes with it and unsubscribes with DELETE. The endpoint keeps the current apiVersion. Its fulfillmentMode is on_delivery by default: a 2xx other than 202 to reward.earned records the Reward's fulfillment. Use explicit when the receiver confirms each grant through POST /v1/rewards/{rewardId}/fulfillment. The URL must use https and reach a public address.

Authorization

WorkspaceApiKey
X-Api-Key<token>

Workspace-owned Better Auth API key of one environment (Sandbox or Live); it authorizes the Projects of that environment in its Workspace. A Project of the other environment returns 403 ENVIRONMENT_MISMATCH. Never expose it in the browser.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/webhook-endpoints" \  -H "Content-Type: application/json" \  -d '{    "projectId": "string",    "url": "http://example.com"  }'
{  "endpoint": {    "id": "string",    "projectId": "string",    "url": "string",    "description": "string",    "eventTypes": [      "participant.created"    ],    "apiVersion": "2026-10-04",    "fulfillmentMode": "on_delivery",    "enabled": true,    "createdAt": "string"  },  "secret": "string",  "success": true}