Get Inventory Without SKU.io Products
GET/api/veracore/integration-instances/:integration_instance/inventory/without-sku-products
Veracore inventory rows with no SKU.io product behind them — items the warehouse holds that this account has never mapped. needs_review marks rows where an automatic match was attempted and rejected, which is the shortlist worth mapping by hand first.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Every balance in this surface is the Veracore available with reserved figure (on hand minus unavailable), exposed as veracore_available. Veracore publishes no raw on-hand number, so nothing here should be presented as "On Hand". The on_hand key is retained only because it is the sort and filter key for the same value.
The feed is paginated (page, per_page, default 15) and filtered server-side. veracore_product_row_id is the Veracore catalogue record behind the item when one exists, and null when the item was never catalogued — which is itself one of the two ways a row lands in this list.
Search
filter[search] runs a fuzzy LIKE across veracore_product_id, title and veracore_warehouse_name.
Filters
Every filterable column takes an operator suffix, e.g. filter[sku.contains]=WID. The bare form (filter[sku]=WID-BLU-12) is equivalent to .is.
- Text operators:
is,is_not,contains,does_not_contain,is_one_of,is_not_one_of,starts_with,does_not_start_with,ends_with,does_not_end_with,is_empty,is_not_empty. - Numeric 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. - Datetime operators:
is,is_not,before,after,on_or_before,on_or_after,between,is_empty,is_not_empty, plus the relative operatorstoday,yesterday,tomorrow,past_week,past_month,past_year,next_week,next_month,next_year.
Advanced filter groups
Instead of flat keys, clients may send a base64-encoded filter_groups tree, nesting AND/OR groups over the same columns. Unregistered columns inside the tree are silently ignored.
- Text columns:
veracore_product_id,title,veracore_warehouse_id,veracore_warehouse_name. - Numeric columns:
id,on_hand,available,committed,incoming. - Boolean columns:
is_multi_product_offer,needs_review(send1or0). filter[status]takesneeds_revieworunmapped.unmappeddeliberately matches rows with no catalogue record as well as catalogued rows that were never reviewed, so the two statuses sum back to the full list.
Sorting
sort accepts id, veracore_product_id, title, veracore_warehouse_id, veracore_warehouse_name, on_hand, available, committed, incoming, is_multi_product_offer, needs_review (prefix with - for descending). Default sort is veracore_product_id.
Errors
404when the integration instance does not exist or is not a Veracore instance.
Authentication: Requires Bearer token.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.