Markus Michalski FAQ

API Endpoints

osTicket plugin that extends the REST API: ticket creation with format and department, update, search, delete, statistics, attachment download and subtickets, with per-key permissions.

API Endpoints

Deutsche Version

Back to osTicket Plugins

GitHub
CI
License
osTicket
PHP

This documentation always describes the latest published version.

Live Demo: Try all plugins for OXID eShop, Shopware and osTicket by Markus Michalski live — no installation, no risk. demo.markus-michalski.net


Overview

The plugin extends osTicket's REST API. You can create tickets with a message format and a target department, update and delete tickets, retrieve and search them, read statistics, download attachments and manage parent-child relationships between tickets. Each API key gets its own permissions.

It suits integrations that need more than osTicket's standard API offers, for example support portals, bug trackers, automation platforms and monitoring systems.

graph LR
    A["Client with API key"] --> B["POST /api/tickets.json or PATCH /api/tickets/:number.json"]
    A --> C["Endpoint files in /api/, for example tickets-get.php"]
    B --> D["Plugin routes via signal api"]
    C --> E["ApiBootstrap"]
    D --> F["ExtendedTicketApiController"]
    E --> F
    E --> G["SubticketApiController"]
    F --> H["osTicket core"]
    G --> H
    H --> I["JSON, XML or plain text response"]

Documentation

Page Content
Installation ZIP or Git, folder name, enabling, Apache and NGINX configuration, update and removal
Configuration Plugin settings, API key permissions, best practices
API Documentation All 12 endpoints with paths, parameters, status codes and examples
Troubleshooting Error messages, known limitations, FAQ
Technical Details Architecture, structure, database columns, security, tests

Features

Feature Description
Extended ticket creation format (text, html, markdown), departmentId by name or ID, parentTicketNumber
Ticket update Status, department, help topic, SLA, staff, due date, parent, internal note with attachments
Retrieve and search Single ticket with thread and attachment metadata, search by subject, status and department with pagination
Delete Permanent deletion, disabled by default
Statistics Totals, per department, per staff member, and the list of statuses
Attachment download Base64 response with metadata
Subtickets Parent, children, link and unlink, requires the Subticket Manager plugin
API key permissions Seven permissions per API key: the six columns added by the plugin plus osTicket's own can_create_tickets, set on the plugin page
Lookup by name Department, status, help topic and SLA by name instead of ID, staff by ID, username or email address
Formats JSON or XML for endpoints with a path parameter

The plugin patches no osTicket core files.

Requirements

Requirement Version Notes
osTicket 1.18.x
PHP 8.1 or higher
Web server Apache or NGINX Apache is configured automatically via .htaccess

Optional plugins:

Plugin Purpose
Markdown Support Rendering of format=markdown
Subticket Manager Required for the four subticket endpoints
API Key Wildcard Wildcard IP validation for API keys. When installed, the standalone endpoints and the update route use its key validation. The create route POST /api/tickets.json does not call it

License

This plugin is released under the GNU General Public License v2, compatible with osTicket core. See LICENSE.

Support

For questions or issues, please create an issue on GitHub:

Issue Tracker: https://github.com/markus-michalski/osticket-api-endpoints/issues

When reporting issues, please include:

Contributing

Developed by Markus Michalski. Contributions are welcome: fork the repository, create a feature branch and submit a pull request.

git clone https://github.com/markus-michalski/osticket-api-endpoints.git
cd osticket-api-endpoints
composer install
composer test