Skip to main content

List Catalog Categories

GET /catalog-categories

Returns a paginated list of application categories. Use this endpoint to populate category filter dropdowns in the catalog UI.

Query Parameters

ParameterTypeDefaultDescription
qstring-Search filter against name (case-insensitive, partial match)
sort_bystringnameSort field: name
sort_orderstringascSort direction: asc, desc
page_sizeinteger50Items per page. Max: 500
cursorstring-Pagination cursor from a previous response

Response

FieldTypeDescription
dataCatalogCategory[]Array of category objects
total_countintegerTotal number of categories matching the current filters
next_cursorstring | nullCursor to pass as cursor for the next page. null when on the last page.

Example Request

curl -X GET "https://api.example.com/v2/catalog-categories" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Search by name

curl -X GET "https://api.example.com/v2/catalog-categories?q=product" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Example Response

{
"data": [
{
"id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"name": "Browser"
},
{
"id": "a7b8c9d0-e1f2-3456-abcd-789012345678",
"name": "Communication"
},
{
"id": "b8c9d0e1-f2a3-4567-bcde-890123456789",
"name": "Design"
},
{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"name": "Productivity"
}
],
"total_count": 12,
"next_cursor": null
}

Empty Result

{
"data": [],
"total_count": 0,
"next_cursor": null
}

Pagination

This endpoint uses cursor-based pagination.

  1. Omit cursor on the first request
  2. If next_cursor is not null, pass its value as cursor on the next request
  3. Repeat until next_cursor is null

Error Responses

StatusDescription
400Invalid query parameters
401Authentication required
403Insufficient permissions
500Server error