Webhooks

Manage HTTP webhooks for projects.

Webhooks allow you to receive HTTP POST notifications when certain events occur in your test runs:

  • RUN_FINISH: Run completed (passed or failed)

  • RUN_START: Run started

  • RUN_TIMEOUT: Run timed out

  • RUN_CANCELED: Run was cancelled

Webhooks are useful for integrating with external tools like n8n, Zapier, or custom automation platforms.

List webhooks

get
/webhooks

Get all generic webhooks for a project

Authorizations
AuthorizationstringRequired

API key authentication using Bearer token

Query parameters
projectIdstringRequired

The project ID

Example: proj_abc123
Responses
get
/webhooks

Create webhook

post
/webhooks

Create a new generic webhook for a project

Authorizations
AuthorizationstringRequired

API key authentication using Bearer token

Query parameters
projectIdstringRequired

The project ID

Example: proj_abc123
Body
urlstring · uri · max: 2048Required

URL to send webhook POST requests to

headersstring | nullableOptional

Custom headers as a JSON object string (e.g., {"Authorization": "Bearer token"})

labelstring | nullableOptional

Human-readable label for the webhook

Responses
post
/webhooks

Get webhook

get
/webhooks/{hookId}

Get a specific webhook by ID. The hookId is globally unique, so projectId is not required.

Authorizations
AuthorizationstringRequired

API key authentication using Bearer token

Path parameters
hookIdstring · uuidRequired

The webhook ID (UUID)

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
get
/webhooks/{hookId}

Update webhook

put
/webhooks/{hookId}

Update an existing webhook. Supports partial updates. The hookId is globally unique, so projectId is not required.

Authorizations
AuthorizationstringRequired

API key authentication using Bearer token

Path parameters
hookIdstring · uuidRequired

The webhook ID (UUID)

Example: 550e8400-e29b-41d4-a716-446655440000
Body
urlstring · uri · max: 2048Optional

URL to send webhook POST requests to

headersstring | nullableOptional

Custom headers as a JSON object string (e.g., {"Authorization": "Bearer token"})

labelstring | nullableOptional

Human-readable label for the webhook

Responses
put
/webhooks/{hookId}

Delete webhook

delete
/webhooks/{hookId}

Delete a webhook. The hookId is globally unique, so projectId is not required.

Authorizations
AuthorizationstringRequired

API key authentication using Bearer token

Path parameters
hookIdstring · uuidRequired

The webhook ID (UUID)

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
delete
/webhooks/{hookId}

Last updated

Was this helpful?