Export 3PL Inventory Comparison Lines
POST/api/3pl-inventory/integration-instances/:integrationInstance/snapshots/:snapshot/export
Export the selected comparison lines as CSV (timestamps in the account timezone). Up to 1,000 lines download immediately as text/csv; larger exports run in the background and return the job ID, whose result carries the download URL.
inventory:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token (inventory:read scope — a read, although it is a POST) and the inventory export 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.
Columns: Line ID, SKU, Product, 3PL SKU, Warehouse, 3PL Locations, 3PL On Hand, SKU.io On Hand at Snapshot, Difference (3PL − SKU.io), Status, 3PL Reserved, SKU.io Allocated at Snapshot, SKU.io On Hold at Snapshot, SKU.io On Hand Now, Unit Cost, Value Difference, Not Comparable Reason, Accepted Stock Take, Snapshot As Of, Settled.
Request
Responses
- 200
- 202
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Accepted
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.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
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.