---
title: "Compact multi-step workflow planning manifest with telemetry-derived p95"
method: GET
path: "/agents.json"
tags: ["Discovery"]
---

# Compact multi-step workflow planning manifest with telemetry-derived p95

`GET /agents.json`

## Request

- Base URL: `https://www.apier.no`
- URL: `https://www.apier.no/agents.json`
- Auth: none required

Compact machine-readable planning manifest for AI agents executing multi-step Norwegian company authority and filing workflows. Distinguished from /workflows.json by the `observed_p95_ms` field on each workflow: derived from `mcp_query_log` rolling 30-day p95 (success rows only, summed across the workflow's `tool_names`) at request time. NOT an authored estimate. NOT a committed SLA. The top-level `differentiation_note` carries the literal phrase "observed, not committed" so an agent reading the manifest cannot confuse the value with a service-level guarantee. Fail-OPEN: if the telemetry query fails or a workflow's tools have zero rows in the 30-day window, `observed_p95_ms` is `null` (the route never throws and never returns 5xx). Schema lives at /agents.json/schema.json (JSON Schema 2020-12). For verbose HowTo planning (intent / expected_outcome / per-step `expected_response`), see /workflows.json — `details_url` on each entry cross-links there.

## Response `200`

Agent planning manifest. The route ALWAYS returns 200 — fail-OPEN per the telemetry-derived `observed_p95_ms` contract.

- object
  - `schema_version` string, required
  - `differentiation_note` string, required: Plain-prose statement explaining that observed_p95_ms is telemetry-derived (not committed) and cross-referencing /workflows.json for the verbose HowTo surface. Contains the literal substring `observed, not committed`.
  - `generated_at` string, date-time, required
  - `workflows` object[], required
    - `id` string, required
    - `name` string, required
    - `tool_names` string[], required
    - `estimated_steps` integer, required
    - `observed_p95_ms` integer, nullable, required: Rolling-30-day p95 (success rows only) summed across the workflow's tool_names. null when the underlying mcp_query_log query failed OR every tool in the workflow had zero rows. NOT a committed SLA.
    - `requires_auth` boolean, required
    - `idempotent` boolean, required
    - `failure_branch_examples` string[], required
    - `details_url` string, required

---

[API](https://skmtc.dev/apier/apis/apier-no-api.md) · [All operations](https://skmtc.dev/apier/apis/apier-no-api/llms.txt) · [OpenAPI document](https://skmtc.dev/apier/apis/apier-no-api/revisions/9ec19bc87311?raw)
