Confirm Transportation Options
POST/api/amazon/:integrationInstance/draft-inbound-plans/:draft_inbound_plan/transportation-options/confirm
Confirm one transportation option per shipment of the confirmed placement (Amazon FBA Inbound v2024-03-20 confirmTransportationOptions operation). This is lock gate #2 of the inbound workflow — carrier charges apply once the void window passes.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
This is an asynchronous endpoint: it dispatches a tracked background job and returns { "data": { "tracked_job_log_id": <id> } } immediately. Progress is visible via the tracked job log endpoints, and the underlying Amazon operation is resolved by the amazon_inbound_operations poller (a background job).
Tracked job name: Confirm FBA Transportation: {plan name}. When the job completes, the selected options are marked CONFIRMED with their void deadlines and the shipments are refreshed.
Request body fields:
selections(array, required, min 1) — exactly one entry per shipment of the confirmed placementselections.*.shipment_id(integer, required) — LOCAL plan-shipment row idselections.*.transportation_option_id(integer, required) — LOCAL transportation-option row id
Both ids are LOCAL row ids — the confirm job maps them to Amazon ids before calling SP-API.
Pre-flight validation (HTTP 422, checked synchronously before the job is dispatched):
- a placement option must be confirmed for the plan
- each
shipment_idmust belong to the confirmed placement option of this plan - each shipment must have exactly one selection — no duplicates, and every shipment of the confirmed placement must be covered (none missing)
- each
transportation_option_idmust belong to its selected shipment - non-partnered options carrying the
CONFIRMED_DELIVERY_WINDOWprecondition require the shipment to already have a confirmed delivery window - Amazon SPD rule: when any selection ships via small parcel (
GROUND_SMALL_PARCEL), every selection must use the same carrier and the same program
Void-window semantics: on confirmation each option's void_deadline is set to now + 24 hours for partnered small parcel, now + 1 hour for partnered freight (LTL/FTL), and null for own-carrier options (nothing to void).
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 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.
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.