Returns the signing secret, once. Verify each delivery's webhook-signature with it.
Parameters
No parameters.
Responses
- 201
- CreatedWebhook
- Successful Response
- 401
- ProblemDetail
credential_missing,credential_invalidorcredential_expired: send a live API key asAuthorization: Bearer <key>.- 402
- ProblemDetail
quota_exhausted: the balance can't cover the call. Nothing was charged and nothing was returned.- 403
- ProblemDetail
scope_missing,person_requiredorentitlement_missing: this credential or plan can't do this.detailsays which.- 404
- ProblemDetail
no_such_resource: nothing has that id.- 409
- ProblemDetail
version_conflict: the record changed since you read it. Read it again and resend.- 422
- ProblemDetail
parameter_invalid,id_malformedor a cursor code: a parameter's value isn't one this operation takes.- 429
- ProblemDetail
rate_limited: wait forRetry-After, then send it again. Not charged.
Example request
curl -X POST 'https://api.placestack.com/webhook' \
-H 'Authorization: Bearer $PLACESTACK_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"url": "<Url>",
"event_type": [
"ping"
],
"name": "string",
"active": true,
"retry_policy": {
"max_attempt": 12,
"backoff": "exponential",
"base_seconds": 60,
"jitter": true,
"dead_letter_after_hours": 24
}
}'Request body
WebhookBody
{
"url": "<Url>",
"event_type": [
"ping"
],
"name": "string",
"active": true,
"retry_policy": {
"max_attempt": 12,
"backoff": "exponential",
"base_seconds": 60,
"jitter": true,
"dead_letter_after_hours": 24
}
}Example response
{
"object": "webhook",
"id": "whk_01h455vb4pex5vsknk084sn02q",
"name": "string",
"url": "<Url>",
"event_type": [
"ping"
],
"active": true,
"secret_fingerprint": "<Secret Fingerprint>",
"retry_policy": {
"max_attempt": 12,
"backoff": "exponential",
"base_seconds": 60,
"jitter": true,
"dead_letter_after_hours": 24
},
"created_at": "2026-09-13T12:00:00Z",
"updated_at": "2026-09-13T12:00:00Z",
"href": "<Href>",
"secret": "<Secret>"
}