List FBA Reimbursements
GET/api/amazon/unified/fba-reimbursements
Paginated list of FBA reimbursements Amazon has already paid, unified across all Amazon integration instances. Rows are ingested from the FBA reimbursements report and form the authoritative payout log that reimbursement cases are reconciled against; amazon_reimbursement_case_id (and the embedded reimbursement_case object) is set when a row has been matched to a tracked case.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Pagination: page and per_page (default 10).
Sorting: sort=<field> ascending or sort=-<field> descending. Sortable fields: id, reimbursement_id, approval_date, case_id, amazon_order_id, reason, reason_category, sku, fnsku, asin, amount_per_unit, amount_total, currency, quantity_reimbursed_cash, quantity_reimbursed_inventory, quantity_reimbursed_total, created_at, updated_at.
Simple filters:
filter[search]— fuzzy search across reimbursement_id, case_id, amazon_order_id, sku, asin, fnsku, reason and the integration instance name. Restrict withsearch_columnsand force exact matching per column withsearch_strict_columns.filter[integration_instance_ids]— comma-separated Amazon integration instance IDs.filter[reason_category]— comma-separated list of normalized reason categories.filter[currency]— comma-separated list of currency codes.filter[has_case_id]— true/false (also accepts 1/0, yes/no): rows that do or do not carry an Amazon case ID.filter[has_linked_case]— true/false (also accepts 1/0, yes/no): rows that are or are not linked to a SKU.io reimbursement case.
Advanced operator filters use the syntax filter[column.operator]=value; a bare filter[column]=value is treated as the is operator.
- Text columns (reimbursement_id, case_id, amazon_order_id, reason, reason_category, sku, fnsku, asin, condition) support: 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 columns (amount_per_unit, amount_total, quantity_reimbursed_cash, quantity_reimbursed_inventory, quantity_reimbursed_total) support: 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 columns (approval_date, created_at, updated_at) support: is, is_not, before, after, on_or_before, on_or_after, between, is_empty, is_not_empty, today, yesterday, tomorrow, past_week, past_month, past_year, next_week, next_month, next_year, days_ago, days_from_now, past_days, next_days. Date values use ISO 8601 / Y-m-d;
betweentakes two comma-separated values.
Complex AND/OR filter trees can be sent via filter_groups (base64-encoded JSON tree of conditions and nested groups).
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.