> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer-stage.shipbob.dev/2026-07/quickstart/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer-stage.shipbob.dev/_mcp/server. # Quickstart This quickstart guide intends to walk you through a few common scenarios to let you understand how to use the ShipBob API. ## 1. Get Personal Access Token (PAT) ShipBob verifies a user's request by using a Bearer token in the header. We call this a Personal Access Token. On the ShipBob dashboard, go to **Integrations** > **API Tokens**. Click Generate New Token. Copy this token as we will use in next step. If you do not have a ShipBob account yet, you can create a sandbox account by following [this link](https://webstage.shipbob.dev/app/merchant/#/SignUp). ## 2. Make your first API request Use your PAT token to make a request to the [GET Channels](/api/channels/get-channels?explorer=true) endpoint. You will need the channel ID to create products, orders and returns with the ShipBob API. ``` GET https://api.shipbob.com/2026-07/channel ``` > **Tip** > > If you are using a ShipBob sandbox account, make sure to update your endpoint to `https://sandbox-api.shipbob.com/2026-07/channel` #### Example response The channel ID to use when creating products, orders and returns would be `100102` since this is the channel that has scopes with `_write` access. **`GET Channel 2026-07/channel`** ```javascript GET Channel 2026-07/channel {4-25} { "items": [ { "id": 100102, "name": "Privileged Access Token Wednesday, September 20, 2025", "application_name": "API", "scopes": [ "fulfillments_write", "webhooks_read", "returns_read", "orders_read", "inventory_write", "inventory_read", "returns_write", "products_read", "webhooks_write", "receiving_write", "receiving_read", "channels_read", "products_write", "locations_read", "orders_write", "fulfillments_read", "locations_write" ] }, { "id": 100101, "name": "ShipBob Default", "application_name": "ShipBob", "scopes": [ "webhooks_read", "returns_read", "orders_read", "inventory_read", "products_read", "receiving_read", "channels_read", "locations_read", "fulfillments_read" ] } ] } ``` ## 3. Common scenarios A few common scenarios to get started with the ShipBob API. All endpoints are only accessible via `HTTPS`. #### Create product Below is a sample request to create a product: **`POST /2026-07/product`** ```javascript POST /2026-07/product { "name": "Light Roast Coffee", "type_id": 1, "variants": [ { "name": "Light Roast Coffee", "sku": "LIGHT-ROAST", "packaging_requirement_id": 1, "packaging_material_type_id": 1 } ] } ``` #### Create order Below is a sample request to create a order: > **Note** > > Make sure to pass the `shipbob_channel_id` in the header. **`POST /2026-07/order`** ```javascript POST /2026-07/order { "shipping_method": "Standard", "recipient": { "name": "John Doe", "address": { "address1": "100 Nowhere Blvd", "address2": "Suite 100", "city": "Gotham City", "state": "NJ", "country": "US", "zip_code": "07093" }, "email": "john@example.com", "phone_number": "555-555-5555" }, "products": [ { "reference_id": "LIGHT-ROAST", "name": "Light Roast Coffee", "quantity": 1 }, { "reference_id": "DARK-ROAST", "name": "Dark Roast Coffee", "quantity": 1 } ], "reference_id": "840343901234", // the reference_id can be the same as the order_number "order_number": "1001", "type": "DTC" } ``` #### Create warehouse receiving order Here is a sample request to create a warehouse receiving order. If testing on sandbox you can use `fulfillment_center` id 8 or id 10 > **Note** > > When you create warehouse receiving orders with the ShipBob API, you do not need to pass the `shipbob_channel_id`. **`POST /2026-07/receiving`** ```javascript POST /2026-07/receiving { "fulfillment_center": { "id": 8 }, "package_type": "Package", "box_packaging_type": "EverythingInOneBox", "boxes": [ { "tracking_number": "860C8CDC8F0B4FC7AB69AC86C20539EC", "box_items": [ { "quantity": 1, "inventory_id": 0 // get the inventory_id by making request to GET Products /2026-07/product?search=LIGHT-ROAST } ] } ], "expected_arrival_date": "2025-11-24T14:15:22Z", "purchase_order_number": "PO123" } ``` ## 4. Use Cases Get started with the ShipBob API with detailed guides for your use case. #### [Build Orders integration](/guides/build-orders-integration) Learn how to build an orders integration #### [Manage Products](/guides/products) Set up your catalog #### [Track Shipments](/guides/tracking) Get delivery updates. #### [Sync Inventory](/guides/inventory) Keep stock in check. #### [Warehouse Receiving Orders](/guides/receiving) Send stock to ShipBob. #### [Returns](/guides/returns) Create and manage returns