List Cost Categories (Paginated)
GET/api/cost-categories/list
Paginated, server-side-filtered list of cost categories. Supports search (name / id / keyword aliases), active/system/selectable filters, and sorting, returning a standard paginated envelope. Each item includes usage counts and, when set, the embedded default nominal code.
Use this endpoint when building a browsable, filterable table of cost categories. For a full unpaginated list (e.g. to populate a dropdown) use GET /api/cost-categories instead.
Query parameters:
filter[search]— search term (partial match on name; scope with search_columns)search_columns— restrict search to: name, id, keywordfilter[is_active]— 1 active / 0 archivedfilter[is_system]— 1 system / 0 user-definedfilter[selectable]— 1 to exclude system categoriessort— id, name, is_system, is_active, created_at, updated_at (prefix - for DESC)page,per_page— pagination (per_page default 10)
Authentication: Requires Bearer token.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.