This feature is enabled per-account. Contact your Orb representative to enable summary webhooks for your account. All invoice and subscription webhook event types are affected when this feature is turned on.
Affected event types
Invoice events
The following invoice event types will send summary payloads when summary webhooks are enabled:invoice.issuedinvoice.editedinvoice.invoice_date_elapsedinvoice.issue_failedinvoice.payment_processinginvoice.payment_succeededinvoice.payment_failedinvoice.manually_marked_as_paidinvoice.manually_marked_as_voidinvoice.undo_mark_as_paidinvoice.sync_succeededinvoice.sync_failedinvoice.accounting_sync_succeededinvoice.accounting_sync_failedinvoice.dunning_schedule_createdinvoice.dunning_schedule_endedinvoice.dunning_schedule_resetinvoice.dunning_schedule_step_executed
Subscription events
The following subscription event types will send summary payloads when summary webhooks are enabled:subscription.createdsubscription.editedsubscription.startedsubscription.endedsubscription.plan_changedsubscription.plan_version_change_scheduledsubscription.plan_version_changedsubscription.fixed_fee_quantity_updatedsubscription.usage_exceededsubscription.cost_exceededsubscription.trial_endedsubscription.plan_change_scheduledsubscription.cancellation_scheduledsubscription.cancellation_unscheduledsubscription.accounting_sync_succeededsubscription.accounting_sync_failed
Invoice payload
Fields included
Fields excluded
The following fields are omitted from the summary invoice payload. Notably,line_items is the primary source of payload bloat for invoice webhooks.
To retrieve the full invoice including line items, use the GET /invoices/{id} endpoint.
Subscription payload
Fields included
Fields excluded
The following fields are omitted from the summary subscription payload. Thecustomer and plan fields are replaced with minified versions containing only identification fields.
To retrieve the full subscription, use the GET /subscriptions/{id} endpoint.
Recommended integration pattern
With summary webhooks enabled, we recommend the following pattern for webhook handlers:- Receive the webhook event.
- Read the event type and resource
idfrom the payload. - Fetch the full resource via API if detailed data is needed.
- Process accordingly.
Even without summary webhooks, fetching the latest resource state via API before processing is a best practice. Webhook payloads represent the resource state at the time the event was emitted, which may differ from the current state if subsequent changes have occurred.