Send a test event to a webhook endpoint
POST
/v1/webhook-endpoints/{endpoint_id}/test-eventSends a synchronous, signed sample of a REAL event type (default `task.created`, using a representative sample task payload in the same TaskDto shape real deliveries carry) directly to the endpoint's URL and returns the immediate HTTP outcome. Does NOT create a queued WebhookDelivery row and never appears in the delivery log — it is a live probe, not a domain event. Re-runnable; no Idempotency-Key support.
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 |
Request body
| Field | Type | Description |
|---|---|---|
event_type | "task.created" | "task.updated" | "task.archived" | One of the frozen domain event types an endpoint can subscribe to. |
▸ ▾ Raw request schema
{
"type": "object",
"properties": {
"event_type": {
"description": "Which sample event to send. Defaults to `task.created`.",
"$ref": "#/components/schemas/WebhookEndpointEventType"
}
},
"description": "Optional choice of which sample event type to send."
}Response 200
The immediate delivery outcome.
Fields
| Field | Type | Description |
|---|---|---|
outcomerequired | "delivered" | "blocked" | "redirect_blocked" | "request_failed" | "timeout" | The immediate outcome of the synchronous test POST. |
status | integer | The HTTP status returned, when a response was received. |
duration_msrequired | integer | Wall-clock time the probe took. |
▸ ▾ Raw response schema
{
"type": "object",
"properties": {
"outcome": {
"$ref": "#/components/schemas/WebhookTestEventOutcome"
},
"status": {
"description": "The HTTP status returned, when a response was received.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"duration_ms": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Wall-clock time the probe took."
}
},
"required": [
"outcome",
"duration_ms"
],
"additionalProperties": false,
"description": "Result of a synchronous, signed sample-event delivery. This is a LIVE probe — it does not create a queued WebhookDelivery row, so it never appears in the delivery log."
}Example request
curl
curl -X POST https://app.nowgetitdone.com/v1/webhook-endpoints/whep_a1b2c3/test-event \
-H "Authorization: Bearer gid_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'Possible errors
- 400
validation_failedRequest validation failed - 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