List customer cases
Newest number first, or most recently updated with `sort=updatedAt`. `status` and `category` take comma-separated lists; `open=true` keeps only open cases (NEW, IN_PROGRESS, WAITING_*); `assignedTo` takes a user id or `unassigned`; `search` matches title words or a case number (`1042`, `S-1042`); `resourceType` + `resourceId` (together) list the cases linked to one record, e.g. a call. Available to organisations with customer cases switched on: an organisation whose business type has no cases gets 404 `TENANT_MODULE_UNAVAILABLE`, one where cases are not switched on yet gets 403 `FEATURE_NOT_AVAILABLE`. Required scope: `cases.read`.
/casesAuthorization
ApiKeyAuth An external API key, sent as Authorization: Bearer mflo_…. Scopes are checked per route; see each operation’s description.
In: header
Query Parameters
0 < value <= 1000010 < value <= 10020Comma-separated statuses, e.g. NEW,IN_PROGRESS. An unknown value is a 422 VALIDATION_ERROR on status.
Value in
- "true"
- "false"
Comma-separated category keys, e.g. bug,outage. A malformed key is a 422 VALIDATION_ERROR on category; a well-formed key no case uses simply matches nothing.
uuiduuidlength <= 200Value in
- "TELEPHONY_CALL"
- "BOT_SESSION"
- "EMAIL_CONVERSATION"
- "CHAT_CONVERSATION"
- "MESSAGING_CONVERSATION"
- "CONTACT_REQUEST"
uuid"number"Value in
- "number"
- "updatedAt"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/cases"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "number": 0, "title": "string", "status": "NEW", "priority": "LOW", "categoryKey": "string", "statusChangedAt": "2019-08-24T14:15:22Z", "dueAt": "2019-08-24T14:15:22Z", "resolvedAt": "2019-08-24T14:15:22Z", "closedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "assignedToUser": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "firstName": "string", "lastName": "string" }, "contact": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "firstName": "string", "lastName": "string" }, "company": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" }, "topic": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string" }, "tags": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "color": "string" } ] } ], "pagination": { "page": 0, "limit": 0, "total": 0, "totalPages": 0 }}Get a customer case GET
With its links, and its tasks when the key also holds `tasks.read`. Available to organisations with customer cases switched on: an organisation whose business type has no cases gets 404 `TENANT_MODULE_UNAVAILABLE`, one where cases are not switched on yet gets 403 `FEATURE_NOT_AVAILABLE`. Required scope: `cases.read`.
Update a customer case PATCH
Only the fields you send change; `null` clears an optional field. A status change stamps `statusChangedAt`, and `resolvedAt` / `closedAt` when it reaches RESOLVED / CLOSED. `customFields` replaces the form's full set. Deleting a case stays in the Portal. Available to organisations with customer cases switched on: an organisation whose business type has no cases gets 404 `TENANT_MODULE_UNAVAILABLE`, one where cases are not switched on yet gets 403 `FEATURE_NOT_AVAILABLE`. Required scope: `cases.write`.