| GET | /api/consultations | List the user’s conversations |
| POST | /api/consultations | Start a new conversation (requires contextMessage + region) |
| GET | /api/consultations/{id} | Get conversation status and messages |
| PATCH | /api/consultations/{id}/region | Update the region a conversation is licensed for |
| DELETE | /api/consultations/{id} | Stop the current provider request (conversation returns to IDLE) |
| POST | /api/consultations/{id}/messages | Send a message (supports lastSeenMessageId + waitForReply) |
| POST | /api/consultations/{id}/confirm | Confirm provider connection (places the per-visit hold) |
| GET | /api/consultations/{id}/notes | Get provider visit notes |
| POST | /api/consultations/{id}/media | Get upload URL for media |
| GET | /api/consultations/{id}/media/{messageId} | Get media download URL |