Skip to main content

List Faire Inventory

GET 

/api/faire/instances/:integrationInstance/inventory

List the inventory comparison for a Faire integration instance — one row per Faire listing/variant, comparing the SKU.io quantity against the last-known quantity on Faire.

Authorization

Any valid API token can call this endpoint — no specific scope required. Manage tokens.

Rows come from a locally cached snapshot that is kept current by the fetch, push, and recache actions (and by the scheduled inventory sync). Each row's status is derived as:

  • needs_recalc — the SKU.io quantity is flagged for recalculation and the row is excluded from pushes until recached
  • synced — quantities match (negative SKU.io quantities are treated as 0 for the comparison)
  • variance — quantities differ; the row will be included in the next push

Path Parameters:

  • integrationInstance - The ID of the integration instance

Query Parameters:

  • page (optional) - Page number (default: 1)
  • per_page (optional) - Results per page (default: 10)
  • sort (optional) - Prefix with - for descending. Allowed: id, sku_quantity, sales_channel_quantity, sales_channel_quantity_updated_at, sales_channel_quantity_synced_at, created_at, updated_at (default: -id)
  • filter[search] (optional) - Fuzzy search across listing SKU, listing title, and SKU.io product SKU
  • filter[status.is] (optional) - synced, variance, or needs_recalc (aliases in_sync, needs_update accepted); status.is_one_of takes a comma-separated list, status.is_not excludes one value
  • filter[listing_sku.*] / filter[title.*] (optional) - Text filters with operators: contains, does_not_contain, is, is_not, is_one_of, is_not_one_of, starts_with, does_not_start_with, ends_with, does_not_end_with, is_empty, is_not_empty
  • filter[sku_quantity.*] / filter[sales_channel_quantity.*] (optional) - Numeric filters with operators: is, is_not, is_one_of, is_not_one_of, greater_than, less_than, greater_than_or_equal, less_than_or_equal, between, is_empty, is_not_empty
  • filter[sales_channel_quantity_updated_at.*], filter[sales_channel_quantity_synced_at.*], filter[created_at.*], filter[updated_at.*] (optional) - Datetime filters with operators: is, is_not, before, after, on_or_before, on_or_after, between, is_empty, is_not_empty, today, yesterday, tomorrow, past_week, past_month, past_year, next_week, next_month, next_year, days_ago, days_from_now, past_days, next_days
  • filter_groups (optional) - Base64-encoded JSON tree of nested AND/OR filter groups

Response: Paginated list. Each row contains:

  • id - Inventory cache row ID
  • product_listing_id - SKU.io product listing ID
  • document_id - Faire variant record ID
  • sku - Listing SKU (falls back to the Faire variant SKU)
  • title - Listing title (falls back to the Faire product name)
  • product_sku - Linked SKU.io product SKU
  • sku_quantity - Current SKU.io sellable quantity
  • sales_channel_quantity - Last-known quantity on Faire (null if never fetched)
  • variance - SKU.io quantity (clamped at 0) minus the Faire quantity
  • change_needed - Quantity delta a push would send (null if the Faire quantity was never fetched)
  • status - synced, variance, or needs_recalc
  • is_sku_recalculation_needed - True when the SKU.io quantity is stale and pending recalculation
  • sales_channel_quantity_updated_at - When the Faire quantity was last fetched
  • sales_channel_quantity_synced_at - When a quantity was last pushed to Faire
  • sku_quantity_updated_at - When the SKU.io quantity was last recalculated
  • created_at / updated_at - Cache row timestamps
  • faire_variant_id - Faire variant ID
  • faire_listing_url - Listing URL on Faire (currently always null)

Request

Responses

OK

Response Headers
    Content-Type