canonical: https://jentic.com/apis/amazonservices.com/amazonservices

# Amazonservices Selling Partner APIs for Fulfillment Outbound

The Selling Partner API for Fulfillment Outbound lets Amazon sellers create, preview, and manage Multi-Channel Fulfillment (MCF) orders that ship from inventory already stored in Amazon's fulfillment network. Sellers can quote delivery offers, list and update fulfillment orders, retrieve package tracking, submit return reasons, and query feature inventory across regions. The spec exposes 14 endpoints under the `/fba/outbound/2020-07-01` path tree and is part of the broader Amazon Selling Partner API family that uses LWA (Login with Amazon) OAuth 2.0 for authorization.

## For AI agents

Lets agents create Multi-Channel Fulfillment orders from a seller's Amazon FBA inventory, fetch delivery offers, retrieve tracking, and submit returns or status updates against the sellingpartnerapi-na.amazon.com endpoint.

## Scope

Does not handle inbound shipments to Amazon warehouses, listings, pricing, or non-Amazon carrier label printing - use for Multi-Channel Fulfillment outbound orders only.

## Capabilities

- Generate fulfillment previews and delivery offers for a basket of SKUs before committing to an order
- Create, list, retrieve, update, and cancel Multi-Channel Fulfillment orders shipped from Amazon FBA inventory
- Submit fulfillment order status updates and return requests against existing seller fulfillment orders
- Fetch carrier tracking details for shipped MCF packages by package number
- Query feature inventory and per-SKU availability for special FBA programs (Blank Box, Black-and-White, Ship-in-Own-Container)
- List the supported MCF feature set available to a seller in the current marketplace
- Look up the canonical list of MCF return reason codes for a seller fulfillment SKU

## Use cases

### Direct-to-Consumer Order Fulfillment from FBA

Brands selling on Shopify, BigCommerce, or their own storefront can route orders to Amazon's fulfillment network using the Multi-Channel Fulfillment API. The integration creates a seller fulfillment order with the buyer's address, line items, and chosen shipping speed, then pulls tracking once Amazon hands the package to the carrier. Setup typically takes one to two weeks including LWA app authorization.

Example prompt: Create a fulfillment order with sellerFulfillmentOrderId 'SHOP-12345', shipping speed 'Standard', destination address in the US, and a single SKU 'SKU-ABC' at quantity 2 via POST `/fba/outbound/2020-07-01/fulfillmentOrders`

### Pre-Checkout Delivery Quotes

E-commerce checkouts can call the deliveryOffers endpoint to show buyers accurate delivery dates and shipping speed options sourced from Amazon's network before they pay. The response returns expected ship and delivery windows per offered speed, so the storefront can charge correctly and set realistic expectations. Most teams wire this in alongside cart updates in a few days.

Example prompt: Call POST `/fba/outbound/2020-07-01/deliveryOffers` with the buyer's postal code and a list of SKU/quantity pairs and return the earliest available delivery date for the 'Priority' shipping speed

### Returns and Tracking Sync to Helpdesk

Customer support tools can pull MCF tracking details and submit return requests so agents do not have to swivel-chair into Seller Central. The integration listens for buyer return tickets, calls createFulfillmentReturn with the right reason code, and posts status updates back into the helpdesk thread. Reason codes are pulled from listReturnReasonCodes per SKU.

Example prompt: Look up valid return reason codes for sellerSku 'SKU-ABC', then call PUT `/fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/return` with reason code 'CR-DAMAGED' for two units

### AI Agent Order Operations

AI agents handling seller-side operations can use this API through Jentic to manage MCF orders end-to-end without storing Amazon LWA refresh tokens in the agent context. The agent searches Jentic for the right operation, loads the input schema, and executes against a scoped credential held in your Jentic One instance. Useful for ops copilots that triage stuck shipments and trigger cancellations or updates.

Example prompt: Find the open fulfillment order with sellerFulfillmentOrderId 'SHOP-12345', cancel it via PUT `/fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/cancel`, and confirm the new status is 'Cancelled'

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/fba/outbound/2020-07-01/fulfillmentOrders` | Create a Multi-Channel Fulfillment order |
| POST | `/fba/outbound/2020-07-01/fulfillmentOrders/preview` | Preview a fulfillment order before committing |
| POST | `/fba/outbound/2020-07-01/deliveryOffers` | Get shipping speed and delivery date offers |
| GET | `/fba/outbound/2020-07-01/fulfillmentOrders` | List existing fulfillment orders |
| GET | `/fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}` | Get a single fulfillment order |
| PUT | `/fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/cancel` | Cancel a fulfillment order |
| PUT | `/fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/return` | Create a return on a fulfillment order |
| GET | `/fba/outbound/2020-07-01/tracking` | Get package tracking details |

## Key resources

- **Fulfillment Orders** — Create, list, retrieve, update, and cancel Multi-Channel Fulfillment orders
- **Delivery Offers** — Quote shipping speeds and delivery dates for a basket of SKUs and a destination
- **Tracking** — Fetch carrier tracking details for MCF packages
- **Returns** — Submit fulfillment returns and look up valid return reason codes
- **Features** — Query supported MCF features and per-SKU feature inventory

## Why Jentic

- **Setup:** Wiring the Selling Partner Fulfillment Outbound API by hand means running the Login with Amazon token exchange, signing requests with an IAM role, and picking the right regional Selling Partner host yourself. Through Jentic you install once, import Fulfillment Outbound from the API Directory, store the refresh token once, and your agent calls it.
- **Permission scoping:** Fulfillment Outbound puts the order id in the URL path (`/fulfillmentOrders/{sellerFulfillmentOrderId}/...`), so a rule can pin your agent to one fulfillment order: it can read and track that order and nothing else. You choose the operations it may call, so a cancel or return is not included unless you add it.
- **Credential handling:** Your Login with Amazon refresh token and signing role are stored once, encrypted, by your own Jentic One instance, which mints a short-lived scoped access token at execution time. The long-lived refresh token never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Multi-Channel Fulfillment order' or 'track a fulfillment order', and Jentic returns the matching Selling Partner operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ShipStation** — Multi-carrier shipping platform that aggregates UPS, USPS, FedEx, and DHL instead of routing through Amazon FBA
- **ShipEngine** — Carrier-agnostic shipping API for label generation and rate shopping outside the Amazon network
- **Shippo** — Shipping label and tracking API often used alongside MCF for non-FBA orders
- **FedEx** — Direct carrier API for tracking and rate quotes when the MCF carrier is FedEx

## FAQ

### What authentication does the Selling Partner Fulfillment Outbound API use?

The Amazon Selling Partner API uses Login with Amazon (LWA) OAuth 2.0. Agents exchange a refresh token for a short-lived access token sent in the x-amz-access-token header on each request. Through Jentic, the LWA refresh token is held in your Jentic One instance and never enters the agent's context - only scoped, short-lived access tokens are injected at call time.

### Can I create Multi-Channel Fulfillment orders with this API?

Yes. POST `/fba/outbound/2020-07-01/fulfillmentOrders` creates a seller fulfillment order against the seller's existing FBA inventory, with a destination address, line items, shipping speed, and a sellerFulfillmentOrderId you supply. POST `/fba/outbound/2020-07-01/fulfillmentOrders/preview` returns delivery and fee estimates first if you want to confirm before committing.

### What are the rate limits for the Selling Partner Fulfillment Outbound API?

Amazon publishes per-operation rate plans rather than a single global limit. Most outbound fulfillment operations sit at 2 requests per second with a burst of 30, but createFulfillmentReturn and getFulfillmentPreview are lower. Check the Selling Partner API documentation for the live numbers per operation, since Amazon adjusts them.

### How do I cancel a fulfillment order through Jentic?

Search Jentic for 'cancel a Multi-Channel Fulfillment order'. Jentic returns the operation backed by PUT `/fba/outbound/2020-07-01/fulfillmentOrders/{sellerFulfillmentOrderId}/cancel`, you load the schema (the only input is the sellerFulfillmentOrderId), and execute. The Jentic SDK handles the LWA token exchange so the agent never sees the refresh token.

### Does this API cover inbound shipments to Amazon warehouses?

No. This spec is the Fulfillment Outbound API only - orders shipping out of FBA to a buyer. Inbound shipments to Amazon warehouses are covered by the separate Selling Partner Fulfillment Inbound API. Order placement on amazon.com itself is also out of scope; this is for sellers fulfilling their own non-Amazon channels via Amazon's network.

### Can I get carrier tracking through this API?

Yes. GET `/fba/outbound/2020-07-01/tracking` returns carrier name, tracking number, current status, and event history for an MCF package. You pass the packageNumber (returned on the fulfillment order) and Amazon returns the latest scan events.

### Can I limit what my agent is allowed to do with the Amazon Fulfillment Outbound API?

Yes. Because you self-host Jentic One, your own rules decide which Fulfillment Outbound operations and credentials the agent can use, so you can grant it read-and-track access to fulfillment orders while leaving cancel and return operations out. Since the seller fulfillment order id sits in the URL path, a rule can pin the agent to a single order (`/fulfillmentOrders/{sellerFulfillmentOrderId}/...`), letting it read and track that one order and nothing else. Amazon credentials are never handed to the agent; Jentic One injects a short-lived scoped access token only for the operations you permit.
