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.