Public Categories catalog
Unauthenticated. Company is resolved from the request subdomain. Returns ONLY live categories (active + resolved-published, country-eligible, language-eligible) — non-public rows never leak.
Filters, search, and pagination are documented on each parameter.
Query Parameters
Response locale. ISO code (e.g. fr, de). When omitted,
responds in the company's default locale. On the public
surface, falls back to en for any translated field missing
in the requested locale.
"fr"
Free-text search. Backed by Searchkick / Elasticsearch over
translation-aware title and description fields.
Rotulus cursor returned in meta.pagination.next_cursor (or
prev_cursor). Omit on the first page.
Page size. Default 25. Max 100. Requests above 100 return 422.
1 <= x <= 100ISO-2 country code. Restricts the catalog to resources available
in that country — combining the with_country_iso scope's
OR-empty semantics: unrestricted resources (no access_countries
rows) match every country.
"GB"
ISO locale. Restricts the catalog to resources translated in that locale.
"fr"
One source type: product, medium, page, library, or promotion.
Categories only — the collection catalog does not accept this filter.
product, medium, page, library, promotion A category id as a string, or the literal "root" for top-level
categories only. Selects a single level of the tree. Categories
only — collections have no hierarchy. Honored on both the public
catalog and the company index, which share one query contract.
"root"
Single sort key. Prefix with - for descending. Default
position then id.
position, -position, title, -title, created_at, -created_at Response
A page of live categories.
Shared success envelope for list / show / create / update
responses: the resource payload is returned alongside a top-level
integer status and meta. Composed onto each resource response
via allOf.