Verify a webhook endpoint
POST
/v1/webhook-endpoints/{endpoint_id}/verifyLive, synchronous probe: SSRF-checks the stored URL, then POSTs a signed synthetic test request (Standard Webhooks headers; event type `webhook.verification` — NOT part of the delivery vocabulary, never persisted as a WebhookEvent) and requires a 2xx to mark the endpoint verified. This is a re-runnable probe, not a consequential write — no Idempotency-Key support (`idempotent: false`). A failure reports `verified: false` with a `reason` and does NOT unset a previously-earned verified state.
Required scopes
webhooks:write
Availability
Pro & Team plans
Quota cost
1 API call
Idempotency
Not applicable
Request
Path parameters
| Field | Type | Description |
|---|---|---|
endpoint_idrequired | string |
Response 200
The verification probe result.
Fields
| Field | Type | Description |
|---|---|---|
verifiedrequired | boolean | True when the endpoint answered the signed test request with a 2xx status. On true, the endpoint's verified state is set. |
status | integer | The HTTP status the endpoint returned, when a response was received at all (absent for a blocked/timed-out/network-failed probe). |
reason | string | Present when `verified` is false — why the probe failed. |
▸ ▾ Raw response schema
{
"type": "object",
"properties": {
"verified": {
"type": "boolean",
"description": "True when the endpoint answered the signed test request with a 2xx status. On true, the endpoint's verified state is set."
},
"status": {
"description": "The HTTP status the endpoint returned, when a response was received at all (absent for a blocked/timed-out/network-failed probe).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"reason": {
"description": "Present when `verified` is false — why the probe failed.",
"type": "string"
}
},
"required": [
"verified"
],
"additionalProperties": false,
"description": "Result of a live, synchronous verification probe. A failure does NOT unset a previously-earned verified state — only a success ever (re)sets it."
}Example request
curl
curl -X POST https://app.nowgetitdone.com/v1/webhook-endpoints/whep_a1b2c3/verify \
-H "Authorization: Bearer gid_YOUR_API_KEY"Possible errors
- 401
missing_credentialsMissing credentials - 401
invalid_api_keyInvalid API key - 401
invalid_tokenInvalid access token - 403
insufficient_scopeInsufficient scope - 403
feature_not_enabledFeature not enabled on this plan - 404
resource_not_foundResource not found - 429
rate_limitedRate limit exceeded - 429
quota_exhaustedPlan quota exhausted - 500
internal_errorInternal server error