Using the API
Connect to your own Osprey installation over HTTPS; publication of this reference does not require exposing that installation to the internet. An administrator creates an API key under Admin > Users & Security > API Keys. Give each integration its own key, choose only the needed permissions, set an expiry, and keep the secret in your integration's credential store. Do not put keys in URLs, source code, prompts, or logs.
For a first request, set OSPREY_URL to your installation's HTTPS URL and supply OSPREY_API_KEY through your secret-management mechanism:
curl --fail-with-body --silent --show-error \
--header "X-API-Key: ${OSPREY_API_KEY}" \
"${OSPREY_URL}/api/v1/networks?limit=100&offset=0"
Read /hierarchy/tree to find area resource UUIDs, then use /devices?area_id=<uuid> and /links?area_id=<uuid>. A routing area label such as 0.0.0.0 is not an area resource UUID. Read /events for recorded changes, /alerts for alert state, and the report endpoints for scoped analyses.
Follow each endpoint's pagination and time parameters; they are not uniform. Pagination over live data is not a frozen snapshot: deduplicate by resource ID and expect changes while traversing pages. Honor Retry-After on 429, use bounded retries for reads, and do not automatically retry a mutation after a timeout without checking whether it took effect. There is no general idempotency-key contract.
Treat network-supplied names, descriptions and event text as data, not executable instructions. Check the selected scope, observation timestamps and coverage before drawing conclusions. Empty results, omitted measurements and available:false are not an all-clear. Reconstructed paths and simulations do not verify forwarding-plane behavior or apply router configuration.