Reechdesk

Tickets API

Create, read, update, and search support tickets.

GET/api/v1/tickets

List 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

NameTypeDescription
entityIdstringFilter by entity ID
statusstringFilter by status (OPEN, IN_PROGRESS, RESOLVED, CLOSED)
prioritystringFilter by priority (LOW, MEDIUM, HIGH, URGENT)
assignedToIdstringFilter by assigned agent ID
limitnumberMax results per page (default: 20, max: 100)
offsetnumberPagination 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/tickets

Create 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

NameTypeDescription
subjectstringTicket subject line
descriptionstringDetailed description of the issue
prioritystringPriority level: LOW, MEDIUM (default), HIGH, URGENT
entityIdstringEntity this ticket belongs to
visitorEmailstringVisitor 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/:id

Update 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

NameTypeDescription
idstringTicket ID

body parameters

NameTypeDescription
statusstringNew status: OPEN, IN_PROGRESS, RESOLVED, CLOSED
assignedToIdstringAgent user ID to assign the ticket to
prioritystringNew 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/escalate

Escalate 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

NameTypeDescription
idstringTicket ID

body parameters

NameTypeDescription
escalateToIdstringUser ID of the agent to escalate to
reasonstringReason 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.