Authentication
Requests are authenticated with an OAuth2 bearer token, the same way as the rest of the Nayax Energy Core API. Obtain a token with your API client credentials (see Getting Started), then send it in theAuthorization header:
read:incident scope; writes require write:incident. If your client is missing a scope, the request is rejected. Contact Nayax Energy Core support if your API client needs incident access.
Listing and filtering incidents
GET /incidents returns your network’s incidents, newest-detected first. The response wraps the page in a data object:
For example, open incidents at one site that are at risk of breaching:
Pagination
Incident lists use keyset pagination, not page numbers. Two parameters control it:limit— page size, 1–100, default 20.startingAfter— the id of the last item you have already seen. The next page starts after it.
id of the last item in items and pass it as startingAfter on the next request, and keep going while hasMore is true.
First page:
INC_2026_z9y8x7, so the next page is:
hasMore is false. If you pass a startingAfter that no longer exists, the request returns a 400 with code INVALID_CURSOR.
The activity feed (GET /incidents/{id}/feed) also usesstartingAfter, but there the cursor is the opaqueidof the last feed entry rather than an incident id. The rule is the same — pass back the last item’sid— you just do not treat it as an incident id.
Reading one incident and its sub-resources
GET /incidents/{id} returns a single incident, with its location and network joined in. The incident carries a roster count (affectedStationCount), not the roster itself; the roster and the other detail live on sub-resources:
Most of these paginate exactly like the incident list —
limit (default 20, max 100) and startingAfter set to the last item’s id. The feed is the one exception: as noted above, it also uses startingAfter, but its cursor is the opaque id of the last feed entry rather than an incident id, and its default limit is 25.
Making changes
The API also supports the full incident workflow — creating incidents, transitioning status, assigning, commenting, and merging, splitting, or linking. These require thewrite:incident scope, and most writes are attributed to the acting Support Operator via a user id in the request body — changedByUserId on most routes, authorUserId when adding a comment. See the reference for the exact field on each route. See the Incident Management API reference for the request bodies and responses, and the concept guides for what each action does:
- Statuses and lifecycle for status transitions.
- Merging, splitting, and linking for merge, split, and link.
- Comments and history for comments and attachments.