> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.shipbob.com/llms.txt.
> For full documentation content, see https://developer.shipbob.com/llms-full.txt.

# Amazon FBA Orders

> How to create Amazon FBA Manual orders using the ShipBob API

ShipBob supports creating **FBA Manual** orders via the public API. These orders allow you to transfer inventory from a ShipBob fulfillment center to Amazon's network, with ShipBob handling the pick, pack, and ship to Amazon.

***

## Prerequisites

Before creating an FBA order, you'll need:

1. **Personal Access Token** or **OAuth2 credentials** — used to authenticate all requests.
2. **Channel ID** — retrieved from [`GET /2026-01/channel`](https://developer.shipbob.com/api/channels/get-channels). Use the channel that has `_write` scopes.
3. **Location ID** — the ShipBob fulfillment center ID you are transferring inventory from. Retrieve this from [`GET /2026-01/fulfillment_center`](https://developer.shipbob.com/api/locations/get-locations).
4. **FBA Shipment ID** — provided by Amazon Seller Central; used as the `reference_id` on the order.

***

## Key Fields

FBA Manual orders use the standard [Create Order](https://developer.shipbob.com/api/orders/create-order) endpoint but require several fields that differ from a standard DTC order:

| Field                                         | Value                                  | Notes                                                                                      |
| --------------------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------ |
| `type`                                        | `"FBA"`                                | Identifies this as an FBA order type                                                       |
| `reference_id`                                | FBA Shipment ID                        | The FBA Shipment ID from Amazon Seller Central; must be unique within your ShipBob account |
| `location_id`                                 | Fulfillment center ID                  | **Required.** Must match the ShipBob FC you are shipping inventory from                    |
| `purchase_date`                               | ISO 8601 datetime                      | The date the FBA shipment was created                                                      |
| `shipping_terms.carrier_type`                 | `"Parcel"` or `"Freight"`              | Select the appropriate carrier type for your shipment                                      |
| `shipping_terms.payment_term`                 | `"Prepaid"` or `"MerchantResponsible"` | `"Prepaid"` if ShipBob provides labels; `"MerchantResponsible"` if you upload your own     |
| `retailer_program_data.retailer_program_type` | `"FBA-Manual"`                         | Required to route the order through the FBA Manual flow                                    |
| `retailer_program_data.purchase_order_number` | string                                 | The FBA purchase order number                                                              |
| `retailer_program_data.shipByDate`            | ISO 8601 datetime                      | The date by which the shipment must leave the ShipBob FC                                   |
| `retailer_program_data.addresses`             | See below                              | Array of addresses; use `type: "MarkFor"` to specify the destination Amazon FC             |
| `tags`                                        | See below                              | Include the `RequiresAmazonProductLabels` tag if items need Amazon product labels          |

### Amazon Product Labels

If the items in the order require Amazon product labels, include the following object in the `tags` array:

```json
"tags": [
  {
    "name": "RequiresAmazonProductLabels",
    "value": "..."
  }
]
```

<Note>
  The 

  `value`

   property of this tag is not used by ShipBob. If the items do 

  **not**

   require Amazon product labels, omit this tag entirely.
</Note>

### Mark For Address

The `retailer_program_data.addresses` array should contain the destination Amazon fulfillment center address, with `type` set to `"MarkFor"`. This identifies where Amazon expects the inventory to be received:

```json
"addresses": [
  {
    "type": "MarkFor",
    "address1": "100 Nowhere Blvd",
    "address2": "Suite 100",
    "city": "City",
    "state": "NJ",
    "zip_code": "07093",
    "country": "US",
    "company_name": "Amazon Fulfillment Center"
  }
]
```

### Finding Your Fulfillment Center ID

Call the [Get Fulfillment Center](https://developer.shipbob.com/api/receiving/get-fulfillment-centers) endpoint to retrieve the ID of the fulfillment center you want to transfer inventory from:

```bash
GET https://api.shipbob.com/2026-01/fulfillment_center
```

Locate the fulfillment center in the response and note its `id`. This value is what you'll pass as `location_id` on the order.

***

## Sample Requests

<AccordionGroup>
  <Accordion title="FBA Order (without Amazon Product Labels)">
    `POST https://api.shipbob.com/2026-01/order`

    ```json
    {
      "type": "FBA",
      "reference_id": "FbaShipmentIdHere10",
      "location_id": 10,
      "purchase_date": "2026-02-22T14:15:22Z",
      "shipping_method": "Free 2-day Shipping",
      "recipient": {
        "name": "Company test",
        "address": {
          "address1": "5396 North Reese Avenue",
          "city": "Fresno",
          "state": "CA",
          "zip_code": "93722",
          "country": "US"
        },
        "email": "email@shipbob.com",
        "phone_number": "555-555-5555"
      },
      "products": [
        {
          "reference_id": "TestProduct1",
          "quantity": 1
        }
      ],
      "shipping_terms": {
        "carrier_type": "Parcel",
        "payment_term": "Prepaid"
      },
      "retailer_program_data": {
        "purchase_order_number": "001",
        "retailer_program_type": "FBA-Manual",
        "addresses": [
          {
            "address1": "100 Nowhere Blvd",
            "address2": "Suite 100",
            "city": "City",
            "company_name": "Company",
            "country": "US",
            "state": "NJ",
            "type": "MarkFor",
            "zip_code": "07093"
          }
        ],
        "shipByDate": "2026-02-28T14:15:22Z"
      }
    }
    ```
  </Accordion>

  <Accordion title="FBA Order (with Amazon Product Labels)">
    `POST https://api.shipbob.com/2026-01/order`

    ```json
    {
      "type": "FBA",
      "reference_id": "FbaShipmentIdHere10",
      "location_id": 10,
      "purchase_date": "2026-02-22T14:15:22Z",
      "shipping_method": "Free 2-day Shipping",
      "recipient": {
        "name": "Company test",
        "address": {
          "address1": "5396 North Reese Avenue",
          "city": "Fresno",
          "state": "CA",
          "zip_code": "93722",
          "country": "US"
        },
        "email": "email@shipbob.com",
        "phone_number": "555-555-5555"
      },
      "products": [
        {
          "reference_id": "TestProduct1",
          "quantity": 1
        }
      ],
      "tags": [
        {
          "name": "RequiresAmazonProductLabels",
          "value": "..."
        }
      ],
      "shipping_terms": {
        "carrier_type": "Parcel",
        "payment_term": "Prepaid"
      },
      "retailer_program_data": {
        "purchase_order_number": "001",
        "retailer_program_type": "FBA-Manual",
        "addresses": [
          {
            "address1": "100 Nowhere Blvd",
            "address2": "Suite 100",
            "city": "City",
            "company_name": "Company",
            "country": "US",
            "state": "NJ",
            "type": "MarkFor",
            "zip_code": "07093"
          }
        ],
        "shipByDate": "2026-02-28T14:15:22Z"
      }
    }
    ```
  </Accordion>
</AccordionGroup>