Skip to content

Get blog category collection (storefront callers see active categories only)​

GET
/rest/v1/cms/blog/category

Storefront callers — guest (no token) and customer — receive only active categories (blog_categories.is_active = 1): filter[active] is server-forced to 1 for them, so a supplied value is ignored rather than combined. Note that blog_categories.is_active is NULLABLE, and a NULL is not 1 — a NULL-flagged category is therefore withheld too. This is a DELIBERATE TIGHTENING, stricter than legacy, not parity: the legacy blog-category storefront never filters is_active at all - getCategoriesFront() applies only caller-supplied conditions and every call site passes lang alone, while getCategoryBySlug() and getCategoryData() filter on slug and lang only. The flag exists to hide rows and REST now honours it. ?sort=children.active is denied for them too - it ordered the list by a withheld column over the children self-relation, which is now itself scoped (Advisable-com/ecommercen#640 gave BlogCategory.children, BlogCategory.parent and BlogCategory.articles a visibility scope, at every depth including the recursive ?with=children* form), so the denial is retained as defence-in-depth rather than as the thing that closes the oracle. The four ?sort=articles.* keys are NOT denied: none of them names a visibility flag, and all four are inert now that the articles relation is scoped, since a row that is not returned cannot be ordered by. Backend callers are unaffected and may filter and sort by filter[active] freely.

Parameters​

Query Parameters

filter[id]

Filter by category IDs

Type
string
filter[parent]

Filter by parent IDs

Type
string
filter[tagId]

Filter by tag IDs

Type
string
filter[active]

Filter by active status. Backend callers only — for storefront (guest/customer) callers this value is server-forced to 1 and any supplied value is ignored.

Type
boolean
filter[title.el]

Filter by title (Greek)

Type
string
filter[slug.el]

Filter by slug (Greek)

Type
string
filter[content.el]

Partial filter by content (Greek)

Type
string
filter[notEmptyArticleDescription.el]

Filter categories with articles having non-empty description (Greek)

Type
boolean
Exampletrue
sort

Sort order

Type
string
page

Page number

Type
integer
limit

Pagination limit

Type
integer
with

With relations

Type
string

Responses​

Successful operation

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​

Powered by VitePress OpenAPI