Skip to main content

API - APM, RUM, uptime and transactions

All paths are relative to https://api.wakora.io/v1/; see the overview for tokens, scopes and errors.

APM​

MethodEndpointScopeWhat it does
GET/apm/servicesreadThe APM summary per server, site and runtime: spans, traces, p95, error rate, last span, runtime version, plus a 24-hour spark.
GET/apm/red?server=&site=&from=&to=readPer-endpoint rate, errors and p50/p95/p99 latency.
GET/apm/daily?server=&site=&tz=readPer-day traffic, errors and p95 of one service or site.
GET/apm/nplusone?server=&site=readN+1 query findings: the normalised statement, how many times it ran per request, the endpoint and the plugin or file it came from, with a trace to open.
GET/traces?server=&site=&from=&to=readTrace list, slowest first.
GET/traces/{traceId}readOne trace as a waterfall: spans with parents, timings and attributes.
GET/profiles?server=&pool=&from=&to=readCPU profile as folded stacks with sample counts, the flame graph's raw material; pool scopes to one PHP-FPM pool.
GET/apm/sitesreadEnabled APM sites: the billable registry.
POST/apm/sitesadminEnable a site: site (bare domain), optional server (uuid, for a Node.js service named after its unit rather than a domain). The plan quota applies exactly as in the console.
DELETE/apm/sites/{site}adminSwitch a site off. Spans keep flowing in the background; the card and the billing stop.

Traces are kept for the retention of your plan; a from further back returns what is kept.

RUM​

MethodEndpointScopeWhat it does
GET/rum/detail?site=&from=&to=readOne site: Web Vitals percentiles, pages, browsers, devices, countries, JavaScript errors, frustration signals.
GET/rum/daily?site=&tz=readPer-day views and vitals of one site.
GET/rum/sitesreadEnabled RUM sites.
POST/rum/sitesadminEnable a site: site (bare domain), external=1 for a site that uses the hosted snippet instead of an agent-monitored web server.
DELETE/rum/sites/{site}adminSwitch RUM off for a site.

Visitor IP addresses are not part of any RUM answer; they are resolved to a country on arrival and discarded, see RUM: how it works.

Uptime and outside-in probes​

MethodEndpointScopeWhat it does
GET/uptime?server=&from=&to=readHeartbeat-based uptime ratio of a host.
GET/uptime/daily?server=&tz=readPer-day uptime of a host.
GET/fleet/daily?tz=readFleet-wide per-day availability.
GET/syntheticsreadEvery candidate site with its publicness verdict (enrolled, opted in, pending, points away, internal, unresolved, excluded) and the latest probe per vantage point.

Transaction flows​

Multi-step synthetic flows, on Pro and above. Credential values never come back out: listing answers credential names only, and an update merges new values over the stored ones.

MethodEndpointScopeWhat it does
GET/txnreadYour flows: steps, credential names, enabled state, latest results per vantage.
POST/txnadminCreate a flow: name, steps (the JSON step list, up to ten steps), optional creds (name to value). 25 flows per workspace.
POST/txn/{id}adminUpdate steps; creds entries overwrite by name, absent names keep their stored value.
POST/txn/{id}/toggle?on=1adminEnable or disable a flow.
POST/txn/testactRun once right now, from one vantage: id for a stored flow (optionally overriding creds) or inline steps. The answer is the step-by-step trace with timings and the failing assertion, if any.
DELETE/txn/{id}adminDelete the flow.

A step is an HTTP request with optional extract rules (a regex over the body or a header into a variable), {{variable}} substitution in later steps, a shared cookie jar, and assertions on status, body content and duration. The whole flow has a 30-second budget and stops at the first failed step. The step format is documented next to the editor in the console, which also shows the same trace the test call returns.