SupportDeskSupport Desk Docs
v1.0.0 Public Support Open App

API Reference

The external ticket API is mounted under /api/v1. Most ticket endpoints require an active API client and the matching scope.

Authentication

curl -H "Authorization: Bearer tpk_your_token" \
  http://localhost/SupportDesk/public/api/v1/tickets

Use either Authorization: Bearer or X-Api-Key. Missing tokens return 401. Inactive or invalid tokens return 401. Missing scopes return 403.

Idempotency

Mutating API requests can include Idempotency-Key. The app caches the response for the same client, endpoint, scope, and payload. Reusing a key for a different payload returns 409.

Ticket Endpoints

MethodPathScopePurpose
GET/tickets/lookupstickets.readDepartments, categories, priorities, statuses, agents, organizations, tags, issue groups, context providers, and bulk actions.
POST/tickets/suggestions/previewtickets.readPreview draft suggestions.
GET/ticketstickets.readPaginated ticket list with filters.
POST/ticketstickets.writeCreate an internal-style ticket.
POST/tickets/requester-intaketickets.writeCreate a requester/public-style ticket.
GET/tickets/{ticket}tickets.readRead ticket detail.
PUT/tickets/{ticket}tickets.writeUpdate ticket metadata and custom fields.
POST/tickets/bulk-updatetickets.bulkBulk assign, department, status, or priority changes.
POST/tickets/{ticket}/transitiontickets.transitionsChange ticket status.
POST/tickets/{ticket}/replytickets.replyAdd customer-facing reply.
POST/tickets/{ticket}/notetickets.writeAdd internal note.
POST/tickets/{ticket}/attachmentstickets.attachmentsUpload attachments.
GET/tickets/{ticket}/attachments/{attachment}tickets.attachmentsDownload an attachment.

Webhook Delivery Endpoints

MethodPathScopePurpose
GET/webhooks/deliverieswebhooks.readList delivery records.
POST/webhooks/deliveries/{webhookDelivery}/replaywebhooks.writeReplay an outbound delivery.
POST/webhooks/inbound/ticket-updateswebhooks.writeReceive an external ticket update and map it to reply or note.

Create Ticket Example

curl -X POST http://localhost/SupportDesk/public/api/v1/tickets \
  -H "Authorization: Bearer tpk_your_token" \
  -H "Idempotency-Key: create-ticket-1001" \
  -H "Accept: application/json" \
  -F "subject=Cannot login" \
  -F "description=The requester sees an access denied message." \
  -F "department_id=1" \
  -F "category_id=4" \
  -F "priority_id=2" \
  -F "status_id=1"

Public Update and Update Delivery APIs

The update service exposes license activation, remote update check, and update download endpoints under /api/v1. These are product-update endpoints, not general ticket integration endpoints. Do not expose update tokens beyond trusted update infrastructure.

Screenshots To Add

These placeholders are intentionally kept in the docs so release screenshots can be dropped in later without changing the written guide for API Reference.

Screenshot 1
API Reference main screen
documentation/assets/media/screenshots/api-reference/01-overview.png
Add the first-view screenshot for this documentation page or app module.
Screenshot 2
API Reference key workflow
documentation/assets/media/screenshots/api-reference/02-workflow.png
Add the most important form, table, modal, drawer, or guided-step screenshot.