Skip to main content
GET
Returns one delivery by id, scoped to the endpoint in the path. Alongside the fields a delivery list carries, it holds the request body and request headers sent on the latest attempt, and, on a failed or dead attempt, the response body and response headers your server returned. A retry overwrites the same record, so you always read the latest attempt: attempt counts the attempts made and http_status carries the code that one came back with.
request_headers and response_headers arrive as JSON strings, so parse them before reading a single header.

Authorizations

x-api-key
string
header
required

API key with sm_ prefix. Get your key at https://sudomock.com/dashboard/api-keys

Path Parameters

endpoint_id
string
required

Id of the endpoint the delivery belongs to.

delivery_id
string
required

Id of the delivery, as listed in the delivery log.

Response

200 - application/json

Successful Response

A single delivery row WITH the captured request/response detail.

Returned ONLY by the per-delivery detail endpoint; the list endpoints (/deliveries, /events) never carry these large fields. Capture rules (latest attempt; a retry overwrites the same row):

  • request_body / request_headers -> captured on EVERY delivery attempt.
  • response_body / response_headers -> captured ONLY on failed/dead attempts (NULL on success, because a 2xx body is intentionally not stored). response_body is truncated to 16384 chars.

Request and response headers are returned as JSON strings.

id
string
required

Unique identifier for this delivery.

Example:

"3d682132-5477-4ffc-b33d-6e750c9c9f1f"

endpoint_id
string
required

Identifier of the webhook endpoint this delivery was sent to.

Example:

"b5cd6284-f6a0-4cfc-94df-781353e30dfd"

job_id
string
required

Identifier of the job this event was raised for.

Example:

"4a4bfe21-d9d2-43a4-9877-b6ca4aec4349"

event_type
string
required

Event type this delivery carries, such as render.succeeded.

Example:

"render.succeeded"

status
string
required

Current state of this delivery, such as delivered or failed.

Example:

"failed"

attempt
integer
required

Attempt counter for this delivery, rising with each retry.

Example:

0

created_at
string<date-time>
required
date-time

Time this delivery was first recorded.

Example:

"2026-09-18T09:24:12.615000Z"

http_status
integer | null

HTTP status code your endpoint returned on the latest attempt.

Example:

500

last_error
string | null

Error recorded for the latest attempt.

Example:

"non-2xx response: 500"

updated_at
string<date-time> | null
date-time

Time this delivery was last updated.

Example:

"2026-09-18T09:24:12.983000Z"

request_body
string | null

The JSON body sent to your endpoint on the latest attempt.

Example:

"{\"created_at\":\"2026-09-18T09:24:11.482713+00:00\",\"error\":null,\"event\":\"render.succeeded\",\"job_id\":\"4a4bfe21-d9d2-43a4-9877-b6ca4aec4349\",\"kind\":\"render\",\"result_url\":\"https://cdn.sudomock.com/mockup-assets/renders/c315f78f-d2c7-4541-b240-a9372842de94/render_8f2c1d4e.webp\",\"status\":\"succeeded\"}"

request_headers
string | null

Headers sent with the latest attempt, as a JSON string.

Example:

"{\"Content-Type\":\"application/json\",\"User-Agent\":\"SudoMock-Webhook/1.0\",\"X-SudoMock-Signature\":\"2b4ddbe7024e2e0e732fb27374c3e0dedda3dbf2392abe78e9785c836f54832b\",\"X-SudoMock-Timestamp\":\"1789723451\"}"

response_body
string | null

Body your endpoint returned on a failed or dead attempt.

Example:

"Internal Server Error"

response_headers
string | null

Headers your endpoint returned on a failed or dead attempt, as a JSON string.

Example:

"{\"content-type\":\"text/plain;charset=UTF-8\"}"