Categories form the classification taxonomy that organizes faculty tenants and helps users filter events by discipline. Each tenant is linked to one category (e.g.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Edfermachado/proyectoSistemas/llms.txt
Use this file to discover all available pages before exploring further.
"Science", "Sports", "Arts"), and each category carries a Google Material Symbols icon name that drives the UI icon. Categories are stored in the categories table with a unique name, a URL-safe slug auto-generated from the name, and an optional icon. The GET collection endpoint requires no authentication and is safe to call from public-facing pages.
GET /api/categories
Returns all categories in the system, ordered by creation date (newest first). No authentication is required.Response 200
Returns a JSON array of category objects.
UUID of the category.
Human-readable category name (e.g.
"Science", "Sports").URL-safe identifier auto-generated from
name at creation time (e.g. "science", "sports"). Guaranteed unique across all categories.Google Material Symbols icon name (e.g.
"science", "sports_soccer"). May be null if not set.ISO 8601 timestamp of when the category was created.
Error Responses
| Status | Body | Reason |
|---|---|---|
500 | { "error": "<message>" } | Unexpected database or server error. The error field contains the raw error message. |
POST /api/categories
Creates a new category. Theslug is automatically generated from the provided name and is guaranteed to be unique.
Request Body
The display name for the category. Must be unique across all categories. The
slug is derived from this value.A Google Material Symbols icon name to represent this category in the UI (e.g.
"science", "sports_soccer", "palette", "music_note"). Can be omitted.Response 200
Returns the newly created category object.
Auto-generated UUID for the new category.
Category name as provided.
Auto-generated URL-safe slug derived from
name. Unique collision is handled automatically.Icon name as provided, or
null if omitted.ISO 8601 creation timestamp set by the database.
Error Responses
| Status | Body | Reason |
|---|---|---|
500 | { "error": "<message>" } | Unexpected error, including a unique-constraint violation on name. |
DELETE /api/categories/{id}
Permanently deletes a category.Path Parameters
UUID of the category to delete.
Response 200
true when the category has been successfully deleted.Error Responses
| Status | Body | Reason |
|---|---|---|
500 | { "error": "<message>" } | Unexpected error, including a foreign-key violation if tenants still reference this category. |