test_webhook_endpoint
Queue a synthetic test event to an endpoint so its consumer can be checked end to end. Returns the queued delivery to poll.
Send an endpoint a signed test event without waiting for something real to happen. The answer is the queued delivery in the get_webhook_delivery row shape, status pending; poll that tool for the target's response_status and response_excerpt once the worker has posted it.
Same worker, same signature, same ladder
The test delivery is posted by the same job that posts real events, signed
with the endpoint's current secret, and retried on the same ladder if the
target fails. Its envelope is a project.created whose data is a marker
(synthetic: true and the endpoint's id), never a realistic event, so a
consumer can tell it apart. A consumer that verifies the signature and returns
2xx for the test will do so for real events.
Only the person who registered the endpoint, or the team owner, may fire a test; a fellow team member is refused with FORBIDDEN. The REST equivalent rate-limits the same action per token.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same action as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Annotations
A client that honours annotations asks a person before running it. It reaches beyond Zuse Bifrost: a repository host, a pipeline, a chat or an email.
Arguments
endpoint_id*stringUUID of the webhook endpoint to send a test event to.
What it returns
{ "data": { "id": "34f1d78e-05a2-4b69-8c3d-7e921ab06f45", "endpoint_id": "c62a08f4-1b7d-4e35-9860-a37f5d21e0b9", "event": "project.created", "event_id": "01HXZ3Q8M7Y2K4N6P9R1T3V5W7", "status": "pending", "attempts": 0, "response_status": null, "response_excerpt": null, "payload": { "id": "evt_01HXZ3Q8M7Y2K4N6P9R1T3V5W7", "type": "project.created", "created_at": "2026-10-26T09:20:00+00:00", "api_version": "2026-11-01", "project_id": null, "data": { "synthetic": true, "endpoint_id": "c62a08f4-1b7d-4e35-9860-a37f5d21e0b9" } }, "next_attempt_at": null, "delivered_at": null, "dead_lettered_at": null, "created_at": "2026-10-26T09:20:00+00:00" }, "meta": {}}How it fails
FORBIDDENthe token belongs to a team member who did not register the endpoint and is not the team owner.
RESOURCE_NOT_FOUNDunknown endpoint_id, or an endpoint of another team.
AUTHENTICATION_REQUIREDno authenticated user on the request.
TOKEN_MISSING_ABILITYtoken lacks webhook-endpoint:update.
How is this guide?
Last updated on