List Webhook Events
GET/api/xero/webhook-settings/:integrationInstanceId/events
Paginated feed of the webhook events Xero has delivered for this connection, newest first (by event_date_utc). Each event records what changed in Xero (event_category CONTACT / INVOICE / CREDITNOTE, event_type CREATE / UPDATE, resource_id — the Xero GUID), how it was handled (status: received, processing, processed, failed, duplicate, ignored; processing_attempts; error_message), the raw event payload as delivered by Xero, and app_link/app_link_label — a path to the synced record inside SKU.io (null until the referenced record has been synced in).
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Sorting: id, event_category, event_type, status, processing_attempts, event_date_utc, created_at, processed_at (prefix with - for descending; default -event_date_utc).
Filters: filter[search] plus per-column filters on status, event_category, event_type, resource_id, error_message, id, processing_attempts, event_date_utc, created_at, processed_at. Text/numeric/date columns also accept operator variants (filter[column.operator], e.g. filter[status.is_not]=processed, filter[event_date_utc.between]=2026-07-01,2026-07-07).
Returns 404 when the integration instance does not exist.
Authentication: Bearer token.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.