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

# Extensiv Integration Manager API

Jentic publishes the only available OpenAPI specification for Extensiv Integration Manager API, keeping it validated and agent-ready. Extensiv (formerly 3PL Central) Integration Manager is a multi-channel hub that connects ecommerce storefronts, warehouses, and order-management systems for third-party logistics providers and brands. The API exposes 12 endpoints across orders, products, inventory, warehouses, and integrations, secured with OAuth2 client credentials. Typical use is order routing, inventory sync, and warehouse-of-record updates between Shopify-class storefronts and 3PL fulfilment systems.

## For AI agents

Manage orders, products, inventory, warehouses, and channel integrations across an Extensiv-connected 3PL or brand operation through OAuth2-authenticated REST endpoints.

## Scope

Does not handle carrier label printing, payment capture, or storefront UI configuration - use for orders, products, inventory, warehouses, and integration listing within Extensiv Integration Manager only.

## Capabilities

- List and create ecommerce orders flowing through Integration Manager
- Update or delete an existing order by ID before fulfilment is committed
- List and create product records that map across connected channels
- Read inventory levels across the connected warehouses
- List warehouses and fetch a single warehouse's configuration
- List the active integrations connecting Extensiv to ecommerce, OMS, and 3PL systems

## Use cases

### Order Sync Between Storefront and 3PL

Use POST /orders to push new orders from a storefront into Extensiv, GET /orders to reconcile state, and PUT `/orders/{id}` to amend in-flight orders. This handles the most common Integration Manager workflow: keeping a 3PL's order book aligned with the brand's source-of-truth storefront. Saves manual re-keying for ops teams managing multiple ecommerce channels.

Example prompt: Call POST /orders with the new storefront order payload, then GET `/orders/{id}` to confirm Extensiv accepted it and assigned a warehouse.

### Inventory Visibility Across Warehouses

GET /inventory returns inventory levels across the warehouses connected to the account, and GET /warehouses lets the agent enumerate the warehouse set. Combined, these power dashboards or alerts when stock dips below a threshold in any warehouse, and let an agent route a new order to the warehouse with the right stock.

Example prompt: Call GET /inventory, group results by warehouse and SKU, and flag any SKU whose total quantity is below the configured reorder threshold.

### Product Master Replication

GET /products and POST /products together let an integration replicate a product master into Extensiv, while GET `/products/{id}` fetches a specific product to verify state. This is the foundation for multi-channel listings: the same product flows from a PIM into Extensiv and then out to each connected storefront.

Example prompt: Call POST /products with the new product payload from the PIM, then GET `/products/{id}` to confirm Extensiv stored the SKU and channel mapping.

### AI Operations Agent via Jentic

An AI ops agent uses Jentic to call Extensiv Integration Manager operations on demand - for example, escalating to ops when an order is stuck, or rewriting a shipping address provided by a customer. Jentic resolves intents like "update an extensiv order" to PUT `/orders/{id}` and supplies the OAuth2 access token from the vault.

Example prompt: Through Jentic, search 'update an extensiv order', load PUT `/orders/{id}`, and execute it with the customer's corrected shipping address.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/orders` | List orders |
| POST | `/orders` | Create an order |
| PUT | `/orders/{id}` | Update an order |
| DELETE | `/orders/{id}` | Delete an order |
| GET | `/products` | List products |
| POST | `/products` | Create a product |
| GET | `/inventory` | List inventory |
| GET | `/warehouses` | List warehouses |

## Key resources

- **Orders** — Ecommerce orders routed through Integration Manager
- **Products** — Product records mapped across connected channels
- **Inventory** — Stock levels across warehouses
- **Warehouses** — Connected fulfilment locations
- **Integrations** — Active channel and OMS integrations on the account

## Why Jentic

- **Setup:** Wiring the Extensiv Integration Manager API by hand means running its OAuth2 client-credentials flow, refreshing tokens, and tracking the order, product, inventory, and warehouse endpoints under /v1 yourself. Through Jentic you install once, import Extensiv from the API Directory, store the client credentials once, and your agent calls it.
- **Permission scoping:** Extensiv puts the order id in the URL path (`/orders/{id}`), so a rule can pin your agent to one order. You choose the operations it may call, so a DELETE on that order is not included unless you add it alongside the read and update operations.
- **Credential handling:** Your Extensiv OAuth client credentials are stored once, encrypted, by your own Jentic One instance, which mints access tokens on demand and injects them at execution time. The long-lived secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an extensiv order' or 'list warehouse inventory', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ShipBob API** — ShipBob is a 3PL with its own direct fulfilment API
- **ShipStation API** — ShipStation focuses on label generation and carrier integration for direct shippers
- **Twilio API** — Twilio handles customer SMS notifications when an Extensiv order ships or has issues

## FAQ

### Why is there no official OpenAPI spec for Extensiv Integration Manager API?

Extensiv does not publish a public OpenAPI specification covering Integration Manager. Jentic generates and maintains this spec so that AI agents and developers can call Extensiv Integration Manager API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Extensiv Integration Manager API use?

Authentication is OAuth2. The spec declares an oauth2 security scheme; in practice client credentials are exchanged for a bearer access token that is sent on subsequent calls. Through Jentic, client credentials sit in the vault and tokens are minted on demand, so the long-lived secret never enters the agent's prompt or logs.

### Can I update an order after it has been created?

Yes, while the order is still amendable. Call PUT `/orders/{id}` with the updated payload to change shipping address, line items, or other fields supported by Extensiv. Once the order has progressed in fulfilment, certain fields may be locked - check the response body for an explicit error.

### Does this spec cover shipment tracking?

These 12 endpoints cover orders, products, inventory, warehouses, and integrations. Shipment tracking surface is not in this subset; tracking data typically appears as fields on the order resource returned by GET `/orders/{id}`, so check that payload for tracking numbers and carrier identifiers.

### How do I push a new order into Extensiv through Jentic?

Run pip install jentic, then search 'create an extensiv order', load the POST /orders operation, and execute it with the order JSON. Jentic mints an OAuth2 access token and injects it as a bearer header at execution time.

### What are the rate limits for the Extensiv API?

Rate limits are not declared in this spec. Extensiv applies per-tenant limits in production; treat 429 responses as authoritative and back off using any Retry-After header returned. For bulk sync workloads, contact Extensis support to confirm headroom.

### Can I limit what my agent is allowed to do with the Extensiv Integration Manager API?

Yes. Because you run Jentic One yourself, you decide which Extensiv operations your agent may call, so you can grant read and update on orders while leaving DELETE `/orders/{id}` out entirely. Extensiv also puts the order id in the URL path at `/orders/{id}`, so a rule can pin the agent to a single order rather than the whole order book. The same control applies across products, inventory, and warehouse operations, and your stored OAuth2 credentials are only used for the operations you allow.
