{
  "message": "Todos API with Categories",
  "endpoints": {
    "GET /categories": "Get all categories (supports ?search=name)",
    "POST /categories": "Create a new category",
    "DELETE /categories/:id": "Delete a category",
    "GET /todos": "Get all todos (supports query params: search, userId, completed, title, category, categories)",
    "GET /todos/:id": "Get a specific todo",
    "POST /todos": "Create a new todo (with optional categories array)",
    "PUT /todos/:id": "Replace a todo",
    "PATCH /todos/:id": "Update a todo (partial)",
    "DELETE /todos/:id": "Delete a todo"
  },
  "queryParams": {
    "search": "Fuzzy search on todo titles (e.g., ?search=autem)",
    "userId": "Filter by user ID (e.g., ?userId=1)",
    "completed": "Filter by completion status (e.g., ?completed=true)",
    "title": "Filter by exact title match (e.g., ?title=buy)",
    "category": "Filter by single category (e.g., ?category=work)",
    "categories": "Filter by multiple categories - OR logic (e.g., ?categories=work,urgent)"
  }
}