Saltar al contenido principal

WebhookDelivery

One record per delivery, updated in place as retries proceed — not one record per attempt. status is PENDING both before the first attempt and between retries, and only becomes FAILED once the retry chain is exhausted, so a delivery that is still being retried is never reported as failed.

type WebhookDelivery {
id: ID!
webhookId: ID!
accountId: ID!
eventId: String!
eventType: String!
url: String!
livemode: Boolean!
status: CallbackStatus!
source: WebhookDeliverySource!
attempts: Int!
nextRetryAt: Int
statusCode: String
statusMessage: String
durationMs: Int
bodyTruncated: Boolean!
createdAt: String!
updatedAt: String
}

Fields

WebhookDelivery.id ● ID! non-null scalar

Delivery ID.

WebhookDelivery.webhookId ● ID! non-null scalar

Endpoint this delivery targets.

WebhookDelivery.accountId ● ID! non-null scalar

Account that owns the endpoint.

WebhookDelivery.eventId ● String! non-null scalar

ID of the source event. Stable across a resend, so merchants can dedupe on it.

WebhookDelivery.eventType ● String! non-null scalar

Type of the source event, e.g. charge.succeeded.

WebhookDelivery.url ● String! non-null scalar

Endpoint URL as configured when the delivery was created.

WebhookDelivery.livemode ● Boolean! non-null scalar

Whether the source event was live-mode.

WebhookDelivery.status ● CallbackStatus! non-null enum

PENDING while attempts remain, EXECUTED once delivered, FAILED once retries are exhausted.

WebhookDelivery.source ● WebhookDeliverySource! non-null enum

Whether this delivery was created automatically or by a resend.

WebhookDelivery.attempts ● Int! non-null scalar

Number of attempts made so far.

WebhookDelivery.nextRetryAt ● Int scalar

When the next retry is scheduled (epoch seconds). Absent once the delivery is no longer being retried.

WebhookDelivery.statusCode ● String scalar

HTTP status returned by the most recent attempt.

WebhookDelivery.statusMessage ● String scalar

Response message from the most recent attempt, truncated.

WebhookDelivery.durationMs ● Int scalar

Duration of the most recent attempt, in milliseconds.

WebhookDelivery.bodyTruncated ● Boolean! non-null scalar

Whether the payload exceeded the storage limit and was stored truncated. Such a delivery cannot be resent.

WebhookDelivery.createdAt ● String! non-null scalar

Creation timestamp (ISO 8601).

WebhookDelivery.updatedAt ● String scalar

Last update timestamp (ISO 8601).

Returned By

resendWebhookDelivery mutation

Member Of

WebhookDeliveriesConnection object ● WebhookDeliveryDetail object