Webhook delivery
Fields returned by the REST API for webhook delivery.
Fields
| Field | Type | Meaning |
|---|---|---|
id | string | Resource identifier. |
endpointId | string | Destination endpoint. |
eventId | string | Durable event ID for deduplication. |
projectId | string | Owning project. |
environmentId | string | Owning environment. |
url | string | Receiver URL. |
status | string | Lifecycle or delivery state. |
attemptCount | number | Lifetime attempt count. |
runAttemptCount | number | Attempts in the current retry run. |
replayCount | number | Number of explicit replays. |
lastError | string or null | Latest error, or null. |
nextAttemptAt | string or null | Next scheduled attempt, or null. |
deliveredAt | string or null | Successful delivery timestamp, or null. |
runStartedAt | string | Current run start. |
createdAt | string | Creation timestamp. |
updatedAt | string | Latest update timestamp. |
Example
{
"id": "delivery_example",
"endpointId": "webhook_example",
"eventId": "event_example",
"projectId": "project_example",
"environmentId": "environment_example",
"url": "https://your-app.example/webhooks/relayrtc",
"status": "pending",
"attemptCount": 0,
"runAttemptCount": 0,
"replayCount": 0,
"lastError": null,
"nextAttemptAt": "2026-01-01T12:00:00.000Z",
"deliveredAt": null,
"runStartedAt": "2026-01-01T12:00:00.000Z",
"createdAt": "2026-01-01T12:00:00.000Z",
"updatedAt": "2026-01-01T12:00:00.000Z"
}Detail response
Reading one delivery adds event, rawBody and attempts. An event includes id, type, projectId, environmentId, occurredAt and JSON data. Each attempt records id, attemptNumber, replayCount, status, signingSecretVersion, signatureTimestamp, httpStatus, errorCode, startedAt and finishedAt.
Attempt status is started, succeeded, failed or abandoned. HTTP status and completion/error fields can be null.