Preview Accepting 3PL Counts
POST/api/3pl-inventory/integration-instances/:integrationInstance/snapshots/:snapshot/stock-takes/preview
Show what accepting the 3PL's count for a selection would create: acceptable lines, and units and value per warehouse, plus lines that would be skipped (already accepted, or not acceptable: exact, 3PL-only, unmapped location, not comparable).
inventory:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token (inventory:write scope) and the inventory count permission.
Select lines with exactly one of:
line_ids: explicit line IDsfilter: the same keys as the List Comparison Lines filters (e.g. {"status": "sku_higher", "warehouse_id": "7", "filter_groups": "<base64>"}). An empty object selects every line. The filter is resolved against the stored snapshot, never the live 3PL figures.
Returns 422 when the snapshot is not the integration's latest completed snapshot or is older than 48 hours.
Every selected line is re-read from the inventory ledger at the snapshot time before it is counted, so a difference already closed by a movement recorded since the snapshot is reported under skipped.already_resolved instead of being adjusted again.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 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.
Unprocessable Entity
Response Headers
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.