Skip to main content
POST
Send a test webhook
Sends one signed test delivery to an endpoint. The payload is the sample for the event_type you choose. The delivery is signed with the endpoint’s secret like a real one and is marked "test": true. Scrip sends it once and does not retry it. Use this call to check that your receiver is reachable and that your signature check works before real events arrive. The call returns 202 with the new delivery. A disabled or paused endpoint returns 409 with endpoint_not_active.
For a local setup walkthrough, see Develop locally in the Webhooks guide.

Authorizations

Authorization
string
header
default:sk_...
required

Send your API key as Authorization: Bearer <key>.

Headers

Idempotency-Key
string

A key you choose to make this request safe to retry: 1 to 255 printable ASCII characters. Send the same key with the same request to get the first response again, marked Idempotent-Replayed: true. Routes that return a secret once, and claim links, do not replay a response. Event ingest uses the key as the event's identity.

Maximum string length: 255

Path Parameters

webhook_endpoint_id
string<uuid>
required

The webhook endpoint's id.

Body

application/json

The event type to send

Sends a sample event to a webhook endpoint. Choose the event type with event_type.

event_type
string
required

The event type whose sample payload to send, for example balance.credited. List the types with GET /v1/webhook-event-types.

Minimum string length: 1
Example:

"balance.credited"

Response

Test delivery accepted

One attempt to deliver a webhook event to an endpoint, with its status and response.

attempt_count
integer

Number of delivery attempts made so far

Example:

1

created_at
string<date-time>

When the delivery record was created

Example:

"2027-01-15T10:30:00Z"

delivered_at
string<date-time>

When the delivery was successfully completed

Example:

"2027-01-15T10:30:00Z"

error_code
string

Stable, machine-readable classification of the last failed attempt, e.g. consumer_response_timeout, consumer_4xx, consumer_5xx, rate_limited, gone (omitted when none)

Example:

"consumer_response_timeout"

event_type
string

The event type (e.g. balance.credited)

Example:

"balance.credited"

id
string<uuid>

The id of the delivery. Use it in delivery_id paths to retry or resend it.

Example:

"1c8d3e5f-2a47-4b96-8e03-d5f7a9b1c2e4"

last_attempt_at
string<date-time>

When the last attempt was made

Example:

"2027-01-15T10:30:00Z"

last_error
string

Error message from the last attempt (network errors, timeouts)

Example:

"connection timed out after 10s"

last_response_body
string

Response body from the last attempt (truncated to 4 KB)

Example:

"{\"received\":true}"

last_response_status
integer

HTTP status code from the last attempt

Example:

200

max_attempts
integer

Maximum attempts before marking as FAILED

Example:

8

next_attempt_at
string<date-time>

When Scrip will try the delivery next. Omitted once the delivery is DELIVERED or FAILED.

Example:

"2027-12-31T23:59:59Z"

resend_seq
integer

Manual-resend sequence: 0 = the original delivery, 1,2,... = manual resends

Example:

0

status
enum<string>

Where the delivery is in its attempt lifecycle. PENDING deliveries wait for their next attempt. A PENDING delivery stays PENDING while its endpoint is disabled or paused, and resumes when the endpoint is active again. FAILED is final: attempts ran out, the receiver answered 410 Gone, or the endpoint was archived.

Available options:
PENDING,
SENDING,
DELIVERED,
FAILED
Example:

"DELIVERED"

updated_at
string<date-time>

When the delivery record was last updated

Example:

"2027-01-15T10:30:00Z"

webhook_endpoint_id
string<uuid>

The endpoint this delivery targets

Example:

"f47ac10b-58cc-4372-a567-0e02b2c3d479"

webhook_event_id
string<uuid>

The webhook event that triggered this delivery

Example:

"f47ac10b-58cc-4372-a567-0e02b2c3d479"