Connecting Pipe17 API to Flexport

This article explains how to use the Pipe17 API to manage products, orders, inventory, and fulfillments when Flexport (formerly Deliverr) is your fulfillment provider.

Flexport uses a pull model integration. This means:

  • You interact only with the Pipe17 API.

  • Flexport retrieves products and shipping requests from Pipe17 on a schedule.

  • Pipe17 retrieves inventory and fulfillment updates from Flexport.

Understanding this model is critical for setting correct expectations around timing and order processing.

Before You Begin

Make sure you have:

  • An active Pipe17 account

  • An active Flexport account

  • The Flexport connector enabled in Pipe17

  • Familiarity with REST APIs

Important:

  • Flexport does not support automated inbound ASNs or receipts via this API workflow. These must be handled manually in the Flexport portal.

  • Order cancellations must be managed in Pipe17 (API or portal).

  • Products must exist in Pipe17 before Flexport can fulfill orders containing those SKUs.


How the Flexport Pull Model Works

Flexport does not receive pushed data from Pipe17.

Instead, Flexport polls Pipe17 on a schedule:

Data Type

 

Retrieved By

 

Frequency

 

Products

Flexport

Every 4 hours

Shipping Requests (Orders)

Flexport

Every 15–30 minutes

Inventory

Pipe17

Regular schedule

Fulfillments

Pipe17

Regular schedule

What This Means for You

  • Orders will not appear in Flexport immediately after creation.

  • Expect up to 15–30 minutes before Flexport retrieves new shipping requests.

  • Expect up to 4 hours before newly created products appear in Flexport.

  • You never make API calls directly to Flexport — all calls go through Pipe17.


Step 1: Connect Flexport to Pipe17

In Pipe17

  1. Go to Integrations.

  2. Click Add Integration.

  3. Select Flexport.

  4. Click Connect.

  5. Copy the API key displayed in the Flexport integration settings.

In Flexport

  1. Log in to the Flexport portal.

  2. Go to Channels → Listing Tools.

  3. Select Pipe17.

  4. Paste the API key from Pipe17.

  5. Save the connection.

Within approximately one hour:

  • A Flexport location appears under Inventory → Locations in Pipe17.

  • Products begin syncing to Flexport.

  • Inventory records appear for SKUs with stock.


Step 2: Create a Pipe17 API Key

To interact programmatically with Pipe17:

  1. Click your profile icon.

  2. Go to Settings.

  3. Copy your Authorization Token.

  4. Use that token to create an API key.

Example request:

curl --location --request POST 'https://api-v3.pipe17.com/api/v3/apikey' \
--header 'Content-Type: application/json' \
--header 'X-Pipe17-Key: YOUR_AUTHORIZATION_TOKEN' \
--data-raw '{
    "name": "Flexport Integration API Key",
    "tier": "enterprise",
    "environment": "prod",
    "description": "API key for managing orders and products with Flexport",
    "allowedIPs": ["0.0.0.0/0"],
    "methods": {
        "fulfillments": "rl",
        "inventory": "rl",
        "locations": "rl",
        "orders": "crudl",
        "products": "crudl",
        "shipments": "rl"
    }

Save the returned API key securely. It is shown only once.


Managing Products

Products must exist in Pipe17 before Flexport can fulfill them.

Create a Product

POST https://api-v3.pipe17.com/api/v3/products

Key fields:

  • sku

  • name

  • status

  • types

  • weight

Allow up to 4 hours for Flexport to pull new products.

You can also:

  • Import via CSV

  • Sync from a connected sales channel


Managing Orders

Create an Order

POST https://api-v3.pipe17.com/api/v3/orders

Critical fields include:

  • extOrderId

  • orderSource

  • lineItems

  • shippingAddress

  • totals

Important: orderSource

The orderSource field is required for Fast Tags and marketplace logic.

Common values:

  • SHOPIFY

  • AMAZON

  • WALMART

  • EBAY

  • BIGCOMMERCE

  • MAGENTO


Routing Orders to Flexport

Orders do not automatically route to Flexport.

You must either:

Option 1: Configure Order Routing Rules

  1. Go to Organization → Order Routing.

  2. Create a rule that assigns orders to the Flexport location.

Option 2: Route via API

Update the order:

PUT https://api-v3.pipe17.com/api/v3/orders/{ORDER_ID}

Set:

  • status = readyForFulfillment

  • locationId = Flexport location ID

You can find the Flexport location ID under Inventory → Locations.


Order Lifecycle

  1. Order created (new)

  2. Marked ready (readyForFulfillment)

  3. Shipping request created

  4. Flexport pulls order (15–30 min)

  5. Order marked sentToFulfillment

  6. Flexport ships order

  7. Fulfillment syncs back (fulfilled)


Retrieving Fulfillments

Poll the fulfillments endpoint:

GET https://api-v3.pipe17.com/api/v3/fulfillments?updatedSince=TIMESTAMP

Best practices:

  • Poll every 15–30 minutes.

  • Store your last successful sync timestamp.

  • Handle pagination.

  • Update your source system using fulfillment data.


Monitoring Inventory

Retrieve inventory:

GET https://api-v3.pipe17.com/api/v3/inventory?locationId=YOUR_FLEXPORT_LOCATION_ID

Inventory fields:

  • available

  • onHand

  • committed

  • incoming

Important:

Flexport displays inventory by fulfillment center in its portal, but only aggregate totals are sent to Pipe17.


Testing Your Integration

Recommended: Use Pipe17 Mock 3PL

Before sending live orders to Flexport:

  1. Add Pipe17 Mock 3PL integration.

  2. Create a routing rule to the test location.

  3. Create test orders via API.

  4. Verify fulfillment and inventory behavior.

Testing with Real Flexport

Flexport does not provide a sandbox.

Recommendations:

  • Use SKUs with no stock initially.

  • Ship to your own address.

  • Start with low-value items.

  • Confirm products exist in Flexport before creating orders.


Troubleshooting/FAQ

Why isn’t my order appearing in Flexport?

Check:

  • Inventory exists in Flexport.

  • Product exists (allow 4 hours).

  • Order is routed to Flexport.

  • Address format is valid.

  • 15–30 minutes have passed.

How are cancellations handled?

If Flexport cancels a shipping request, Pipe17 updates the status and restocks committed inventory.

How does available inventory work?

The available field already subtracts committed inventory.

Do product dimensions sync?

No. Dimensions are set during inbound processing in Flexport.

How do Fast Tags work?

To support Fast Tags:

  • Ensure orderSource contains the original marketplace name.

  • Pass the original order ID.

  • Create two connections in Flexport:

    • Pipe17 connection

    • Fast Tag connection to the source channel

Route Fast Tag orders by:

  • Routing all orders to Flexport, or

  • Creating routing rules based on shipping method (Free NextDay Delivery, Free 2-Day Delivery, etc.)


Need Help?

If you need additional assistance:

We're here to help you succeed with your operations.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.