REST API Reference
The app includes a RESTful web-service for integrating with other applications. The API is accessible at /api.
Authentication
Basic Authentication: All API calls require basic authorization headers with username and password encoded in Base64. Example: Authorization: Basic YWRtaW46YWRtaW4=
Token Authentication: Use bearer tokens via Authorization: Bearer <User-Token>. Tokens expire when users change passwords.
Response Codes
- 200 (OK) — Successful request
- 400 (Bad Request) — Missing or malformed parameters
- 404 (Not Found) — Resource doesn't exist
- 429 (Too Many Requests) — Rate limit exceeded
Ticket Methods
- GET /api/Tickets — Retrieve tickets with filtering by category, status, assignee, date ranges.
- GET /api/ticket?id=123 — Get complete ticket details.
- POST /api/ticket — Create new ticket with categoryId, body, subject, priorityId, optional file attachments.
- POST /api/UpdateTicket — Modify ticket properties (category, priority, due date, assignment, status).
- GET /api/Close?id=321 — Close a ticket (optional suppressNotification=true).
- POST /api/SetCustomField — Set individual custom field values.
- GET /api/Stats — Get ticket statistics.
- GET /api/Search?query=TEXT — Search tickets by text with filtering.
Ticket Relationships
- MergeTickets — Combine two tickets (irreversible).
- LinkTickets — Associate tickets as related items.
- AddSubTicket / RemoveSubTicket — Manage parent-child relationships.
Attachments
- GET /api/Attachments?id=123 — List all ticket attachments.
- POST /api/AttachFile — Upload files using multipart form data.
- GET /api/DeleteFile?id=123 — Remove attachments.
Comments
- POST /api/comment — Add replies with optional file attachments. Supports forTechsOnly, isSystem, recipientIds.
- POST /api/updatecomment — Edit existing comments.
- GET /api/comments?id=123 — Get all comments for a ticket.
- GET /api/CommentTemplates — List canned responses.
User Management
- POST /api/CreateUser — Create accounts (email, username, password, etc.).
- POST /api/UpdateUser?userId=123 — Modify user properties.
- POST /api/DeleteUser?userId=123 — Permanently remove users.
- GET /api/User?userId=123 — Get user details.
- GET /api/UserByEmail?email=x — Look up by email.
- GET /api/Users — Paginated user list.
- POST /api/MergeUsers — Combine user accounts (irreversible).
Companies & Departments
- GET /api/Companies — List all companies.
- POST /api/Company — Create companies.
- GET /api/Departments — List all departments.
Knowledge Base
- GET /api/Articles — List article summaries.
- GET /api/Article/{id} — Get complete article.
- POST /api/article — Create KB entry.
Assets
- GET /api/Assets — List assets with filtering.
- GET /api/Asset?id={id} — Get single asset.
- POST /api/Asset — Create asset.
- POST /api/UpdateAsset — Modify asset.
- AssignAssetToUser / UnAssignAssetToUser — Manage user assignments.
Rate Limiting
Most API methods limit calls to 90 per minute; Search and UserByEmail are limited to 60 per minute. Exceeding limits returns 429 status.