Tickets API
Create, read, update, and search support tickets.
GET
/api/v1/ticketsList tickets with optional filters.
Authentication
Include your API key in the
X-API-Key header. Get your key at app.reechdesk.com/settings.query parameters
| Name | Type | Description |
|---|---|---|
| entityId | string | Filter by entity ID |
| status | string | Filter by status (OPEN, IN_PROGRESS, RESOLVED, CLOSED) |
| priority | string | Filter by priority (LOW, MEDIUM, HIGH, URGENT) |
| assignedToId | string | Filter by assigned agent ID |
| limit | number | Max results per page (default: 20, max: 100) |
| offset | number | Pagination offset (default: 0) |
curl -H "X-API-Key: rd_test_your_key" \
"https://your-domain.com/api/v1/tickets?entityId=cashmatrix&status=OPEN&limit=20"Response200
json
{
"data": [
{
"id": "tkt_abc123",
"ticketNumber": "TKT-001",
"subject": "Can't login to my account",
"status": "OPEN",
"priority": "MEDIUM",
"createdAt": "2026-06-21T10:00:00Z",
"assignedTo": {
"name": "John Agent",
"email": "agent@cashmatrix.com"
}
}
],
"total": 42,
"limit": 20,
"offset": 0
}POST
/api/v1/ticketsCreate a new support ticket.
Authentication
Include your API key in the
X-API-Key header. Get your key at app.reechdesk.com/settings.body parameters
| Name | Type | Description |
|---|---|---|
| subject | string | Ticket subject line |
| description | string | Detailed description of the issue |
| priority | string | Priority level: LOW, MEDIUM (default), HIGH, URGENT |
| entityId | string | Entity this ticket belongs to |
| visitorEmail | string | Visitor email for notifications |
curl -X POST https://your-domain.com/api/v1/tickets \
-H "X-API-Key: rd_test_your_key" \
-H "Content-Type: application/json" \
-d '{
"subject": "Payment not processing",
"description": "I tried to make a payment but it failed.",
"priority": "HIGH",
"entityId": "cashmatrix",
"visitorEmail": "customer@example.com"
}'Request
json
{
"subject": "Payment not processing",
"description": "I tried to make a payment but it failed.",
"priority": "HIGH",
"entityId": "cashmatrix",
"visitorEmail": "customer@example.com"
}Response201
json
{
"id": "tkt_new789",
"ticketNumber": "TKT-042",
"subject": "Payment not processing",
"status": "OPEN",
"priority": "HIGH",
"entityId": "cashmatrix",
"createdAt": "2026-06-21T10:00:00Z"
}PATCH
/api/v1/tickets/:idUpdate a ticket's status, assignment, or other fields.
Authentication
Include your API key in the
X-API-Key header. Get your key at app.reechdesk.com/settings.path parameters
| Name | Type | Description |
|---|---|---|
| id | string | Ticket ID |
body parameters
| Name | Type | Description |
|---|---|---|
| status | string | New status: OPEN, IN_PROGRESS, RESOLVED, CLOSED |
| assignedToId | string | Agent user ID to assign the ticket to |
| priority | string | New priority level |
curl -X PATCH https://your-domain.com/api/v1/tickets/tkt_abc123 \
-H "X-API-Key: rd_test_your_key" \
-H "Content-Type: application/json" \
-d '{
"status": "IN_PROGRESS",
"assignedToId": "usr_agent123"
}'Request
json
{
"status": "IN_PROGRESS",
"assignedToId": "usr_agent123"
}Response200
json
{
"id": "tkt_abc123",
"ticketNumber": "TKT-001",
"status": "IN_PROGRESS",
"assignedTo": {
"id": "usr_agent123",
"name": "John Agent"
}
}POST
/api/v1/tickets/:id/escalateEscalate a ticket to a higher priority or different agent.
Authentication
Include your API key in the
X-API-Key header. Get your key at app.reechdesk.com/settings.path parameters
| Name | Type | Description |
|---|---|---|
| id | string | Ticket ID |
body parameters
| Name | Type | Description |
|---|---|---|
| escalateToId | string | User ID of the agent to escalate to |
| reason | string | Reason for escalation |
curl -X POST https://your-domain.com/api/v1/tickets/tkt_abc123/escalate \
-H "X-API-Key: rd_test_your_key" \
-H "Content-Type: application/json" \
-d '{
"escalateToId": "usr_senior_agent",
"reason": "Customer is frustrated, needs senior help"
}'Request
json
{
"escalateToId": "usr_senior_agent",
"reason": "Customer is frustrated, needs senior help"
}Response200
json
{
"id": "tkt_abc123",
"status": "IN_PROGRESS",
"priority": "URGENT",
"assignedTo": {
"id": "usr_senior_agent",
"name": "Senior Agent"
}
}Auto-escalation
Tickets can be auto-escalated based on SLA rules. Configure escalation triggers in Settings → Workflows.
