---
title: SkuVault API Integration on Truto
slug: skuvault
category: E-Commerce
canonical: "https://truto.one/integrations/detail/skuvault/"
---

# SkuVault API Integration on Truto



**Category:** E-Commerce  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 55 tools for SkuVault that AI agents can call directly.

- **create_a_sku_vault_token** — Create a SkuVault API token pair by exchanging account credentials. Returns: TenantToken, UserToken. Required: email, password.
- **list_all_sku_vault_inventory_item_quantities** — List SkuVault product inventory quantities. Returns: Sku, Code, AvailableQuantity, HeldQuantity, PendingQuantity, PickedQuantity, TotalOnHand, LastModifiedDateTimeUtc. Heavy throttling applies.
- **list_all_sku_vault_inventory_available_quantities** — List SKU available quantities across all warehouses in skuvault — the quantity actually available to sell across your sales channels. Returns: AvailableQuantity, IsAlternateSku, LastModifiedDateTimeUtc, Sku, AlternateSkus. Set expand_alternate_skus to true to group alternate SKUs into an AlternateSkus list instead of separate line items. Heavily throttled endpoint.
- **list_all_sku_vault_inventory_kit_quantities** — List kit inventory quantities in SkuVault. Returns: AvailableQuantity, LastModifiedDateTimeUtc, Sku. Optional: modified_after_date_time_utc, modified_before_date_time_utc to narrow results by last-modified window. Subject to heavy throttling.
- **list_all_sku_vault_inventory_item_quantities_by_warehouse** — List SkuVault item quantities for a specific warehouse. Returns per-SKU quantities: Sku, InStockQuantity, InboundQuantity, ReserveQuantity, TransferQuantity, and TotalQuantity. Required: warehouse_id (from SkuVault's warehouse list). Subject to heavy throttling upstream; fetching all SKUs across pages can take several minutes on large tenants.
- **get_single_sku_vault_inventory_item_quantity_by_warehouse_by_id** — Get the quantity of a SkuVault item in its warehouse locations. Returns: Sku, Code, WarehouseCode, LocationCode, Quantity, and Reserve. Supply sku or code to identify the item.
- **list_all_sku_vault_inventory_by_location** — Get inventory by warehouse location in skuvault. Returns a map keyed by product SKU whose entries include LocationCode, Quantity, Reserve, and WarehouseCode. Optionally filter by product_skus or product_codes; filtering by product_codes requires is_return_by_codes to be true, while filtering by product_skus requires it to be false or null.
- **list_all_sku_vault_inventory_lots_by_location** — Get lot inventory quantities by location from SkuVault, retrieving all lot quantities associated with the requested products. Returns per product: Sku, PrimarySku, Code, PrimaryCode, and Locations with LotNumber, WarehouseCode, LocationCode, Quantity, and Reserve. product_skus and is_return_by_codes are mutually exclusive. Heavy throttling applies.
- **list_all_sku_vault_inventory_external_warehouses** — List the external warehouses configured in SkuVault. Returns each warehouse's Id, Code, and Name. No filter parameters are available; the full set of external warehouses is returned.
- **list_all_sku_vault_inventory_external_warehouse_quantities** — Get the SKU quantities held in one external warehouse in SkuVault (external warehouses are distinct from ordinary warehouses). Returns: Sku, InStockQuantity, InboundQuantity, ReserveQuantity, TransferQuantity, TotalQuantity. Required: warehouse_id. When get_total_fba_quantities is true, summed FBA quantities are returned instead and warehouse_id is ignored.
- **sku_vault_inventory_external_warehouse_quantities_bulk_add** — Add SKU quantities to an external warehouse in SkuVault in bulk. Returns the operation Status and any Errors raised.
- **sku_vault_inventory_external_warehouse_quantities_bulk_update** — Update SKU quantities in an external warehouse in SkuVault in bulk. Returns the operation Status and any Errors raised.
- **list_all_sku_vault_inventory_warehouses** — List the warehouses configured in your SkuVault account. Returns each warehouse's Id, Code, and Name; use Id as the WarehouseId when calling inventory endpoints such as addItem. No filtering or pagination parameters.
- **list_all_sku_vault_inventory_locations** — List inventory locations in SkuVault, returning location and warehouse per product. Returns: Sku, PrimarySku, Code, PrimaryCode, and a Locations array with LotNumber, WarehouseCode, LocationCode, Quantity, and Reserve. When filtering by code instead of SKU, set IsReturnByCodes to true.
- **list_all_sku_vault_products_brands** — List brands created in SkuVault. Returns: Name, IsEnabled. Up to 1,000 results per page.
- **list_all_sku_vault_products_classifications** — List product classifications in SkuVault, including each classification's named attributes when they exist. Returns: Name. Required: TenantToken, UserToken. Max 1,000 results per page.
- **create_a_sku_vault_product** — Create a product in SkuVault one at a time. Returns Status and Errors. Requires sku, classification, supplier, and brand.
- **get_single_sku_vault_product_by_id** — Get a single SkuVault product by SKU or barcode. Returns the product record including id, Sku, Code, Title, Classification, and Cost. Provide product_sku or product_code to identify the product.
- **list_all_sku_vault_products** — List SkuVault products, optionally filtered by a UTC modified date range, product_codes, or product_skus. Returns each product's id, Sku, Code, Title, Classification, and Cost.
- **update_a_sku_vault_product_by_id** — Update a SkuVault product identified by its sku. Returns Status and Errors. Required: sku.
- **create_a_sku_vault_kit** — Create a kit in skuvault. Returns Success and Errors. Required: sku, title. Max 500 kit lines per kit.
- **list_all_sku_vault_kits** — List skuvault kits with full details. Returns kit SKU, code, description, statuses, available quantity, kit lines, and last-modified timestamp. Required: modified_after_date_time_utc, modified_before_date_time_utc.
- **create_a_sku_vault_lot** — Create a lot number with its products in skuVault. Returns an empty JSON object on success. Required: LotNumber, ProductIds (product IDs from the /getProducts endpoint; only a single product ID is allowed when the Multilot feature is disabled).
- **list_all_sku_vault_lots** — List the lots associated with a product in skuVault. Returns each lot's LotId, LotNumber, ExpirationDate, LotStatuses, ExternalId, Notes, CreatedDate, LastModifiedDate, FirstReceivedDate, and LotProducts. Required: product_sku.
- **sku_vault_brands_bulk_create** — Bulk create up to 100 brands in skuvault in a single call. Returns: Status, Errors. Required: brands (each item needs Name).
- **sku_vault_classifications_bulk_create** — Bulk create product classifications (and their named attributes) in skuvault. Returns the creation result including Status and Errors. Required: classifications — a list of classification objects, each with Name, IsEnabled, and Attributes.
- **sku_vault_suppliers_bulk_create** — Create up to 100 suppliers in SkuVault in a single call. Returns an Errors array reporting any problems with the create call. Required: suppliers (an array where each supplier may include Name, Emails, EmailTemplateSubject, and EmailTemplateMessage). Max 100 suppliers per call.
- **list_all_sku_vault_suppliers** — List suppliers in SkuVault. Returns, for each supplier: id, Name, Emails, EmailTemplateSubject, and EmailTemplateMessage.
- **list_all_sku_vault_sales** — List sales from SkuVault, optionally narrowed to specific orders or a status. Returns an array of sale records, each with an id plus SkuVault-defined sale fields. Filters: order_ids, status.
- **create_a_sku_vault_sale** — Create an online sale in SkuVault by syncing an order from a sales channel or marketplace. Returns: Status, Errors. The body carries the sale details, including order_id, channel_type, item_skus, fulfilled_items, and shipping_info.
- **sku_vault_sales_bulk_sync_shipped_and_remove_items** — Sync up to 100 shipped sales in SkuVault per call and auto-remove their picked quantities from inventory. Returns: Status, Errors. Required: sales (array of shipped-sale payloads, max 100 per call).
- **update_a_sku_vault_sale_by_id** — Sync a shipped sale in SkuVault and auto-remove the picked quantity from inventory. Returns: Status, Errors. Required: order_id. Use the bulk variant to sync up to 100 sales per call.
- **sku_vault_sales_partial_update** — Update a sale's status in SkuVault (Pending, ReadyToShip, Completed, Cancelled, Invalid, or ShippedUnpaid). Returns: Status, Errors. Required: status; identify the sale with sale_id or order_id.
- **list_all_sku_vault_inventory_transactions** — List SkuVault inventory transactions — the record of quantity changes across warehouse locations. Returns each transaction with fields including Sku, Quantity, WarehouseId, LocationCode, Reason, TransactionType, SaleId, and UserEmail. Can be narrowed by date range, warehouse, sale, user, and transaction reason.
- **sku_vault_inventory_items_bulk_set_quantity** — Set inventory quantities for items at warehouse locations in skuvault, in bulk. Returns: Results, Status, Errors. Required: items.
- **sku_vault_inventory_items_bulk_pick** — Pick inventory quantities from warehouse locations in skuvault, in bulk. Returns: Results, Status, Errors. Required: items.
- **sku_vault_inventory_items_bulk_add** — Add inventory quantity to warehouse locations in skuvault, 100 items at a time. Returns: Results, Status, Errors. Required: items.
- **sku_vault_inventory_items_bulk_delete** — Remove inventory quantities from warehouse locations in skuvault, in bulk. Returns: Results, Status, Errors. Required: items.
- **delete_a_sku_vault_inventory_item_by_id** — Remove inventory quantity for a product, identified by sku or code, from a warehouse location in skuvault. Returns an empty 204 response on success. Required: warehouse_id, location_code, quantity, reason.
- **update_a_sku_vault_inventory_item_by_id** — Set the quantity of an item at a warehouse location in skuvault. Returns: Status, Errors. Required: warehouse_id, location_code, quantity, and a product sku or code (each used when the other is blank).
- **sku_vault_inventory_items_partial_update** — Pick (decrement) quantity of an item from a warehouse location in skuvault. Returns: Status, Errors. Required: warehouse_id, location_code, quantity, reason, and a product sku or code (each used when the other is blank).
- **create_a_sku_vault_shipment** — Add one or more shipments to a sale in SkuVault. Accepts a shipments array with carrier, tracking, parcels, costs, and shipped-from details. Returns an empty 204 response on success. Required: shipments. Truto supplies the TenantToken and UserToken that SkuVault requires from the connected account. Subject to heavy throttling.
- **update_a_sku_vault_shipment_by_id** — Update existing shipments on a sale in SkuVault. Required: shipments — an array where each entry must include SaleId, Source, TrackingNumber, Carrier, Class, Type, Status, and TrackingUrl (set Status to "Voided" to void a shipment). Returns: Status, Errors. Subject to heavy rate limiting.
- **list_all_sku_vault_shipments** — List shipments in SkuVault. Returns each shipment's sale ID, tracking number, carrier, class, type, status, tracking URL, shipped-from address, costs, parcels, and landed costs.
- **create_a_sku_vault_hold** — Create one or more inventory holds in skuvault for the specified SKUs. Returns per-SKU results including Sku and Quantity (the product's new Available Quantity, with the held amount deducted). Required: holds.
- **delete_a_sku_vault_hold_by_id** — Release held quantities in skuvault, returning the held inventory back to Available. Returns per-SKU results including Sku and Quantity (the product's Available Quantity after the release). Required: holds — each item needs Sku and Quantity.
- **list_all_sku_vault_integrations** — List enabled channel accounts in SkuVault. Returns: Accounts. No pagination — all accounts are returned in a single response.
- **create_a_sku_vault_purchase_order** — Create a purchase order in skuvault. Returns the creation status and the new PO's PoNumber. Required: supplier_name and at least one line_items entry; po_number is auto-generated when omitted.
- **list_all_sku_vault_purchase_orders** — List purchase orders in skuvault, optionally filtered by status, po_numbers, or a UTC modified-date range. Returns each PO's Id, PoNumber, SupplierName, Status, OrderDate, and LineItems.
- **update_a_sku_vault_purchase_order_by_id** — Update an existing purchase order in skuvault. Returns the updated PO including Id, PoNumber, SupplierName, Status, and LineItems. Required: purchase_order_id.
- **sku_vault_sale_item_costs_search** — Search SkuVault sale item costs by sale and SKU. Returns the paginated sale item cost data for records matching the supplied sale_id and sku.
- **list_all_sku_vault_serial_numbers** — List the serial numbers tracked for a product in skuvault. Returns the SerialNumbers collection with warehouse and location details, plus Status and Errors. Required: product_sku.
- **list_all_sku_vault_sold_items** — List items sold in skuvault within a UTC date range. Returns sold item records with id and sale-specific attributes (fields defined upstream). Date range must not exceed 14 days; 10,000 sold items per page.
- **list_all_sku_vault_purchase_order_incoming_items** — List incoming items for incomplete purchase orders in SkuVault. Returns IncomingItems, a map of purchase order numbers to arrays of items with ItemId, SKU, Quantity, ThirdPartyLogisticQuantity, and ItemCost. Pagination is 0-based.
- **list_all_sku_vault_purchase_order_receives_history** — List receive history entries for purchase orders in SkuVault. Returns: id, attributes.

## How it works

1. **Link your customer's SkuVault account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach SkuVault.** The Proxy API is a 1-to-1 mapping of the SkuVault API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync inventory to sales channels in real time** — Storefront and marketplace SaaS platforms can pull available quantities from SkuVault and push new orders back in, keeping merchant channels accurate and preventing overselling without building direct WMS plumbing.
- **Automate procurement and demand planning** — Forecasting and supply chain tools can extract sold items, inventory transactions, and open PO data to model demand, then write draft purchase orders back into SkuVault when a stockout is predicted.
- **Close the shipping and fulfillment loop** — Multi-carrier shipping platforms can pull ready-to-ship sales, write back carrier and tracking data, and bulk-mark sales as shipped to auto-deduct picked inventory in one call.
- **Manage returns and RMA inventory** — Returns platforms can place temporary holds on replacement units, then add returned items back into specific warehouse locations once physically received — all synced with SkuVault as the source of truth.
- **Power B2B and wholesale ordering portals** — Wholesale commerce platforms can read exact lot and location data to let buyers claim specific batches, then inject large orders as sales that immediately reserve inventory away from D2C channels.

## What you can build

- **Two-way inventory sync** — Continuously pull available, warehouse-level, and kit quantities from SkuVault and push adjustments back using bulk set, add, pick, and delete operations.
- **Order-to-shipment pipeline** — Create sales in SkuVault from external channels, attach shipment and tracking data, and bulk-sync shipped sales to auto-deduct picked inventory.
- **Automated PO generation** — Read historical sold items, transaction history, and incoming PO quantities to trigger new purchase orders in SkuVault directly from a forecasting model.
- **Lot and serial number compliance views** — Surface lot-by-location and serial number data to end users for expiry tracking, recall workflows, or regulated-industry audit trails.
- **Dynamic kitting and bundling** — Create kits programmatically and query kit quantities so merchandising and promotion tools know exactly how many bundles can be assembled from component stock.
- **Returns and hold orchestration** — Place holds on replacement inventory during RMA flows, then bulk-add returned items back into designated locations and release the hold on fulfillment.

## FAQs

### How does authentication with SkuVault work through Truto?

SkuVault requires a TenantToken and UserToken generated via its token endpoint using the end user's email and password. Truto handles this token exchange during the connection flow so your end users only complete a standard credential form and you never store or refresh tokens yourself.

### How fresh is inventory data from SkuVault?

Truto calls SkuVault's REST API on demand, so reads reflect the current state at request time. Note that SkuVault throttles the available-quantities endpoint aggressively upstream, so for high-frequency channel sync we recommend polling on a schedule and caching between calls.

### Can I create and update sales, shipments, and purchase orders — not just read?

Yes. Truto exposes write operations for sales (create, update, partial update, bulk sync shipped), shipments (create, update), purchase orders (create, update), kits, lots, holds, and bulk inventory adds/picks/sets/deletes, covering full order-to-fulfillment and procurement workflows.

### Does the integration support bulk operations for high-volume merchants?

Yes. Truto exposes SkuVault's native bulk endpoints for inventory items (add, pick, set quantity, delete), sales (bulk sync shipped and remove items, up to 100 at once), external warehouse quantities, brands, classifications, and suppliers.

### Can I access lot, serial number, and multi-warehouse data?

Yes. You can list warehouses, locations, inventory by location, lots by location, serial numbers, external warehouses and their quantities, and item quantities scoped to a specific warehouse — sufficient for compliance, 3PL, and multi-location scenarios.

### What if I need a SkuVault endpoint that isn't currently exposed?

Truto adds new endpoints on request. If your workflow needs an operation not listed in the current tool set, reach out and it can typically be added to the integration without you having to build against SkuVault directly.

## Related reading

- [Connect SkuVault to ChatGPT: Manage Inventory & Warehouse Ops](https://truto.one/blog/connect-skuvault-to-chatgpt-manage-inventory-warehouse-ops/) — A technical guide to connecting SkuVault to ChatGPT using a managed MCP server. Automate inventory audits, PO generation, and warehouse fulfillment workflows.
- [Connect SkuVault to Claude: Sync Sales, Shipments & Order Status](https://truto.one/blog/connect-skuvault-to-claude-sync-sales-shipments-order-status/) — Learn how to build a secure MCP server for SkuVault and connect it to Claude to automate inventory checks, order routing, and shipping workflows.
- [Connect SkuVault to AI Agents: Automate Products, POs & Kits](https://truto.one/blog/connect-skuvault-to-ai-agents-automate-products-pos-kits/) — Learn how to connect SkuVault to AI agents using Truto's /tools endpoint. Fetch tools, handle SkuVault rate limits, and automate POs and kit assembly.
