List categories
Returns a paginated page of categories in the one-map resource shape (system fields top-level, every customer key under attributes). Reference attributes embed COMPLETE as labeled stubs — no expansion calls; inverse-reference keys never appear (query the other side via filters, or page /products/{id}/references). Filter with filter[<key>]=<value> / filter[<key>][<op>]=<value> (see the filter parameter for the grammar), sort with sort, page with limit/offset.
Authorizations
Workspace-scoped API key. Available scopes:
read:products: List and read products, including variants, references, and completeness.write:products: Create, update, and upsert products and their attribute values.delete:products: Delete products.read:images: List and read images.write:images: Create, update, and upsert images and their attribute values.delete:images: Delete images.read:vendors: List and read vendors.write:vendors: Create, update, and upsert vendors and their attribute values.delete:vendors: Delete vendors.read:categories: List and read categories.write:categories: Create, update, and upsert categories and their attribute values.delete:categories: Delete categories.read:sources: List and read data sources, including scraped content.write:sources: Create data sources (triggers processing) and update their attribute values.delete:sources: Delete data sources.read:attributes: List and read attribute definitions.write:attributes: Create and update attribute definitions.read:views: List and read saved grid views (MCP surface).write:views: Create and update grid views (MCP surface).read:channels: Read the enabled channel catalog.read:events: Read the workspace change feed and per-entity events.read:jobs: List and poll asynchronous job status.
Query Parameters
Page size, 1–200 (default 50).
1 <= x <= 200Zero-based offset, echoed back in pagination.offset.
x >= 0Comma-separated keys; - prefix = descending, e.g. -updated_at,sku. Sortable: text/number/date attributes plus the builtins (id, parent_id, created_at, updated_at). Reference and list attributes are not sortable (400).
Attribute filters. filter[<key>]=<value> means equals; filter[<key>][<op>]=<value> applies an operator. <key> is any defined attribute key (discover them via GET /attributes) or a builtin: id, parent_id, created_at, updated_at. Operators: eq, ne, contains, not_contains, starts_with, ends_with (text); gt, gte, lt, lte (number/date/timestamps — date-only values coerce to UTC midnight); exists (=true has a value, =false blank — replaces blank/notBlank); in (comma-separated OR-of-equals, ≤200 values; text, id, and reference keys only). Reference keys take UUID values, e.g. filter[vendor]=<uuid>. Unknown keys, unknown operators, and operator/type mismatches are a 400 with field_errors. Examples: filter[sku]=ARIA-DT-72 · filter[price][lt]=100 · filter[description][exists]=false · filter[id][in]=<uuid1>,<uuid2> · filter[vendor]=<uuid>&sort=-updated_at.
How multiple filters combine. Case-insensitive; any other value is a 400.
and, or