# NOMAZRA API Endpoints — Bookmarks & Reminders
Base URL: `https://nomazra.kelthos.com/api/nomazra/`

All endpoints require `Authorization: Bearer <access_token>`

---

## BOOKMARKS

### GET /bookmarks/
List all user bookmarks.

**Response 200:**
```json
[
  {
    "id": "uuid",
    "user": "user-uuid",
    "message": "message-uuid",
    "note": "Important info about land title transfer",
    "created_at": "2025-01-20T14:30:00Z"
  }
]
```

### POST /bookmarks/
Bookmark a message.

**Request Body:**
```json
{
  "message_id": "uuid",
  "note": "Optional note about why I bookmarked this"
}
```

**Response 201:** Bookmark object.

**Errors:**
- 400: `{"error": "message_id is required"}` / `{"error": "Message not found"}`
- 409: `{"error": "Already bookmarked"}`

### DELETE /bookmarks/{id}/
Remove a bookmark.

**Response 204:** No content.

---

## REMINDERS

### GET /reminders/
List all user reminders.

**Query Parameters:**
- `status` (optional): `"pending"`, `"sent"`, `"cancelled"`
- `upcoming` (optional): `true` — only future reminders

**Response 200:**
```json
[
  {
    "id": "uuid",
    "user": "user-uuid",
    "title": "Court hearing preparation",
    "description": "Prepare documents for land dispute case",
    "remind_at": "2025-02-15T09:00:00Z",
    "status": "pending",
    "conversation": "conv-uuid or null",
    "created_at": "..."
  }
]
```

### POST /reminders/
Create a reminder.

**Request Body:**
```json
{
  "title": "Court hearing preparation",
  "description": "Prepare documents for land dispute case",
  "remind_at": "2025-02-15T09:00:00Z",
  "conversation_id": "uuid (optional)"
}
```

**Response 201:** Reminder object.

**Errors:**
- 400: `{"error": "title is required"}` / `{"error": "remind_at is required"}` / `{"error": "remind_at must be in the future"}`

### PATCH /reminders/{id}/
Update a reminder.

**Request Body (all optional):**
```json
{
  "title": "Updated title",
  "description": "Updated description",
  "remind_at": "2025-03-01T09:00:00Z",
  "status": "cancelled"
}
```

**Response 200:** Updated reminder object.

### DELETE /reminders/{id}/
Delete a reminder.

**Response 204:** No content.
