API Reference
REST API endpoints
Base URL: /api/v1/
All endpoints require JWT authentication unless noted. Include the token in the Authorization header:
Authorization: Bearer <token>
| Method | Endpoint | Description |
|---|
| POST | /login/ | Initiate login (sends OTP) |
| POST | /verify-otp/ | Verify OTP code |
| POST | /resend-otp/ | Resend OTP code |
| POST | /express/login/ | Direct login (username/password) |
| POST | /send-password-reset/ | Send password reset link |
| POST | /password-reset/ | Reset password |
| POST | /password/update/ | Update password |
| Method | Endpoint | Description |
|---|
| GET | / | List users |
| POST | / | Create user |
| GET | /{id}/ | Get user details |
| PUT | /{id}/ | Update user |
| DELETE | /{id}/ | Delete user |
| GET | /profile/ | Current user profile |
| Method | Endpoint | Description |
|---|
| POST | /create/ | Create ticket |
| GET | /list/ | List tickets |
| GET | /counts/ | Get ticket counts |
| GET | /my/tickets/ | Current user's tickets |
| GET | /get/{ticket_id} | Get ticket by ID |
| GET | /get/activity-stream/{id} | Load activity stream |
| GET | /get/attachments/{id} | Load attachments |
| GET | /get/tasks/{id} | Load tasks |
| GET | /get/sla/{id} | Get SLA info |
| POST | /assign/ | Assign ticket |
| GET | /assign/tome/{id} | Assign to self |
| PUT | /update/status/{id} | Update status |
| PUT | /update/department/{id} | Update department |
| PUT | /update/category/{id} | Update category |
| PUT | /update/priority/{id} | Update priority |
| POST | /comment/add/{id} | Add comment |
| POST | /{pk}/add-note/ | Add internal note |
| POST | /{pk}/email-reply/ | Send email reply |
| POST | /{pk}/reopen/ | Reopen ticket |
| POST | /{pk}/merge/ | Merge tickets |
| Method | Endpoint | Description |
|---|
| GET | /category/ | List categories |
| POST | /category/ | Create category |
| GET | /category/{pk}/ | Get category |
| PUT | /category/{pk}/ | Update category |
| DELETE | /category/{pk}/ | Delete category |
| Method | Endpoint | Description |
|---|
| POST | /export/ | Export tickets |
| POST | /bulk/archive/ | Bulk archive |
| POST | /bulk/delete/ | Bulk delete |
| POST | /bulk/unarchive/ | Bulk unarchive |
| POST | /bulk/restore/ | Bulk restore |
| Method | Endpoint | Description |
|---|
| GET | /customer/list/ | Customer's tickets |
| GET | /customer/analysis/ | Customer dashboard |
| Method | Endpoint | Description |
|---|
| GET | / | List departments |
| POST | / | Create department |
| GET | /{id}/ | Get department |
| PUT | /{id}/ | Update department |
| DELETE | /{id}/ | Delete department |
| Method | Endpoint | Description |
|---|
| GET | /categories/ | List categories |
| POST | /categories/ | Create category |
| GET | /categories/{id}/ | Get category |
| GET | /articles/ | List articles |
| POST | /articles/ | Create article |
| GET | /articles/{id}/ | Get article |
| POST | /articles/search/ | Semantic search |
| Method | Endpoint | Description |
|---|
| GET | / | List contacts |
| POST | / | Create contact |
| GET | /{id}/ | Get contact |
| PUT | /{id}/ | Update contact |
| DELETE | /{id}/ | Delete contact |
| Method | Endpoint | Description |
|---|
| GET | / | List notifications |
| PUT | /{id}/read/ | Mark as read |
| PUT | /read-all/ | Mark all as read |
| GET | /preferences/ | Get preferences |
| PUT | /preferences/ | Update preferences |
| Method | Endpoint | Description |
|---|
| GET | /smtp/ | Get SMTP settings |
| POST | /smtp/ | Update SMTP settings |
| GET | /mail/integrations/ | List mail integrations |
| POST | /mail/integrations/ | Add integration |
| Method | Endpoint | Description |
|---|
| GET | /stats/ | Dashboard statistics |
| GET | /tickets/overview/ | Ticket overview |
These endpoints do not require authentication:
| Method | Endpoint | Description |
|---|
| POST | /tickets/ | Create ticket (public form) |
| GET | /kb/articles/ | Public KB articles |
| GET | /kb/search/ | Public KB search |
| Method | Endpoint | Description |
|---|
| POST | /mailgun/inbound/ | Mailgun inbound email |
| POST | /mailgun/inbound/mime | Mailgun MIME email |
ws://<domain>/ws/notifications/
Real-time notification delivery. Requires JWT token as query parameter.