Skip to main content

WebhookDelivery

One delivery of one event to one webhook endpoint, shown under Event deliveries on the endpoint page in the dashboard. There is one record per delivery, not one per attempt. MONEI updates it after each attempt. status is PENDING before the first attempt and between retries. It becomes FAILED only when no attempt is left, so a delivery that MONEI still retries never shows as failed. MONEI keeps deliveries for 30 days.

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​

ID of the webhook endpoint that receives the delivery.

WebhookDelivery.accountId ● ID! non-null scalar​

ID of the account that owns the endpoint.

WebhookDelivery.eventId ● String! non-null scalar​

ID of the source event, the id of the payload. The dashboard shows it as Event ID. It stays the same on a resend, so an endpoint can remove duplicates with it.

WebhookDelivery.eventType ● String! non-null scalar​

Type of the source event in dotted form, such as charge.succeeded. The dashboard shows it as Event.

WebhookDelivery.url ● String! non-null scalar​

Endpoint URL as configured when the delivery was created.

WebhookDelivery.livemode ● Boolean! non-null scalar​

true for a live-mode event, false for a test-mode event.

WebhookDelivery.status ● CallbackStatus! non-null enum​

Delivery state. The dashboard shows it as Status. PENDING while attempts remain (Pending, or Retrying after a failed attempt). EXECUTED once the endpoint answered with a 2xx status (Delivered). FAILED when no attempt is left, or when MONEI could not send it, for example to a disabled or deleted endpoint, to a local address, or with neither an account API key nor a webhook secret to sign it (Failed).

WebhookDelivery.source ● WebhookDeliverySource! non-null enum​

Whether the event created this delivery or a manual resend did.

WebhookDelivery.attempts ● Int! non-null scalar​

Number of attempts made so far. The dashboard shows it as Attempts.

WebhookDelivery.nextRetryAt ● Int scalar​

Time of the next retry, in Unix seconds. The dashboard shows it as Next retry. null when no retry is scheduled.

WebhookDelivery.statusCode ● String scalar​

HTTP status code of the most recent attempt, as a string. A network error code, such as ECONNRESET, when no response arrived. The dashboard shows it as Response code, with statusMessage.

WebhookDelivery.statusMessage ● String scalar​

Response body or error text of the most recent attempt, cut to about 200 characters.

WebhookDelivery.durationMs ● Int scalar​

Duration of the most recent attempt, in milliseconds. The dashboard shows it as Duration.

WebhookDelivery.bodyTruncated ● Boolean! non-null scalar​

true when the payload was larger than 300 KB and MONEI stored only its first 300 KB. MONEI sent the full payload, but this delivery cannot be resent.

WebhookDelivery.createdAt ● String! non-null scalar​

Time the delivery was created, as an ISO 8601 string. The dashboard shows it as Date.

WebhookDelivery.updatedAt ● String scalar​

Time of the most recent change, as an ISO 8601 string. The dashboard shows it as Last attempt after the first attempt.

Returned By​

resendWebhookDelivery mutation

Member Of​

WebhookDeliveriesConnection object ● WebhookDeliveryDetail object