API Reference
Tickets
Customer tickets and ticket types. These are not platform support tickets.
Explicit scopes
Every tickets route requires an explicit scope.
tickets:read for lists and show. tickets:write for create, update, close, reopen, and CSAT. A legacy null credential is denied. The module also requires FEATURE_TENANT_TICKETS_V1.
Ticket types
GET
/ticket-types
tickets:read
https://app.washeej.com/v1/ticket-types
List customer ticket types. Explicit scope tickets:read is required. Legacy null credentials are denied.
cURL
curl -H "client-id: YOUR_CLIENT_ID" \
-H "client-secret: YOUR_CLIENT_SECRET" \
https://app.washeej.com/v1/ticket-types
Notes
- Requires FEATURE_TENANT_TICKETS_V1.
- Not granted by a legacy null scope catalog. The credential must list tickets:read.
POST
/ticket-types
tickets:write
https://app.washeej.com/v1/ticket-types
Create a customer ticket type. Explicit scope tickets:write is required.
cURL
curl -X POST https://app.washeej.com/v1/ticket-types \
-H "client-id: YOUR_CLIENT_ID" \
-H "client-secret: YOUR_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{"key":"case","name":"Case"}'
Tickets
List filters match Legacy: status, type / type_id, assignee / assigned_agent_id, search, and per_page.
Sanctum GET /api/support/tickets is platform support. It filters status, search, and per_page. type and assignee are accepted there and match no row.
GET
/tickets
tickets:read
https://app.washeej.com/v1/tickets
List customer tickets. Filters: status, type or type_id, assignee or assigned_agent_id, search, per_page.
| Parameter | Type | Required | Description |
|---|---|---|---|
status
|
string | optional | open, in_progress, waiting_customer, resolved, closed, reopened. |
type_id
|
integer | optional | Ticket type id. Alias: type when numeric. |
assignee
|
integer | optional | Assigned employee id. Alias of assigned_agent_id. |
search
|
string | optional | Number, subject, or contact. |
per_page
|
integer | optional | Page size, 1-100. Default 25. |
cURL
curl -H "client-id: YOUR_CLIENT_ID" \
-H "client-secret: YOUR_CLIENT_SECRET" \
"https://app.washeej.com/v1/tickets?status=open&per_page=25"
Notes
- Explicit scope tickets:read. This is customer tickets, not platform support.
- Sanctum GET /api/support/tickets is platform support. It filters status, search, and per_page. type and assignee are accepted there and match no row, because support_tickets has no type or assignee column.
GET
/tickets/{number}
tickets:read
https://app.washeej.com/v1/tickets/{number}
Show one customer ticket by number. Explicit scope tickets:read.
cURL
curl -H "client-id: YOUR_CLIENT_ID" \
-H "client-secret: YOUR_CLIENT_SECRET" \
https://app.washeej.com/v1/tickets/TKT-1
POST
/tickets
tickets:write
https://app.washeej.com/v1/tickets
Create a customer ticket. Explicit scope tickets:write.
cURL
curl -X POST https://app.washeej.com/v1/tickets \
-H "client-id: YOUR_CLIENT_ID" \
-H "client-secret: YOUR_CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{"type_key":"case","subject":"Hello"}'