Skip to main content

Tickets

The tickets your team tracks in Polaris, the same ones the Tickets page lists. Use this endpoint to show open problems on your own dashboard, or to follow a ticket from the moment it was raised to the moment it was fixed.

Tickets come from three places, shown in source:

  • manual: someone opened it in the app.
  • alert: Polaris opened it automatically because a device stayed offline. For these tickets detectedAt is when the device went offline.
  • system: other automation.

You only get what the workspace itself can see. Staff-only comments are not counted, and the person working on a ticket is given by name, never by email address.


List tickets GET /v1/tickets​

Returns the tickets in your token's workspaces, oldest first. Every filter is optional. With none, you get every ticket, whatever its status.

Query parameters​

  • statusstring

    open, in_progress, waiting, resolved or closed. Repeat the parameter or pass a comma separated list. Multiple values mean any of them. For the tickets still being worked on, pass open,in_progress,waiting.

  • severitystring

    minor, major or critical. Same list rules as status.

  • categorystring

    no_service, topup or suggestion. Same list rules as status.

  • sourcestring

    manual, alert or system. Same list rules as status.

  • tagstring

    Restrict to tickets that carry any of these tags, e.g. offline. Same list rules as status.

  • siteCodestring

    Restrict to tickets about devices at one or more sites. Repeat the parameter or pass a comma separated list, and match is case-insensitive. Takes the same siteCode as /v1/alerts.

  • gatewayIdstring

    Restrict to tickets about one or more devices. Takes the same gatewayId as /v1/alerts.

  • fromdate

    Only tickets created on or after this day, YYYY-MM-DD in Philippine time.

  • todate

    Only tickets created on or before this day. Unlike the report data endpoints, from and to can be used on their own, there is no limit on the range, and leaving both out returns every ticket.

  • workspaceIdstring

    Scope to a single workspace. Must be one returned by GET /v1/workspaces. An id outside your token's set returns 403.

  • pageSizeinteger

    Rows per page, 1 to 500. Defaults to 100.

  • pageTokenstring

    nextPageToken from the previous response.

An unknown status, severity or category value returns 400 rather than an empty page, so a typo can't look like "no tickets".

Response object​

  • idstring

    Unique identifier of the ticket.

  • numberinteger

    The ticket's number within its workspace, as shown in the app (#12).

  • workspaceIdstring

    Workspace the ticket belongs to. Matches id on /v1/workspaces.

  • titlestring

    Title of the ticket.

  • bodystring

    Description as written in the app (Markdown), or null when there is none.

  • statusstring

    open, in_progress, waiting, resolved or closed.

  • severitystring

    minor, major or critical.

  • categorystring

    no_service, topup or suggestion, or null for a ticket opened without one.

  • sourcestring

    manual, alert or system.

  • tagsstring[]

    Tags on the ticket. An empty array when there are none.

  • siteCodestring

    Site of the device the ticket is about, or null.

  • deviceNamestring

    Display name of the device, or null when the ticket isn't about a device.

  • gatewayIdstring

    Unique identifier of the device, or null.

  • deviceTypestring

    Access Point, Gateway, Terminal, and so on, or null.

  • assignedTostring

    Name of the person working on it, or null while nobody is assigned.

  • commentCountinteger

    Comments the workspace can see. Staff-only notes are not counted.

  • detectedAtstring

    RFC3339 instant the problem began.

  • resolvedAtstring

    RFC3339 instant the ticket was resolved, or null.

  • closedAtstring

    RFC3339 instant the ticket was closed, or null.

  • createdAtstring

    RFC3339 instant the ticket was opened.

  • updatedAtstring

    RFC3339 instant of the last change.

GET/v1/tickets
curl "https://polaris.revlv.com/v1/tickets?status=open,in_progress,waiting" \
-H "Authorization: Bearer {token}"
Response
{
"data": [
{
"id": "3f6c1d2a-8b4e-4f1a-9c2d-5e7a8b9c0d1e",
"number": 41,
"workspaceId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"title": "Terminal offline: PH1-2026-549 Barangay Hall",
"body": "- **Site:** PH1-2026-549\n\nOpened automatically after 2 hours offline.",
"status": "open",
"severity": "major",
"category": "no_service",
"source": "alert",
"tags": ["no-service", "offline"],
"siteCode": "PH1-2026-549",
"deviceName": "PH1-2026-549 Barangay Hall",
"gatewayId": "KIT304125478",
"deviceType": "Terminal",
"assignedTo": null,
"commentCount": 1,
"detectedAt": "2026-10-01T22:15:00Z",
"resolvedAt": null,
"closedAt": null,
"createdAt": "2026-10-02T00:15:00Z",
"updatedAt": "2026-10-02T00:15:00Z"
},
{
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"number": 42,
"workspaceId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"title": "Data top-up",
"body": "Please add 50 GB before the weekend event.",
"status": "in_progress",
"severity": "minor",
"category": "topup",
"source": "manual",
"tags": ["top-up"],
"siteCode": null,
"deviceName": null,
"gatewayId": null,
"deviceType": null,
"assignedTo": "Maria Santos",
"commentCount": 3,
"detectedAt": "2026-10-02T01:40:00Z",
"resolvedAt": null,
"closedAt": null,
"createdAt": "2026-10-02T01:40:00Z",
"updatedAt": "2026-10-02T03:05:00Z"
}
],
"pageInfo": {
"hasNextPage": false,
"nextPageToken": ""
}
}