Luxor PlatformAPI DocumentationCommanderParts

Get parts

Returns a paginated list of parts with search and sorting. Each part belongs to exactly one site and carries that site's stock, so a part stocked at several sites appears as one entry per site. Narrow to one site with site_id. For nested AND/OR logic, pass the filter query parameter as URL-encoded JSON; when supplied, it supersedes the flat filter params (category, supplier).

GET
/v2/commander/parts

Authorization

LuxorAPIKey
authorization<token>

Use your API key here.

In: header

Query Parameters

site_id?string

Return only parts belonging to this site. A part covers exactly one site.

Formatuuid
category?string

Value in

  • "hashboard"
  • "fan"
  • "psu"
  • "control_board"
  • "cable"
  • "pdu"
  • "connector"
  • "other"
supplier?string
search?string

Matches SKU, name, or supplier.

filter?

URL-encoded JSON advanced filter, shape { combinator: 'AND'|'OR', groups: [{ combinator, conditions: [{ field, operator, value }] }] }. Filterable fields: sku, name, category, supplier, unit_cost, threshold_method, created_at, updated_at. Operators must suit the field: ordering only on numeric fields; the LIKE family (contains, not_contains) only on text and uuid fields; date fields take eq or ne only; and a field with a fixed set of values takes eq, ne, in_array, not_in_array or in_comma_separated_list. A malformed uuid, IP address, IP range or date is rejected rather than silently matching nothing. Supersedes the flat filter params (category, supplier) when supplied.

sort_by?string

Value in

  • "sku"
  • "name"
  • "category"
  • "supplier"
  • "unit_cost"
  • "created_at"
  • "updated_at"
sort_order?string
Default"asc"

Value in

  • "asc"
  • "desc"
page_number?integer
Range1 <= value
Default1
page_size?integer
Range1 <= value <= 5000
Default25

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v2/commander/parts"
{  "parts": [    {      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",      "sku": "HB-0001",      "name": "S21 Pro Hashboard",      "category": "hashboard",      "site_id": "b0a5fad8-1234-5678-9abc-def012345678",      "on_hand": 40,      "reserved": 5,      "available": 35,      "supplier": "Acme Distributors",      "unit_cost": "120.00",      "threshold_method": "manual",      "target_qty": 20,      "reorder_qty": 8,      "target_pct": null,      "reorder_pct": null,      "stock_status": "healthy",      "fleet_demand": 0,      "use_per_week": 2.5,      "stockout_days": 98,      "custom_fields": {        "po_number": "PO-558"      },      "archived_at": null,      "created_at": "2025-09-02T09:30:00Z",      "updated_at": "2026-04-20T10:15:00Z",      "url": "/v2/commander/parts/a1b2c3d4-e5f6-7890-abcd-ef1234567890"    }  ],  "pagination": {    "page_number": 1,    "page_size": 1,    "item_count": 0,    "previous_page_url": null,    "next_page_url": null  }}
{  "statusCode": 400,  "code": "FST_ERR_VALIDATION",  "error": "Bad Request",  "message": "body/end_date Required"}
{  "statusCode": 403,  "code": "7",  "error": "Forbidden",  "message": "[permission_denied] site_id does not belong to this workspace"}