---
title: "Inventory Table - Export Velocity"
method: POST
path: "/s/job/inventory_table/export_velocity"
tags: ["inventory_table"]
---

# Inventory Table - Export Velocity

`POST /s/job/inventory_table/export_velocity`

Export inventory velocity data (sales speed analysis) as a downloadable report.

## Request body

- object
  - `data` BuildRowsData, required — Table configuration for the velocity export (same as build_rows with type=velocity)
    - `type` 'inventory' | 'velocity' | 'reorder' — Table type
    - `columns` InventoryTableColumn[], required — Column definitions for the table
      - `data` string — Data field name for the column
      - `name` string, required — Column identifier name (e.g. name, sku, on_hand, sold)
      - `visible` boolean — Whether the column is visible
    - `order` InventoryTableOrderSpec[], required — Sort order specification
      - `column` number, required — Index of the column to sort by
      - `dir` 'asc' | 'desc' — Sort direction
    - `filters` InventoryTableFilters — Filter criteria for the table
      - `warehouses` string[] — Warehouse IDs to filter by
      - `stores` string[] — Store IDs to filter by
      - `movers` string[] — Mover categories to filter by
      - `show_unsold_items` boolean — Whether to include items with no sales
      - `show_inactive_items` boolean — Whether to include inactive items
      - `show_stocked_items` boolean — Whether to include stocked items
      - `show_unstocked_items` boolean — Whether to include items with no stock
      - `distributors` string[] — Distributor IDs to filter by
      - `order_tags` string[] — Order tag IDs to filter velocity data by (ObjectId strings referencing the tag collection)
    - `search` object — Search parameters
      - `value` string — Search string to filter rows
      - `regex` boolean — Whether the search value is a regex
    - `start` number, required — Pagination offset (row index to start from)
    - `length` number, required — Number of rows to return (-1 for all)
    - `draw` number — DataTables draw counter for request/response sequencing
    - `num_days` number — Number of days for velocity lookback (default 15)
    - `range` InventoryTableRange — Date range for velocity table type
      - `start` string, required — Start date for velocity range
      - `end` string, required — End date for velocity range
    - `statuses` union — Order statuses to include in velocity calculation
      - string
      - string[]
    - `source` string — Source context (e.g. purchase_order_add_items)

## Response `200`

S3 signed URL for the exported velocity CSV file

- object
  - `path` string, nullable, required — S3 signed URL for the exported CSV file, or null if no data
  - `count` number, required — Number of rows exported

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden. Insufficient permissions.
- `429` — Too many requests. Rate limit exceeded.
- `500` — Internal server error.

## Changes

- **2026-03-02** `fa53dd949b8e` — 1 info
  - endpoint added
- **2024-04-19** `46ceda528000` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/skulabs/apis/skulabs-api/changes/s/job/inventory_table/export_velocity/post.md)

---

[API](https://skmtc.dev/skulabs/apis/skulabs-api.md) · [All operations](https://skmtc.dev/skulabs/apis/skulabs-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/skulabs/skulabs-api/revisions/4b5ec0ed78a6/schema)
