Skip to main content

Endpoints

MethodEndpointDescription
GET/categoriesList all categories
POST/categoriesCreate new category
GET/categories/:idGet category by ID
PUT/categories/:idUpdate category
DELETE/categories/:idDelete category

List Categories

GET /categories
Authorization: Bearer <token>
Response:
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Food & Dining",
    "type": "expense",
    "color": 4294942720,
    "icon": "restaurant",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z"
  }
]

Create Category

POST /categories
Authorization: Bearer <token>
Content-Type: application/json

{
  "name": "Salary",
  "type": "income",
  "color": 4283215696,
  "icon": "attach_money"
}
Response (201):
{
  "id": "550e8400-e29b-41d4-a716-446655440001",
  "name": "Salary",
  "type": "income",
  "color": 4283215696,
  "icon": "attach_money",
  "created_at": "2024-01-15T12:00:00Z",
  "updated_at": "2024-01-15T12:00:00Z"
}

Category Schema

FieldTypeRequiredDescription
idUUIDAutoUnique identifier
nameStringYesCategory name
typeEnumYesincome or expense
colorIntegerNoARGB color value
iconStringNoIcon identifier
created_atDateTimeAutoCreation timestamp
updated_atDateTimeAutoLast update timestamp