Catalog Categories Domain
The Catalog Categories domain provides a single endpoint for listing application categories. Categories are shared reference data -- they are not scoped to a single client.
A category represents a classification for catalog apps (e.g. Productivity, Browser, Communication). Categories are linked to catalog apps via the catalog_application_catalog_categories junction table -- a many-to-many relationship.
Categories are embedded inside CatalogApp responses as CatalogCategory. Use the list endpoint below when you need the full set of categories for filter dropdowns or admin UIs.
For embedding and endpoint design decisions, see the Design Guidelines.
Endpoints
| Endpoint | Method | Description |
|---|---|---|
| List Catalog Categories | GET | Paginated list of all categories. Use for filter dropdowns and admin views. |
Why there is no Get Category endpoint
The CatalogCategory object is small and complete -- just id and name. The list endpoint already returns the full object for every category. A detail endpoint would return zero additional data, so it is omitted.
Data Transfer Objects (DTOs)
CatalogCategory
Full category representation returned by the list endpoint. This is the same shape as the CatalogCategory embedded inside CatalogApp -- there are no additional fields that only a category-primary endpoint would expose.
{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"name": "Productivity"
}
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string (uuid) | No | Stable unique identifier for the category |
name | string | No | Category display name |
DB source: catalog_categories.id, catalog_categories.name
Omitted internal fields: created_by, updated_by, created_at, updated_at
Used in: List Catalog Categories