API reference · Native API (v1)
Create a webhook (native event names)
POST
https://api.pidgely.com/v1/webhooksCreates a webhook with native event names (email.queued, email.deferred, email.unsubscribed, email.canceled, domain.status_changed, account.status_changed, …). An empty events list subscribes to every event. See Webhooks.
Authorization: Bearer pdg_…. An API key with the full scope.
Body parameters
JSON object.
| Name | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | Public https URL that receives the events. |
events |
string[] | No | Event types to subscribe to, for example email.delivered. See Webhooks. |
Request
curl -X POST 'https://api.pidgely.com/v1/webhooks' \
-H "Authorization: Bearer $PIDGELY_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"url": "https://acme.com/webhooks/pidgely",
"events": [
"email.delivered",
"email.bounced"
]
}'Response
201 Created with a JSON object.
Errors
Native routes return {"error": {"code", "message", "field", "request_id"}}. See Errors.
| Status | Code | When |
|---|---|---|
| 401 | missing_api_key |
No Authorization: Bearer header. |
| 403 | invalid_api_key, insufficient_scope |
The key is invalid or lacks the scope. |
| 404 | not_found |
The resource does not exist in this account. |
| 422 | validation_error |
A field is missing or invalid; field names it. |
| 429 | rate_limited, daily_quota_exceeded |
Too many requests, or the quota is used up. |