Base address
Each space has a stable address that carries its region and never names the infrastructure behind it:nia_sk_<live|test>_<region>_<space>_<key_id>_<secret>). While a space moves between cells, the old one answers 421 wrong_cell and the SDK retries on a fresh connection. The control API lives at https://control.api.niadra.com.
Authentication
Every route takesAuthorization: Bearer <credential>. What the credential must be depends on the route:
The Console roles are
admin, security, integration, review, analysis and vendor. admin passes every role check. A vendor person only sees the sources named in their role binding. A key without the scope a route needs gets 403 scope_missing; a person without the role gets 403 forbidden. Each reference page says what its route accepts.
Route groups
Conventions in one table
The details are in Limits and conventions and Errors.
Contract
The reference is generated from the OpenAPI 3.1 contract that the server exports from its own code, the same file the SDKs and the Console are tested against. Enum values and field names are English ASCII and never change meaning within/v1.
Next steps
Read context
The call every agent makes before it acts.
Send a batch
Messages, system events and actions.
Errors
The code catalog and what to do with each code.
Limits and conventions
Sizes, rates, idempotency and caching.

