Skip to main content
This reference describes an internal application API. It is accurate for the current code and carries no stability promise. See API status.

Reading an endpoint page

Each endpoint page starts with two lines.
  • Permission names the permission key the server checks, and any extra condition such as owning the record.
  • Access says who can call it: a browser session only, a browser session or a service credential, or public.
The pages are generated from api-reference/openapi.json. Each operation also carries two machine-readable extensions, x-argus-permissions and x-argus-access. Interactive requests are turned off on this site. The API accepts changes only from its own origin, so a request sent from a documentation page would be refused.

Requests

Identity never comes from the request. The owner of a character, the officer recording something, the dispatcher making a change: all are taken from the session or credential. A body that tries to name one is rejected as an unknown property.

Responses

Every response is JSON, is sent with Cache-Control: no-store, and carries an X-Request-Id header.
Sign-in and linking endpoints are the exception: they answer with a 302 redirect and cookies. Timestamps in responses are UTC, ISO-8601, with millisecond precision. Fields that have no value are present and null, not omitted, unless the reference says otherwise.

Lists and paging

List endpoints return an array in data and paging state in meta.
hasMore is true when another page exists. There is no total count, except on the live player list, which adds meta.total. Paging is by offset, so a record created between two requests can shift items across pages. Most lists are newest first. The exceptions are stated on their pages: open CAD incidents are ordered by priority, units by callsign, waiting calls and CAD events oldest first, and PNC search results alphabetically.

Methods

CAD changes are all POST to an action path. Editing an incident or a unit replaces the whole record, so send every field. PATCH endpoints change only the fields you send. Nothing in the records areas is ever deleted. Characters, vehicles, incidents, units, records, warrants and markers are closed, cleared or marked inactive instead, and their histories are append-only.

Changes are recorded

Changes that matter are written to the audit log in the same transaction as the change itself; if the audit entry cannot be written, the change is rolled back. CAD and the PNC also keep their own permanent histories, available through GET /cad/events and GET /pnc/events.