API Capabilities

GET /api/v1/capabilities

Available from 1.4.4. Requires authentication; operator, engineer and admin sessions and read-only API keys can read it. No request parameters are needed. /version remains the public, single-field product version response.

Response: 200 OK

{
  "api_version": "v1",
  "features": [
    "api_keys.read_only",
    "observations.multi_area_scope",
    "events.history_cursor",
    "observations.list_etag",
    "api_keys.read_only_incidents"
  ],
  "openapi_url": "/api-reference/openapi.json"
}
Field or feature Meaning
api_version API namespace supported by this endpoint, not the product release or reference edition
api_keys.read_only Server-side read-only API-key restriction is implemented; this does not say that the current key is restricted
observations.multi_area_scope Device/link lists accept area_ids, area_id, pi_id, rd_id and network_id with their documented precedence
events.history_cursor Event history supports explicit pagination=cursor; this is historical traversal, not lossless event delivery
observations.list_etag Device/link lists support optional If-None-Match validation and bodyless 304 responses
api_keys.read_only_incidents Restricted keys can read incident lists/details; actions remain denied
openapi_url Path to the bundled OpenAPI; resolve it against the Osprey installation origin, not against /api/v1/ or a documentation host

Feature identifiers are extensible: ignore unfamiliar identifiers. The response reports software support only. It does not report configured protocols, network observations, tenant state, or permissions granted to the requesting account. Normal authorization still applies to each subsequent request.

Responses use Cache-Control: private, no-store. Missing or invalid credentials return 401. Existing account restrictions still apply. Older installations, including release 1.4.3, may return 404; treat capabilities as unknown and use the matching release reference. A missing feature response says nothing about network health or recording coverage.