API Quickstart
API Quickstart
Section titled “API Quickstart”DeskFork exposes a REST API for creating tickets, sending messages, and managing your workspace programmatically. All API calls require an API key.
Authentication
Section titled “Authentication”Pass your API key in the Authorization header:
Authorization: Bearer ed_live_xxxxGenerate API keys at Settings → Developers → API Keys.
Base URL
Section titled “Base URL”https://api.deskfork.com/v1Rate limits
Section titled “Rate limits”| Plan | Requests / minute |
|---|---|
| Starter | 60 |
| Growth | 300 |
| Enterprise | Custom |
Quick examples
Section titled “Quick examples”List open tickets
Section titled “List open tickets”GET /v1/tickets?status=open&workspace=acmeAuthorization: Bearer ed_live_xxxx{ "data": [ { "id": "TKT-0042", "subject": "Order not received", "status": "open", "channel": "email", "assignee": null, "sla": { "breaches_at": "2026-06-29T10:00:00Z" }, "created_at": "2026-06-28T06:00:00Z" } ], "meta": { "total": 1, "page": 1, "per_page": 25 }}Create a ticket
Section titled “Create a ticket”POST /v1/ticketsAuthorization: Bearer ed_live_xxxxContent-Type: application/json
{ "workspace": "acme", "inbox": "support-email", "subject": "API-created ticket", "contact": { "email": "customer@deskfork.com", "name": "Jane Doe" }, "body": "I need help with my order #1234.", "channel": "api"}Reply to a ticket
Section titled “Reply to a ticket”POST /v1/tickets/TKT-0042/messagesAuthorization: Bearer ed_live_xxxxContent-Type: application/json
{ "body": "Thank you for reaching out! I am looking into your order now.", "type": "reply"}Add an internal note
Section titled “Add an internal note”POST /v1/tickets/TKT-0042/messagesAuthorization: Bearer ed_live_xxxxContent-Type: application/json
{ "body": "@alice please check the fulfilment system for order #1234", "type": "internal", "mentions": ["alice"]}Webhooks
Section titled “Webhooks”Subscribe to ticket events via Settings → Developers → Webhooks. DeskFork signs each delivery with HMAC-SHA256:
X-DeskFork-Signature: sha256=<hex>Event types
Section titled “Event types”| Event | Fired when |
|---|---|
ticket.created | New ticket arrives |
ticket.assigned | Assignee changes |
ticket.status_changed | Status moves (open → pending → resolved) |
message.created | New reply or internal note |
sla.warning | SLA breach approaching |
sla.breached | SLA target missed |
OpenAPI spec
Section titled “OpenAPI spec”Full OpenAPI 3.1 spec: https://api.deskfork.com/v1/openapi.json