Wayfair · Capability

Wayfair Supplier Operations

Workflow capability combining Wayfair's GraphQL Supplier API to enable end-to-end supplier operations including order management, inventory synchronization, catalog management, and shipping automation. Used by supplier integration engineers and e-commerce operations teams to automate fulfillment workflows for the Wayfair marketplace.

Run with Naftiko E-CommerceSuppliersOrder ManagementInventoryCatalogShippingWayfair

What You Can Do

POST
Get access token — Obtain OAuth2 access token using client credentials.
/v1/auth/token
POST
Get purchase orders — Query purchase orders via GraphQL.
/v1/orders
POST
Update inventory — Update inventory levels via GraphQL mutation.
/v1/inventory
POST
Update catalog — Update product catalog entries via GraphQL.
/v1/catalog
POST
Submit shipment notification — Submit Advanced Shipment Notification (ASN) via GraphQL.
/v1/shipments

MCP Tools

authenticate

Authenticate with Wayfair and obtain an OAuth2 access token for subsequent API calls.

get-purchase-orders

Query Wayfair purchase orders using GraphQL. Retrieve new, pending, or acknowledged orders from Wayfair buyers.

read-only
acknowledge-purchase-order

Acknowledge a Wayfair purchase order via GraphQL mutation to confirm acceptance and begin fulfillment.

update-inventory

Update inventory levels for SKUs in the Wayfair marketplace via GraphQL mutation.

idempotent
update-catalog

Update product catalog entries including pricing, descriptions, and attributes via GraphQL.

idempotent
submit-shipment-notification

Submit an Advanced Shipment Notification (ASN) to Wayfair with carrier details and tracking numbers.

query-graphql

Execute any GraphQL query or mutation against the Wayfair Supplier API for custom integration workflows.

APIs Used

wayfair

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Wayfair Supplier Operations"
  description: >-
    Workflow capability combining Wayfair's GraphQL Supplier API to enable
    end-to-end supplier operations including order management, inventory
    synchronization, catalog management, and shipping automation. Used by
    supplier integration engineers and e-commerce operations teams to automate
    fulfillment workflows for the Wayfair marketplace.
  tags:
    - E-Commerce
    - Suppliers
    - Order Management
    - Inventory
    - Catalog
    - Shipping
    - Wayfair
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      WAYFAIR_CLIENT_ID: WAYFAIR_CLIENT_ID
      WAYFAIR_CLIENT_SECRET: WAYFAIR_CLIENT_SECRET

capability:
  consumes:
    - import: wayfair
      location: ./shared/wayfair-supplier-api.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: wayfair-supplier-ops-api
      description: "Unified REST API for Wayfair supplier operations workflows."
      resources:
        - path: /v1/auth/token
          name: authentication
          description: "Authenticate with the Wayfair platform."
          operations:
            - method: POST
              name: get-access-token
              description: "Obtain OAuth2 access token using client credentials."
              call: "wayfair.get-access-token"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/orders
          name: orders
          description: "Purchase order management operations."
          operations:
            - method: POST
              name: get-purchase-orders
              description: "Query purchase orders via GraphQL."
              call: "wayfair.execute-graphql-query"
              with:
                query: "rest.query"
                variables: "rest.variables"
              outputParameters:
                - type: object
                  mapping: "$.data"

        - path: /v1/inventory
          name: inventory
          description: "Inventory management operations."
          operations:
            - method: POST
              name: update-inventory
              description: "Update inventory levels via GraphQL mutation."
              call: "wayfair.execute-graphql-query"
              with:
                query: "rest.query"
                variables: "rest.variables"
              outputParameters:
                - type: object
                  mapping: "$.data"

        - path: /v1/catalog
          name: catalog
          description: "Product catalog management operations."
          operations:
            - method: POST
              name: update-catalog
              description: "Update product catalog entries via GraphQL."
              call: "wayfair.execute-graphql-query"
              with:
                query: "rest.query"
                variables: "rest.variables"
              outputParameters:
                - type: object
                  mapping: "$.data"

        - path: /v1/shipments
          name: shipments
          description: "Shipping notification operations."
          operations:
            - method: POST
              name: submit-shipment-notification
              description: "Submit Advanced Shipment Notification (ASN) via GraphQL."
              call: "wayfair.execute-graphql-query"
              with:
                query: "rest.query"
                variables: "rest.variables"
              outputParameters:
                - type: object
                  mapping: "$.data"

    - type: mcp
      port: 9090
      namespace: wayfair-supplier-ops-mcp
      transport: http
      description: "MCP server for AI-assisted Wayfair supplier operations management."
      tools:
        - name: authenticate
          description: "Authenticate with Wayfair and obtain an OAuth2 access token for subsequent API calls."
          hints:
            readOnly: false
            openWorld: false
          call: "wayfair.get-access-token"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-purchase-orders
          description: "Query Wayfair purchase orders using GraphQL. Retrieve new, pending, or acknowledged orders from Wayfair buyers."
          hints:
            readOnly: true
            openWorld: false
          call: "wayfair.execute-graphql-query"
          with:
            query: "tools.query"
            variables: "tools.variables"
          outputParameters:
            - type: object
              mapping: "$.data"

        - name: acknowledge-purchase-order
          description: "Acknowledge a Wayfair purchase order via GraphQL mutation to confirm acceptance and begin fulfillment."
          hints:
            readOnly: false
            openWorld: false
          call: "wayfair.execute-graphql-query"
          with:
            query: "tools.query"
            variables: "tools.variables"
          outputParameters:
            - type: object
              mapping: "$.data"

        - name: update-inventory
          description: "Update inventory levels for SKUs in the Wayfair marketplace via GraphQL mutation."
          hints:
            readOnly: false
            idempotent: true
          call: "wayfair.execute-graphql-query"
          with:
            query: "tools.query"
            variables: "tools.variables"
          outputParameters:
            - type: object
              mapping: "$.data"

        - name: update-catalog
          description: "Update product catalog entries including pricing, descriptions, and attributes via GraphQL."
          hints:
            readOnly: false
            idempotent: true
          call: "wayfair.execute-graphql-query"
          with:
            query: "tools.query"
            variables: "tools.variables"
          outputParameters:
            - type: object
              mapping: "$.data"

        - name: submit-shipment-notification
          description: "Submit an Advanced Shipment Notification (ASN) to Wayfair with carrier details and tracking numbers."
          hints:
            readOnly: false
            openWorld: false
          call: "wayfair.execute-graphql-query"
          with:
            query: "tools.query"
            variables: "tools.variables"
          outputParameters:
            - type: object
              mapping: "$.data"

        - name: query-graphql
          description: "Execute any GraphQL query or mutation against the Wayfair Supplier API for custom integration workflows."
          hints:
            readOnly: false
            openWorld: false
          call: "wayfair.execute-graphql-query"
          with:
            query: "tools.query"
            variables: "tools.variables"
            operationName: "tools.operationName"
          outputParameters:
            - type: object
              mapping: "$."