Receive your first webhook.
Create a webhook endpoint, send a test event, and inspect its delivery through the Webhook Safe API.
1. Create an endpoint
Use a management API token to create an endpoint. Set BASE_URL to your Webhook Safe Cloud deployment URL and API_TOKEN to your configured management API token.
Replace the example destination with your own publicly reachable HTTPS webhook receiver.
curl -X POST "$BASE_URL/v1/endpoints" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": "my-first-webhook",
"name": "My first webhook",
"destinationUrl": "https://your-app.example/webhooks",
"provider": "generic"
}'A successful request returns HTTP 201 Created with the endpoint configuration. The response does not include a signing secret.
2. Send a test webhook
Send a JSON payload to the endpoint's public ingestion URL. This example uses a generic endpoint without a signing secret, so no signature header is required.
curl -X POST "$BASE_URL/v1/webhooks/my-first-webhook" \
-H "Content-Type: application/json" \
-d '{"type":"example.created","id":"evt_123"}'This unsigned configuration is suitable for initial testing. For production integrations, configure a signing secret and provide a valid x-webhook-signature header.
3. Inspect delivery events
Retrieve the events received by your endpoint:
curl "$BASE_URL/v1/endpoints/my-first-webhook/events?limit=20" \
-H "Authorization: Bearer $API_TOKEN"The response contains an events array and a nextCursor value for pagination. When no further page is available, nextCursor is null.
4. Inspect an individual event
Copy an event ID from the previous response and retrieve its details and delivery attempts:
curl "$BASE_URL/v1/events/EVENT_ID" \
-H "Authorization: Bearer $API_TOKEN"Event details include the original payload encoded as Base64, delivery status, and individual delivery attempts with response codes and error information.