List Channel Health Flags
GET/api/channel-health/flags
Shipments SKU predicts will hurt a marketplace metric (carrier sent as Other, missing or reused tracking, tracking that doesn't match the carrier, late or after-delivery confirmations, MCF cancellations counted by Walmart), with the predicted impact on the metric and the fix-by deadline.
channel-health:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
fixable says whether Correct Channel Health Flag Carrier can act on the flag now; not_fixable_reason explains why not.
Filters:
filter[status]: open (default when omitted), dismissed, resolved, expired or allfilter[integration_instance_ids]: comma-separated instance IDsfilter[checks]: comma-separated checks (carrier_not_recognised, missing_tracking, duplicate_tracking, tracking_format_mismatch, late_confirmation, confirmed_after_delivery, confirmation_outside_edit_window, mcf_cancellation_on_walmart)filter[search]: matches ID (exact), sales order number, channel order ID or tracking number. Narrow withsearch_columns(id, sales_order_number, channel_order_id, tracking_number) and force exact matching withsearch_strict_columns- Operator filters
filter[<column>.<operator>]on id (numeric), sales_order_number, channel_order_id, check, metric, marketplace_id, tracking_number (text) and raised_at, fix_by (datetime). Text operators: 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 filter_groups: base64-encoded JSON tree of the same column/operator conditions with and/or conjunctions, e.g. {"conjunction":"and","children":[{"type":"condition","condition":{"column":"check","operator":"is","value":"carrier_not_recognised"}}]}
Sorts: id, raised_at, fix_by (prefix with - for descending; default -raised_at).
Paginated: per_page default 10, max 500.
Authentication: Bearer token (Personal Access Token) with the channel-health:read scope. The user needs the Integrations › View permission.
Request
Responses
- 200
- 400
- 401
- 403
- 422
- 429
OK
Response Headers
Bad Request
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.
Unprocessable Entity
Response Headers
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.