← Dashboard / Admin: API Keys
Generate New API Key

Scope: read = GET only; read_write = create/comment/close.

Existing API Keys
Name Key Prefix Scope Created By Created Expires Last Used Status Actions
No API keys found. Generate one above.
Active Revoked
1) : ?>
API Usage

Include the API key in your requests using the Authorization header:

HTTP HEADER
Authorization: Bearer YOUR_API_KEY

Scopes: a read key may only use the GET endpoints; a read_write key may also create tickets, post comments, and change status. All endpoints are Bearer-authenticated and rate-limited. Comments and status changes made via the API are attributed to the key's name.

Create a ticket (read_write):

CURL
curl -X POST /create_ticket_api.php \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"My ticket","category":"General","type":"Issue","priority":3}'

List / triage the queue (read). Filters: status, priority (1-5), host (title match), page, limit:

CURL
curl "/api/tickets_api.php?status=Open&priority=2&limit=25" \
  -H "Authorization: Bearer YOUR_API_KEY"

Read one ticket + its comments (read):

CURL
curl "/api/tickets_api.php?ticket_id=123456789" \
  -H "Authorization: Bearer YOUR_API_KEY"

Post a comment (read_write). markdown_enabled is optional:

CURL
curl -X POST /api/ticket_comment_api.php \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ticket_id":"123456789","comment_text":"Investigating.","markdown_enabled":true}'

Change / close status (read_write, workflow-validated). comment is required for transitions that require one (e.g. closing) and is posted as the reason:

CURL
curl -X POST /api/ticket_status_api.php \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ticket_id":"123456789","status":"Closed","comment":"Resolved: disk replaced."}'

Keep keys secure and rotate them regularly. Scope automation keys to read unless they need to write.