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

# Wayfair API Integration on Truto



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

## MCP-ready AI tools

Truto exposes 27 tools for Wayfair that AI agents can call directly.

- **list_all_wayfair_dropship_purchase_orders** — List Wayfair dropship purchase orders, sorted by purchase order date. Returns purchase orders with id, poNumber, poDate, status, supplier and customer addresses, shippingInfo, warehouse, and products. Default limit 10; pass has_response=false to retrieve open purchase orders.
- **wayfair_dropship_purchase_orders_accept** — Accept line items on a Wayfair dropship purchase order. Returns the transaction status including id, handle, status, submittedAt, itemCount, and per-item errors. Required: po_number, ship_speed, line_items. Max 10 line items per request.
- **wayfair_dropship_purchase_orders_ship** — Send a Wayfair Advanced Shipment Notification (ASN) confirming that purchase order items have shipped and updating customer tracking. Returns the transaction status including handle, status, submittedAt, itemCount, and per-item errors. Required: notice. Max 10 line items per request.
- **list_all_wayfair_castlegate_purchase_orders** — List Wayfair CastleGate purchase orders via the getCastleGatePurchaseOrders GraphQL query. Returns: poNumber, poDate, status. Limit defaults to 10 with a max of 25; poll ideally every 30 minutes.
- **wayfair_castlegate_purchase_orders_acknowledge** — Acknowledge receipt of a Wayfair CastleGate purchase order. Returns: handle, status, errors. Required: po_number. Rate limited to 1 request per 3 seconds.
- **list_all_wayfair_castlegate_shipping_advices** — List CastleGate warehouse shipping advices (WSAs) in Wayfair. Returns each advice with wsaId, shipDate, carrierCode, and a products array with quantityOrdered and quantityShipped. Optional filters: from_date, has_response, wsa_ids, sort_order, limit.
- **wayfair_castlegate_shipping_advices_acknowledge** — Acknowledge one or more CastleGate warehouse shipping advices in Wayfair by wsa_ids. Returns: handle, status, errors. Required: wsa_ids.
- **wayfair_inventory_save** — Save inventory line items in Wayfair by submitting an inventory feed via the SaveInventory GraphQL mutation. Returns: handle, status. Required: inventory. Send a TRUE_UP full feed at least every 24 hours and DIFFERENTIAL partial feeds for production updates; the sandbox accepts TRUE_UP only with a maximum of 500 line items.
- **list_all_wayfair_inventory_adjustments** — List CastleGate inventory adjustments in Wayfair. Returns each adjustment record with eventDate, adjustmentType, supplierPartNumber, quantity, description, and the warehouse (warehouseId, name, address) where it occurred. Required: supplier_id.
- **list_all_wayfair_inventory_summaries** — List Wayfair inventory position summaries by supplier part, including CastleGate and physical retail on-hand breakdowns per warehouse. Returns: supplierPartNumber, sku, productName, manufacturerPartId, options, inventoryPosition. Required: supplier_id. filter.supplierPartNumbers accepts 1-100 part numbers; omit filter to query all parts.
- **create_a_wayfair_fulfillment_order** — Create a Wayfair multi-channel fulfillment order with customer, retailer, item, shipping, and address details. Returns: fulfillmentOrderRequestId, requestStatus (ACCEPTED/REJECTED/PROCESSING), and errors. Required: fulfillment_order_input. Up to 10 items per request.
- **get_single_wayfair_fulfillment_order_by_id** — Get detailed information for a single Wayfair multi-channel fulfillment order, identified by supplierId plus fulfillmentOrderRequestId. Returns: fulfillmentOrder (requestId, status, statusLabel, orderDate, customerOrderNumber, retailer, items with statuses and trackingNumbers) and fulfillmentOrderErrors. Required: order_details_input containing supplierId and fulfillmentOrderRequestId.
- **list_all_wayfair_fulfillment_orders** — List all Wayfair multi-channel fulfillment orders for a supplier, paginated. Returns: pageInfo (hasNextPage, hasPreviousPage, totalPages, totalItems) and nodes, each holding a fulfillmentOrder (requestId, status, statusLabel, orderDate, customerOrderNumber, retailer, items) plus fulfillmentOrderErrors. Required: order_details_list_input containing supplierId.
- **wayfair_fulfillment_orders_cancel** — Cancel a Wayfair multi-channel fulfillment order by aggregatorOrderId and supplierId. Returns: aggregatorOrderId, order-level errors, and per-item results (fulfillmentOrderItemId, supplierPartNumber, requestStatus, errors). Required: cancel_fulfillment_order_input containing aggregatorOrderId and supplierId.
- **list_all_wayfair_warehouse_shipping_advices** — List Wayfair warehouse shipping advices (WSAs) with tracking details for multi-channel fulfillment order items. Returns: fulfillment_order_item_id, warehouse_shipping_advice_date, fulfillment_order_request_id, fulfillment_purchase_order_number, supplier_id, retailer, product_details, shipping_details, tracking. Required: warehouse_shipping_advice_input (with supplierId); fulfillmentOrderItemIds…
- **create_a_wayfair_product_addition** — Submit new product additions to Wayfair via the productAddition.submit GraphQL mutation. Returns the GraphQL response envelope with data.productAddition.submit.requestIds (poll via productAddition.submissions) and errors. Required: request (supplierId, proposedProductAdditions). Recommended max 100 products per request; manufacturerId and manufacturerName are mutually exclusive.
- **list_all_wayfair_product_addition_submissions** — List Wayfair product addition submissions for a supplier, optionally narrowed to the request ids returned when the additions were submitted. Returns: supplierId, marketContext. Required: request (with supplierId).
- **list_all_wayfair_product_addition_questions** — List Wayfair product addition questions (generic and class-specific) for a given supplier, product class, and market context. Returns: id. Required: request.
- **list_all_wayfair_taxonomy_categories** — List Wayfair product catalog taxonomy categories for a given market context. Returns the page's pageInfo (page, pageSize, hasNextPage, totalPages) and items with taxonomyCategoryId and name. Required: market_context. pageSize must be one of 10, 20, 25, 50.
- **list_all_wayfair_brand_associations** — List Wayfair brand associations for a supplier within a market context via the Product Catalog GraphQL API. Returns: brands (each with id and manufacturer {id, name}) and pageInfo (hasNextPage, hasPreviousPage, totalPages). Required: request.
- **list_all_wayfair_media_metadata_tags** — List Wayfair Product Catalog media metadata tags for a market context, grouped by tag type (document, legal document, language, region). Returns: metaDataTagType, metaDataTags. Required: media_metadata_tag.
- **list_all_wayfair_catalog_items** — List paginated supplier catalog items from Wayfair's Catalog Read API V2. Returns: requestId, supplierId, filter, paginationOptions. Required: input (supplierId; paginationOptions: page >= 1, pageSize 1-30, default 30). Drive pagination from paginationInfo.hasNextPage.
- **update_a_wayfair_catalog_item_by_id** — Update market-specific catalog items (item name, taxonomy attributes) in Wayfair. Returns: requestId, supplierId, filter, paginationOptions. Required: input (supplierId, marketContext, catalogItemsToUpdate with supplierPartNumber; optional itemName, attributes, validateOnly). Up to 500 catalog entities per request.
- **update_a_wayfair_catalog_item_group_by_id** — Update Wayfair catalog item groups (item group name, feature bullets, marketing copy) within a specific market context. Returns the GraphQL envelope: data (holding the mutation's requestId, which the caller polls via statusOfUpdateRequest) and errors (message, extensions.category, path) when the request is rejected. Required: input with supplierId, marketContext, catalogItemGroupsToUpdate (each…
- **update_a_wayfair_catalog_item_media_by_id** — Update catalog item media in Wayfair via the updateCatalogItemsMedia mutation — attach or replace media by URL and optionally override the item's lead image. Returns: requestId, supplierId, filter, paginationOptions. Required: input (with supplierPartNumber, mediaUrl, mediaType, leadImageOverride). Media updates apply to all market contexts.
- **get_single_wayfair_catalog_update_request_by_id** — Get the status of a Wayfair catalog update request (items, item groups, or media) using the supplierId and the requestId returned from the update mutation. Returns: requestId, validationOnly, status, problems (code, message), and successfulUpdates (entityId, entityType). Required: input with supplierId and requestId. A COMPLETED status can still carry per-entity problems.
- **list_all_wayfair_supplier_catalog** — List products from a Wayfair supplier catalog via the supplierCatalog GraphQL export. Returns: supplierId. Required: supplier_id. Only one filter type per request; pagination_options.pageSize must be 10, 20, or 25.

## How it works

1. **Link your customer's Wayfair 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 Wayfair.** The Proxy API is a 1-to-1 mapping of the Wayfair 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

- **Automate dropship order-to-cash for Wayfair suppliers** — OMS and ERP platforms can offer end-to-end dropship automation — pulling new Wayfair POs, accepting line items, and firing ASNs with tracking — so their supplier customers avoid Wayfair's late-shipment penalties and maintain compliance scores.
- **Keep Wayfair inventory perfectly in sync from any IMS** — Inventory management platforms can push scheduled TRUE_UP feeds and near-real-time DIFFERENTIAL updates to Wayfair, preventing overselling on high-velocity SKUs without asking users to manage feed schedules or file formats themselves.
- **Publish and maintain Wayfair catalogs from a PIM** — PIM vendors can let brands map master product data to Wayfair's taxonomy, submit product additions, and update descriptions, media, and category assignments — replacing Wayfair's error-prone spreadsheet workflows with structured, auditable syncs.
- **Route non-Wayfair orders into CastleGate for MCF** — Order routing engines and 3PL platforms can dispatch Shopify, Amazon, or DTC orders into Wayfair's CastleGate warehouse network and stream fulfillment status back to the originating channel — turning Wayfair into a multi-channel 3PL for their users.
- **Give CastleGate suppliers full inbound and outbound visibility** — Supply chain and WMS platforms can acknowledge CastleGate POs, retrieve shipping advices, and reconcile CastleGate on-hand inventory per warehouse — giving suppliers a single pane of glass across their Wayfair-held stock.

## What you can build

- **Dropship PO polling and auto-acknowledgment** — Poll new dropship purchase orders on a schedule, evaluate local stock, and call the accept endpoint automatically to hit Wayfair's acknowledgment SLAs.
- **One-click ASN and tracking submission** — Let warehouse users submit shipping confirmations that push carrier, tracking number, and package details to Wayfair via the dropship ship endpoint to trigger billing.
- **Scheduled TRUE_UP and event-driven DIFFERENTIAL feeds** — Ship a dual-mode inventory sync that pushes a nightly full overwrite plus delta updates whenever local stock changes, using the inventory save endpoint.
- **Wayfair catalog publisher with async status tracking** — Submit product additions and catalog item updates, then poll catalog update request IDs to surface success, failure, and validation errors back to your users in-app.
- **CastleGate inbound workflow console** — Surface CastleGate purchase orders and shipping advices with acknowledgment actions so supply chain teams can confirm inbound replenishments without leaving your product.
- **Multi-channel fulfillment routing to CastleGate** — Create Wayfair fulfillment orders from external sales channels and poll fulfillment order status and warehouse shipping advices to push tracking back to Shopify, Amazon, or your OMS.

## FAQs

### How does authentication to Wayfair work through Truto?

Wayfair uses OAuth 2.0 client credentials issued through the Wayfair Partner Home developer portal. Truto handles the token exchange, refresh, and secure storage per connected account, so your end users only complete the connection flow once.

### Which Wayfair operations are supported today?

Truto exposes tools across dropship POs (list, accept, ship), CastleGate POs and shipping advices (list, acknowledge), inventory (save feeds, list adjustments and summaries), fulfillment orders for MCF (create, get, list, cancel), warehouse shipping advices, and the full V2 catalog surface including product additions, taxonomy, brand associations, media tags, catalog items, and update request polling.

### How do we handle Wayfair's asynchronous catalog updates?

Catalog item and media updates return a request ID rather than an immediate result. Use get_single_wayfair_catalog_update_request_by_id to poll for completion status and surface validation errors — Truto normalizes the request/response shape so you can build a single polling loop across all catalog mutations.

### Can we push both full and delta inventory updates?

Yes. wayfair_inventory_save supports both TRUE_UP (full overwrite) and DIFFERENTIAL (delta) payloads, so you can implement a scheduled nightly reconciliation plus event-driven updates from your users' warehouse or IMS.

### How fresh is dropship PO data?

Wayfair does not push webhooks for new POs, so freshness is a function of your polling cadence. Most production integrations poll list_all_wayfair_dropship_purchase_orders every 5–15 minutes to stay within Wayfair's acknowledgment SLAs.

### Does Truto support both dropship and CastleGate (3PL) workflows?

Yes. Truto exposes separate tool sets for dropship POs and CastleGate POs, plus CastleGate shipping advices and fulfillment orders for MCF — so you can support pure dropship suppliers, CastleGate-only suppliers, or hybrid models from a single integration.

## Related reading

- [Connect Wayfair to Claude: Handle Multi-Channel Fulfillment and WSAs](https://truto.one/blog/connect-wayfair-to-claude-handle-multi-channel-fulfillment-and-wsas/) — Learn how to connect Wayfair to Claude using a managed MCP server. Automate dropship purchase orders, CastleGate WSAs, and multi-channel fulfillment via LLM.
- [Connect Wayfair to ChatGPT: Sync Catalog, Orders, and Inventory](https://truto.one/blog/connect-wayfair-to-chatgpt-sync-catalog-orders-and-inventory/) — Learn how to connect Wayfair to ChatGPT using a managed MCP server. Automate dropship orders, inventory feeds, and CastleGate WSAs using AI agents.
- [Connect Wayfair to AI Agents: Automate Dropship and Product Feeds](https://truto.one/blog/connect-wayfair-to-ai-agents-automate-dropship-and-product-feeds/) — Learn how to connect Wayfair to AI agents using Truto. Build autonomous workflows for dropship orders, CastleGate logistics, and inventory feeds.
