Skip to content

Get event with payload

GET
/v1/pull-endpoints/{id}/events/{event_id}

Retrieve a single event including the full payload fetched from storage and the original request headers. JSON payloads are embedded directly; non-JSON payloads are base64-encoded.

id
required
string format: uuid

Pull endpoint identifier (UUIDv7)

Example
01935abc-def0-7123-4567-890abcdef012
event_id
required
string format: uuid

Pull event identifier (UUIDv7)

Example
01935abc-def0-7123-4567-890abcdef099
preview
boolean

When true, the event payload is returned without transitioning the message status from stored to fetched. Useful for inspecting payloads without affecting the event lifecycle.

Event with full payload

object
data

Full event including payload and original headers.

For soft-deleted events, customer fetches (default) return 410 MESSAGE_DELETED. Console preview requests (?preview=true) instead return a 200 with metadata only: payload and headers are null, and deleted_at / deleted_by_user_id / deleted_by_api_key_id identify the deletion.

object
id
required
string format: uuid
event_type
string
nullable
status
required
string
Allowed values: stored fetched delivered
content_type
required
string
Example
application/json
payload
One of:
object
headers

Original request headers from the webhook provider. null for deleted events in preview mode.

object
key
additional properties
string
size_bytes
required
integer
received_at
required
string format: date-time
fetched_at
string format: date-time
nullable
delivered_at
string format: date-time
nullable
timing
required

Timing breakdown for a pull event lifecycle.

object
ingest_processing_ms

Server-side ingest processing time (validation, auth, S3 upload). Measured before the database write. Null for events ingested before timing was added.

integer
nullable
time_to_fetch_ms

Time from receipt to first customer fetch (fetched_at - received_at). Includes ingest_processing_ms server processing time; subtract it to get pure queue wait time. Null if not yet fetched.

integer
nullable
time_to_ack_ms

Time from fetch to acknowledgment (delivered_at - fetched_at). Null if not yet delivered.

integer
nullable
total_lifecycle_ms

Total time from receipt to acknowledgment (delivered_at - received_at). Null if not yet delivered.

integer
nullable
deleted_at

When the event was soft-deleted. Only present (and only via ?preview=true) on deleted rows.

string format: date-time
nullable
Example
2026-04-09T00:22:45Z
deleted_by_user_id

User ID that deleted the event (mutually exclusive with deleted_by_api_key_id).

string
nullable
deleted_by_api_key_id

API key ID that deleted the event (mutually exclusive with deleted_by_user_id).

string
nullable
meta
object
request_id

Unique identifier for this request (useful for support)

string
Example
req_xyz123

Unauthorized - Invalid or missing API key

object
error
object
code

Machine-readable error code

string
Example
INVALID_REQUEST
message

Human-readable error message

string
Example
endpoint must be a valid HTTPS URL
meta
object
request_id

Unique identifier for this request (useful for support)

string
Example
req_xyz123
Example
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
},
"meta": {
"request_id": "req_xyz123"
}
}

Resource not found

object
error
object
code

Machine-readable error code

string
Example
INVALID_REQUEST
message

Human-readable error message

string
Example
endpoint must be a valid HTTPS URL
meta
object
request_id

Unique identifier for this request (useful for support)

string
Example
req_xyz123
Example
{
"error": {
"code": "NOT_FOUND",
"message": "Message not found"
},
"meta": {
"request_id": "req_xyz123"
}
}

Event payload has been cleaned up by the retention sweeper

object
error
object
code

Machine-readable error code

string
Example
INVALID_REQUEST
message

Human-readable error message

string
Example
endpoint must be a valid HTTPS URL
meta
object
request_id

Unique identifier for this request (useful for support)

string
Example
req_xyz123
Personalize Examples

Enter your credentials to populate code examples throughout the docs.