List PayPal Webhook Events
GET/api/paypal/webhook-events
Lists the webhook events PayPal has delivered to SKU.io for this workspace (all PayPal accounts), newest first, with their processing status. The raw event payload is not included here; use Get PayPal Webhook Event.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
status is received (stored, waiting or being processed), processed, failed (see error; can be replayed) or skipped (event type SKU.io does not act on; error gives the reason). attempts counts processing attempts.
Processed event types: PAYMENT.CAPTURE.COMPLETED, PAYMENT.CAPTURE.PENDING, PAYMENT.CAPTURE.DENIED, PAYMENT.CAPTURE.REFUNDED, PAYMENT.CAPTURE.REVERSED, CHECKOUT.ORDER.APPROVED, CUSTOMER.DISPUTE.CREATED, CUSTOMER.DISPUTE.RESOLVED, MERCHANT.ONBOARDING.COMPLETED.
Filters (all filter[...]):
search— matches id (exact), event id, resource id or event type.integration_instance_id,status— exact;event_type,resource_id— partial match.- Operator filters
filter[{column}.{operator}]: text columnsevent_type,resource_id,status,resource_type,event_id,error(contains, does_not_contain, is, is_not, is_one_of, is_not_one_of, starts_with, does_not_start_with, ends_with, does_not_end_with, is_empty, is_not_empty); numeric columnsid,integration_instance_id,attempts(is, is_not, is_one_of, is_not_one_of, greater_than, less_than, greater_than_or_equal, less_than_or_equal, between, is_empty, is_not_empty); date-time columnsevent_created_at,processed_at,created_at(is, is_not, before, after, on_or_before, on_or_after, between, is_empty, is_not_empty, today, yesterday, past_week, past_month, past_year, days_ago, past_days, and the matching future operators).
Sorts: id, event_type, resource_id, status, attempts, event_created_at, processed_at, created_at (prefix - for descending; default -id).
Permission: Integrations → List (integrations.index).
Authentication: Bearer token (Personal Access Token).
Request
Responses
- 200
- 401
- 403
- 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.
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.