The endpoint pages beneath this one are generated from the route table, so
the paths, methods and response shapes on them are the ones the service
registers.Two rules are enforced by middleware rather than declared per operation, so they
do not appear in those parameter tables. Both are on this page, and both
will otherwise look like an unexplained error:
tenantId is required, and APM
endpoints need a project scope.Authenticate
Two credentials, and using the wrong one is the most common first error.
Browser clients use an HttpOnly cookie set at sign-in; programmatic clients use
a bearer token. Both resolve to the same session.
Two URL grammars
The same handlers answer under two prefixes, and both are current:Your organization is a parameter, and it must agree with your session
Most endpoints require atenantId — in the query string, in the path, or in
the body. It is never authoritative: the value that scopes the query is the
one on your session, and the one you send is only checked for contradiction.
Naming an organization other than your own returns
403, not your own
data. The failure is visible rather than silently corrected — so a bug in
your client surfaces immediately instead of producing plausible results from
the wrong place. The contradiction is looked for in the query string, the path
and the body, so echoing a whole object back does not slip past it.APM endpoints are project-scoped
Services, endpoints, traces, dependencies and the service map answer for one project, and the scope has to be stated:?projectId=<id>— that project only.?scope=account— the whole account.
Errors
Every non-2xx response uses one shape:A
403 for a role and a 403 for a plan are different problems with
different fixes. One is answered by an Admin in your organization; the
other by your account contact. The error code distinguishes them.Roles
Read endpoints need Viewer. Creating and editing product configuration needs Editor. Users, license keys and billing need Admin. The audit log needs Auditor, Admin or Owner. The full model, including why Auditor is not a rung on the ladder, is on Roles and permissions.Working with the API
Querying telemetry
Querying telemetry
Logs, metrics, traces and services are all queryable, with the same time
ranges and filters the product uses. Results are cached briefly, so two
identical requests in quick succession may return the same response — see
Platform architecture.
Managing configuration as code
Managing configuration as code
Alert rules, dashboards, SLOs, synthetic checks and notification channels
can all be created and updated programmatically — which is what makes it
practical to keep them in version control and apply them per environment.Synthetic checks additionally import and export as YAML.
Prometheus-compatible queries
Prometheus-compatible queries
A subset of the Prometheus HTTP API, so Grafana can read aiAxonIQ as a
datasource with no adapter. Read the limits before relying on it — rate
functions parse and return an average. See
Grafana and Prometheus clients.
Usage reporting
Usage reporting
Ingest volume against plan allowances, for your own dashboards or a monthly
report. Cached for five minutes.
One endpoint in this reference is not reachable yet
GET /search/logs — the fuzzy full-text log search — is served outside the
/api/ prefix, and the reverse proxy in front of every deployment does not
route that prefix. A request to it reaches the dashboard and returns HTML with a
200, which is the most confusing possible failure. It is listed under
Endpoints because it is registered in the service; treat it as not available
until the path is routed, and use GET /api/logs with a search= expression
instead. See Searching logs.
Live tail is a WebSocket, and is not in the endpoint list
GET /ws/live-tail streams telemetry as it arrives. It is a WebSocket upgrade,
so an OpenAPI document cannot describe it without describing it wrongly — as a
GET that returns a JSON body, which is a handshake no client should perform.
It is deliberately absent from the Endpoints pages and documented on
Live tail instead. It carries the same session and the
same tenantId rule as every other tenant-scoped route.
What the Endpoints pages leave out
The reference is generated from the route table of the service that answers, so an endpoint’s presence means it is served. Four things are withheld on purpose:- The staff console and the sandbox control plane. Internal surfaces, not part of the product you are integrating with.
- The SSO endpoints. SAML is not served — three of the five routes answer
501— so publishing them would document a door with no handle. - The impersonation redemption and the billing webhook. Both are real and neither is called by a customer: one is reached only from a staff-issued link, the other only by the payment provider.
- Billing checkout, portal and invoice endpoints. Not enabled on this
deployment. They are not listed because a listed endpoint that returns
404is worse than an absent one.
Sending telemetry
Ingest is a different surface with different rules — a license key rather than a session, its own status codes and its own limits. It is documented under Ingest endpoints rather than here.Next
Authentication
The two credentials and which to use where.
Roles and permissions
What each role can reach.
Ingest endpoints
The other half of the surface.