Skip to main content
GET
Public Categories catalog

Query Parameters

lang
string

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.

Example:

"fr"

q
string

Free-text search. Backed by Searchkick / Elasticsearch over translation-aware title and description fields.

page[cursor]
string

Rotulus cursor returned in meta.pagination.next_cursor (or prev_cursor). Omit on the first page.

page[limit]
integer
default:25

Page size. Default 25. Max 100. Requests above 100 return 422.

Required range: 1 <= x <= 100
filter[country]
string

ISO-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.

Example:

"GB"

filter[language]
string

ISO locale. Restricts the catalog to resources translated in that locale.

Example:

"fr"

filter[source_type]
enum<string>

One source type: product, medium, page, library, or promotion. Categories only — the collection catalog does not accept this filter.

Available options:
product,
medium,
page,
library,
promotion
filter[parent_id]
string

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.

Example:

"root"

sort
enum<string>

Single sort key. Prefix with - for descending. Default position then id.

Available options:
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.

status
integer
required
Example:

200

meta
object
required

Response metadata included on every successful response body. request_id and timestamp are always present; list endpoints also add pagination.

categories
object[]
required