Correct Channel Health Flag Carrier
POST/api/channel-health/flags/:flag/correct-carrier
Corrects the carrier (and optionally the tracking number) of a flagged shipment and re-sends it to the sales channel, as a background job. The flag resolves once the corrected confirmation is accepted. With remember_mapping, the 3PL's shipping-method string is mapped to the chosen carrier so future shipments resolve automatically (ShipHero fulfillments).
channel-health:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Body:
shipping_carrier_id(integer, required): the carrier the shipment actually went withtracking_number(string, optional, max 191): replacement tracking number; omit to keep the current oneremember_mapping(boolean, optional, default false)
Responds 202 with the background job's tracked_job_log_id. Returns 422 with reason when the flag can't be corrected: not_open, not_fixable (informational checks), no_fulfillment, delivered (marketplaces only accept tracking corrections before delivery).
Authentication: Bearer token (Personal Access Token) with the channel-health:write scope. The user needs the Sales Orders › Fulfill permission.
Request
Responses
- 202
- 401
- 403
- 404
- 422
- 429
Accepted
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.
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.