Skip to main content
The Public API (V2) is a REST API for reading raw application data: metrics, traces, logs, Kubernetes metrics, and deploy statistics. It complements the GraphQL API, which manages models such as apps, incidents, dashboards, and alerts. As a rule of thumb, use the REST API to read data and the GraphQL API to manage configuration.
If you’re building an AI agent or assistant, AppSignal MCP exposes this data to agents directly — you may not need to call this API yourself.

Base URL

All endpoints are served under /api/v2 on the appsignal.com domain:

Authentication

Requests are authenticated with your personal API token, passed either as a bearer token or as a query parameter. You can find your token in the personal settings screen.
Your token grants access to the same sites and organizations you can see in AppSignal. Most requests are scoped to a single site_id; tracing endpoints use a site_ids array so they can search across multiple sites. The API checks that your token has access to every requested site before returning data. To verify a token itself, call GET /api/v2/auth. Your site_id is the ID in your app’s URL: https://appsignal.com/<organization>/sites/<SITE_ID>. For log queries you also need a log source ID — see finding your site and source IDs.

Verify a token

Returns a JSON object with a message confirming the authenticated user ID.

Requests and responses

Most endpoints use POST with a JSON body and return JSON. Read-only lookups (such as listing metric names) use GET with path parameters. Set Content-Type: application/json on requests with a body. Times are ISO 8601 strings. Most query bodies take a from and to time range plus either a site_id or, for tracing endpoints, a site_ids array. For a complete, auto-generated reference of every endpoint, request, and response type, see the REST API reference.

Error responses

Any endpoint can return these non-2xx responses:

422 envelope

Every 422 response uses the same envelope, so you can handle them in one place:
  • error: a stable, machine-readable slug. Branch on this in your code.
  • message: a human-readable message, safe to display.
  • details: an optional object whose shape depends on error.
One slug you may encounter is legacy_log_query_syntax, returned when a logs query uses the legacy attributes.<name>_<type> syntax. See querying logs for the current query language.

Endpoints

Metrics

See the metrics reference.

Tracing

See the tracing reference.

Logs

See the logs reference.

Kubernetes

See the Kubernetes reference.

Deploys

See the deploys reference.

Check-ins

See the check-ins reference.

Saved visuals

Saved visual endpoints do not require authentication. See the saved visuals reference.

System