Endpoints
| Method | Path | Auth Required |
|---|---|---|
| GET | /api/categories | None (public) |
| GET | /api/categories/{id} | None (public) |
| POST | /api/categories | ADMIN or ORGANIZER |
| PUT | /api/categories/{id} | ADMIN or ORGANIZER |
| DELETE | /api/categories/{id} | ADMIN or ORGANIZER |
GET /api/categories
Returns a paginated list of all categories. Supports optional search filtering. Auth: None required.Query Parameters
Optional search string to filter categories by name or description. Defaults to an empty string (returns all).
Page number for pagination. Defaults to
1.Response Fields
Indicates whether the request was successful.
HTTP status code of the response.
Human-readable message describing the result.
List of category objects.
Example
GET /api/categories/
Returns a single category by its UUID. Auth: None required.Path Parameters
The unique identifier of the category.
Response Fields
Indicates whether the request was successful.
HTTP status code of the response.
Human-readable message describing the result.
The category object.
Example
POST /api/categories
Creates a new category. Auth: Bearer token required. Roles: ADMIN or ORGANIZER.Request Body
The name of the category. Cannot be empty.
An optional description for the category. Must be at least 10 characters if provided.
Response Fields
The newly created category object.
Example
PUT /api/categories/
Updates an existing category. Auth: Bearer token required. Roles: ADMIN or ORGANIZER.Path Parameters
The unique identifier of the category to update.
Request Body
The updated name of the category.
The updated description. Must be at least 10 characters if provided.
Response Fields
The updated category object.
Example
DELETE /api/categories/
Deletes a category by its UUID. Auth: Bearer token required. Roles: ADMIN or ORGANIZER.Path Parameters
The unique identifier of the category to delete.
Response Fields
The deleted category object.