Destination checks
Kantan Desk checks webhook destinations at setup and delivery time, blocks private/internal destinations, pins the connection to the checked address, refuses redirects, and times out slow requests.
Integrations
Kantan Desk can accept tickets from external systems and send signed ticket events to workflow tools, while keeping credentials scoped, signed, and reviewable.
Inbound ticket API
Only a SuperAdmin can create an API key. The key is narrow: the supported permission is currently ticket:create, and team assignment, IP allowlist, and HMAC signing are mandatory.
| Endpoint | POST /api/v1/ticket/public/create |
|---|---|
| Headers | X-API-Key, X-KD-Timestamp, and X-KD-Signature. |
| Signature | v1=<hex HMAC-SHA256> over <timestamp>.<exact raw body>. |
| Replay window | The timestamp must be within five minutes; a previously accepted timestamp/body/signature cannot be replayed in that window. |
| Source policy | API keys can be typed as api, webhook, cli, or monitoring. Payload source must match the key type when supplied. |
| Failure classes | Invalid input returns 400; missing, invalid, stale, or replayed credentials return 401; permission, team, integration type, or IP policy failures return 403; rate limits return 429. |
Accepted ticket fields
| Field | Accepted value |
|---|---|
title | Required string, 1-500 characters. |
detail | Optional string or null, up to 50,000 characters. |
priority | low, medium, or high; defaults to low. |
type | Defaults to support; supported values include bug, feature, support, incident, service, maintenance, access, feedback, general enquiry, sales, accounts, technical, and GDPR/legal. |
email and name | Optional requester identity fields, with email validated where present. |
| Not accepted | API callers cannot set company, engineer, or createdBy. Kantan Desk supplies the team and records the API key as creator. |
Automation and monitoring
Dedicated key types for monitoring systems and CLI scripts mean external automation can create and attribute tickets without sharing a generic API key. Each source is identified separately so automated work is distinct from customer requests.
Outbound webhooks
Users with webhook::create can create webhooks for ticket-created and ticket-status-changed events, with optional team scope.
X-KantanDesk-Signature-Version: v2 and X-KantanDesk-Signature: v2=<hex HMAC-SHA256>.<timestamp>.<exact raw request body>.Kantan Desk checks webhook destinations at setup and delivery time, blocks private/internal destinations, pins the connection to the checked address, refuses redirects, and times out slow requests.
Generic receivers get a data wrapper with event, title, priority, requester, creator, assignee, and client fields. Status-change events add newStatus.
Discord URLs receive Discord’s embeds shape instead of the generic wrapper, while still using the v2 signature over the exact transmitted bytes.
Email integrations
Kantan Desk’s mailbox layer connects support work to existing email infrastructure.
API keys use “Save and Rotate HMAC.” The new value is displayed once, and there is no dual-secret grace period.
Webhook secret rotation invalidates the previous secret immediately. Receivers should be updated with the newly displayed secret before testing or resuming deliveries.