Public contracts
The endpoints inopenapi.yaml. These are what the SDK, the middleware and the enforcement adapters depend on.
They don’t change without a deprecation window. If a public contract has to change, the old shape stays working through the window, then is removed.
Per-service APIs
Each service’s runtime/openapi.json. These are administrative and internal. They can change more freely. Don’t build against them expecting the public-contract promise.
How removal works
When a path is retired, calling it returns410 Gone with a machine-readable code. After the window, it’s removed.
Retired today
Native agent credentials. Agents no longer hold anapi_key_id + secret pair. These paths return 410 Gone with code: agent_native_credentials_retired, before any credential is read:
Credential verification. Every
/api/v1/verify/* path returns 410 Gone with the same code. Validate the access token at your protected resource instead. The older /api/v1/verify/signature and /api/v1/verify/request paths date from the original Ed25519 request-signing flow, which no longer exists.

