canonical: https://jentic.com/apis/api.skubana.com/skubana

# Skubana REST Services

Jentic publishes the only available OpenAPI specification for Skubana (now Extensiv) REST API, keeping it validated and agent-ready. Skubana centralises multi-channel orders, inventory, products, shipments, and warehouses for omnichannel sellers. Use the API to read and update inventory levels, manage orders end to end, configure warehouses, and reconcile shipments across sales channels. The 200-operation surface covers detailed back-office workflows that ecommerce operators usually piece together from several systems.

## For AI agents

Manage multi-channel orders, inventory, products, shipments, and warehouses across an omnichannel ecommerce stack through the Skubana (Extensiv) REST API.

## Scope

Does not handle storefront page rendering, payment capture, or carrier label printing - use for back-office order, inventory, and warehouse management only.

## Capabilities

- Adjust on-hand inventory at a specific stock location and recompute available quantities
- Pull a full order with line items, custom fields, and channel attribution for downstream fulfilment logic
- Update order custom field values so an agent can tag orders for special handling
- List channel purchase orders to reconcile incoming inventory against marketplace POs
- Walk the warehouse and shipment endpoints to assign orders to the correct fulfilment node
- Read product master data with variants and bundle composition for catalog sync

## Use cases

### Multi-Channel Inventory Sync

An ecommerce operator selling across Amazon, Shopify, and Walmart needs a single source of inventory truth. An agent reads stock levels via `/v1.1/inventory`, applies adjustments through `/v1.1/inventory/adjust`, and updates per-stock-location quantities so every channel reflects on-hand reality. Skubana stays the system of record across the network.

Example prompt: Call `/v1.1/inventory` to read current SKU levels, then POST to `/v1.1/inventory/adjust` with the delta and stock location id

### Order Tagging and Custom Fields for Fulfilment

Some orders need special handling - gift wrap, hazmat, or rush shipping. An agent receives the cue, looks up the order, and writes the appropriate flag through the order custom-fields endpoints so warehouse staff and fulfilment automations downstream can route the order correctly. The tag persists on the order record for audit and reporting.

Example prompt: GET `/v1.1/orders/{orderId}`, then POST to `/v1.1/orders/{orderId}/customfieldvalues` with the rush-shipping flag set to true

### Channel Purchase Order Reconciliation

When a marketplace sends a purchase order, the inventory team needs to confirm receipt and update on-hand quantities. An agent pulls open channel POs through `/v1.1/orders/channelpurchases`, matches them against received shipments, and writes the resulting inventory adjustments back to Skubana. The result is fewer back-orders and cleaner channel listings.

Example prompt: List channel purchase orders, match them to received SKUs, and post inventory adjustments for each fulfilled line

### Warehouse Routing for New Orders

An omnichannel seller with multiple warehouses wants every new order routed to the closest stocked node. An agent looks up the order, checks which warehouses have inventory, and assigns the order to the right shipment plan. Routing logic that used to be manual or rule-engine-based becomes a few API calls.

Example prompt: Read warehouse stock per SKU on the order, pick the closest stocked warehouse, and update the order with the assigned shipment plan

### AI Agent Order Operations via Jentic

An AI agent answers operations questions like 'how many orders shipped late this week?' by hitting Skubana through Jentic. Jentic exposes the relevant order, shipment, and warehouse operations as discoverable tools, and the agent composes answers without anyone hand-coding integrations.

Example prompt: Use Jentic to find Skubana order and shipment operations, query them for the last seven days, and aggregate late-shipment counts

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v1.1/inventory` | List inventory across SKUs and stock locations |
| POST | `/v1.1/inventory/adjust` | Adjust on-hand inventory at a stock location |
| GET | `/v1.1/orders` | List orders with filtering |
| GET | `/v1.1/orders/{orderId}` | Retrieve a single order |
| POST | `/v1.1/orders/{orderId}/customfieldvalues` | Write custom field values onto an order |
| GET | `/v1.1/orders/channelpurchases` | List channel purchase orders for reconciliation |

## Key resources

- **Inventory** — Stock levels by SKU and stock location, with adjust/add/remove operations
- **Orders** — Multi-channel orders with line items, custom fields, and channel purchase support
- **Products** — Product master data including variants and bundle composition
- **Shipments** — Shipment plans, statuses, and warehouse assignments
- **Warehouses** — Warehouse and stock-location configuration

## Why Jentic

- **Setup:** Wiring Skubana by hand means setting up its OAuth2 auth, learning the order and inventory resource shapes, and assembling adjustment calls yourself. Through Jentic you install once, import Skubana from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Skubana puts the order id in the URL path (`/orders/{orderId}/...`), so a rule can pin your agent to one order: it can read that order and set custom field values and nothing else. You choose the operations it may call, so inventory adjustment is not included unless you add it.
- **Credential handling:** Your Skubana token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'check inventory levels' or 'look up a purchase order', and Jentic returns the matching Skubana operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Shopify** — Shopify owns the storefront; Skubana keeps inventory and orders in sync across that storefront and other channels.
- **ShipStation** — ShipStation handles label generation and carrier tracking; Skubana provides the order and inventory layer behind it.
- **Extensiv** — Extensiv is the parent platform that absorbed Skubana; this related spec covers other Extensiv surfaces.

## FAQ

### Why is there no official OpenAPI spec for Skubana?

Skubana (now part of Extensiv) does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call REST Services 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 Skubana API use?

Skubana uses OAuth 2.0. You authorize your app, exchange the resulting code for an access token, and send the token as a bearer credential on each request. When called through Jentic, the OAuth token is held and refreshed in the Jentic credential vault, so agents never see the raw token.

### Can I update inventory with the Skubana API?

Yes. Use POST `/v1.1/inventory/adjust` to apply a delta at a specific stock location, `/v1.1/inventory/add` to record an addition, `/v1.1/inventory/remove` to record a removal, and `/v1.1/inventory/updatestocklocation` to change the stock location association for a SKU.

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

The spec does not declare numeric rate limits; Skubana enforces account-level throttling at the platform layer. Build retry-with-backoff into agent calls, and batch reads where possible - for example, paging through `/v1.1/orders` rather than fetching one order at a time.

### How do I retrieve an order with the Skubana API through Jentic?

Install the SDK with `pip install jentic`. Search Jentic for `get a skubana order`, load the schema for GET `/v1.1/orders/{orderId}`, and execute it with the order id. Jentic injects the OAuth token and returns the order including line items and custom fields.

### Does the API support channel purchase orders?

Yes. `/v1.1/orders/channelpurchases` returns marketplace and channel purchase orders. Agents typically use it to reconcile incoming inventory against a marketplace's vendor-side order before adjusting stock levels.

### Can I limit what my agent is allowed to do with the Skubana API?

Yes. Because you run Jentic One yourself, your own rules decide which Skubana operations and credentials the agent may use. Since Skubana puts the order id in the URL path, such as `/v1.1/orders/{orderId}/customfieldvalues`, you can pin the agent to a single order so it only reads that order and writes its custom field values. Operations you do not grant, like POST `/v1.1/inventory/adjust`, stay off limits unless you add them.
