/tickets
List tickets
Returns a paginated list of tickets, sorted by ticketNumber. Use ?customerNumber= to show a customer everything they have reported, ?queueCode= to mirror one team's workload, and ?open=true to skip the finished ones.
Show the full description
An unknown customerNumber or queueCode returns an empty page rather than 404 — the filter narrows the collection, it does not address a resource. ?modifiedSince= (ISO 8601 UTC datetime) returns records created or changed at or after that instant, and is the intended way to run an incremental sync. A change anywhere inside the record counts: editing a line moves the parent's modifiedDate too, so no change can hide below the resource level. Internal notes and the agent-facing history are not part of this representation; messages live under /preview/tickets/{ticketNumber}/comments.
Query parameters
| Field | Type | Description |
|---|---|---|
search
|
string | Matches ticket number, title and contact name, case-insensitively and on partial words. |
status
|
enum |
Returns only tickets in this status.
New
Triaged
Assigned
InProgress
WaitingCustomer
WaitingInternal
OnHold
Resolved
Closed
Cancelled
|
type
|
enum |
Returns only tickets of this type.
ServiceIncident
ServiceRequest
Maintenance
Installation
Inspection
Rma
Warranty
Complaint
Support
Question
Internal
Firmware
FeatureRequest
|
priority
|
enum |
Returns only tickets with this priority.
Low
Normal
High
Critical
|
customerNumber
|
string | Returns only tickets belonging to this customer number. |
queueCode
|
string | Returns only tickets addressed to this ticket queue code. |
open
|
boolean | true returns only tickets still being handled, false only the finished ones (Resolved, Closed, Cancelled). Omit for both. |
modifiedSince
|
string(date-time) | Returns only records created or changed at or after this instant (ISO 8601 UTC datetime). A change anywhere inside the record counts, including on its lines. |
page
|
integer | Page to return, 1-based. Default 1. |
pageSize
|
integer | Number of records per page. Default 50, max 200. |
Responses
PagedResult_PublicTicketResponse
Paginated response: the fields below sit in items[], wrapped in totalCount, page, pageSize, totalPages, hasPreviousPage and hasNextPage. Paginated
| Field | Type | Description |
|---|---|---|
closedAt
|
string(date-time) · nullable | UTC timestamp when the ticket was closed. Null while open. |
contactEmail
|
string · nullable | Email address of the person who reported the issue. Null if not set. |
contactName
|
string · nullable | Name of the person who reported the issue. Null if not set. |
contactPhone
|
string · nullable | Phone number of the person who reported the issue. Null if not set. |
createdDate
|
string(date-time) | UTC timestamp when the ticket was created. |
customerNumber
|
string · nullable | Customer number of the customer the ticket belongs to. Null when the reporter could not be matched to a customer. |
description
|
string · nullable | Full description as submitted. Null if not set. |
firmwareVersion
|
string · nullable | Firmware version in the unit when the fault occurred. Null if not set. |
firstResponseAt
|
string(date-time) · nullable | UTC timestamp of the first reply to the reporter. Null until answered. |
hardwareRevision
|
string · nullable | Hardware revision or batch of the unit. Null if not set. |
id
|
string(uuid) | Internal unique identifier (UUID v7). |
isAssigned
|
boolean | Whether a named agent has picked the ticket up. Who that is stays internal. |
isSuspectedBug
|
boolean | Whether the ticket is flagged as a suspected product fault rather than handling. |
itemNumber
|
string · nullable | Item number of the product the ticket concerns. Null when no product is linked. |
links
|
Links | Hypermedia links for a public API resource. Exposed as a computed `links` property on the public response DTOs so that create and read responses carry the same self-reference — the canonical URL is derived from the business key already present on the DTO and can never drift from the route it points at. |
modifiedDate
|
string(date-time) · nullable | UTC timestamp of the last modification. Null if never modified after creation. |
priority
|
enum |
Ticket priority values exposed via the Public API.
Mirrors `Domain.Tickets.TicketPriority` — see PublicApi.Preview.Support.Queries.PublicTicketStatus.
Low
Normal
High
Critical
|
queueCode
|
string · nullable | Code of the ticket queue (team) the ticket is addressed to. Null when it is in no queue. |
queueName
|
string · nullable | Display name of the ticket queue. Null when the ticket is in no queue. |
resolutionNotes
|
string · nullable | The resolution as described to the reporter. Null while unresolved or if not set. |
resolutionType
|
enum |
How a ticket was resolved, exposed via the Public API.
Mirrors `Domain.Tickets.TicketResolutionType` — see PublicApi.Preview.Support.Queries.PublicTicketStatus.
Fixed
CannotReproduce
Duplicate
WontFix
CustomerResolved
RmaApproved
RmaRejected
Refunded
Replaced
ReturnVisitRequired
ResolvedByInstruction
FirmwareUpdate
ConfigurationChange
NoFaultFound
|
resolvedAt
|
string(date-time) · nullable | UTC timestamp when the ticket was resolved. Null while unresolved. |
serialNumber
|
string · nullable | Serial number as the reporter gave it. Free text — it does not have to exist in the serial register. |
slaResolutionBreached
|
boolean | Whether the resolution deadline was passed. |
slaResolutionDue
|
string(date-time) · nullable | UTC deadline for resolution under the ticket's SLA. Null when no SLA policy applies. |
slaResponseBreached
|
boolean | Whether the response deadline was passed. |
slaResponseDue
|
string(date-time) · nullable | UTC deadline for the first reply under the ticket's SLA. Null when no SLA policy applies. |
status
|
enum |
Ticket status values exposed via the Public API.
Mirrors `Domain.Tickets.TicketStatus` name-for-name and value-for-value so the projection
can cast the domain value straight across. `PublicTicketEnumParityTests` fails the build
if the two drift apart, which is what stops a new domain value from silently serialising as a
bare number.
New
Triaged
Assigned
InProgress
WaitingCustomer
WaitingInternal
OnHold
Resolved
Closed
Cancelled
|
tags
|
string[] · nullable | Tags on the ticket, sorted alphabetically. Empty when the ticket has none. |
ticketNumber
|
string · nullable | Unique ticket number — business key used in all URL references, e.g. `TKT-2026-00042`. |
title
|
string · nullable | Short summary of the issue. |
type
|
enum |
Ticket type values exposed via the Public API.
Mirrors `Domain.Tickets.TicketType` — see PublicApi.Preview.Support.Queries.PublicTicketStatus.
ServiceIncident
ServiceRequest
Maintenance
Installation
Inspection
Rma
Warranty
Complaint
Support
Question
Internal
Firmware
FeatureRequest
|
ProblemDetails
?status=, ?type= or ?priority= got a value outside its list.
| Field | Type |
|---|---|
detail
|
string · nullable |
instance
|
string · nullable |
status
|
integer · nullable |
title
|
string · nullable |
type
|
string · nullable |
Standard errors:
401
403
Errors
Examples
curl "https://api.erp.fluit.cloud/preview/tickets" \
-H "X-Api-Key: fluit_live_sk_..."
{
"hasNextPage": true,
"hasPreviousPage": true,
"items": [
{
"closedAt": "2026-06-11T09:24:13.418",
"contactEmail": "order@acme.se",
"contactName": "Anna Svensson",
"contactPhone": "string",
"createdDate": "2026-06-11T09:24:13.418",
"customerNumber": "CUST-001",
"description": "string",
"firmwareVersion": "string",
"firstResponseAt": "2026-06-11T09:24:13.418",
"hardwareRevision": "string",
"id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
"isAssigned": true,
"isSuspectedBug": true,
"itemNumber": "WIDGET-A",
"links": {
"self": "string"
},
"modifiedDate": "2026-06-11T09:24:13.418",
"priority": "Low",
"queueCode": "STD",
"queueName": "Acme AB",
"resolutionNotes": "string",
"resolutionType": "Fixed",
"resolvedAt": "2026-06-11T09:24:13.418",
"serialNumber": "ABC-001",
"slaResolutionBreached": true,
"slaResolutionDue": "2026-06-11T09:24:13.418",
"slaResponseBreached": true,
"slaResponseDue": "2026-06-11T09:24:13.418",
"status": "New",
"tags": [
"string"
],
"ticketNumber": "TIC-2026-0104",
"title": "string",
"type": "ServiceIncident"
}
],
"page": 1,
"pageSize": 50,
"totalCount": 137,
"totalPages": 3
}
Base URL https://api.erp.fluit.cloud/preview. The response example is generated from the schema: the shape is right, the values are made up.