Capability Status
The live operational state of every Apier capability — production, dry-run only, gated, or on the roadmap.
[Cite this as: Apier.no Docs v0.1.0 — last updated 2026-08-12]
Last verified: 2026-08-12
This page reflects the current operational state of every Apier capability. It exists so you can tell — before you start building — what is generally available, what validates but cannot yet submit for real, and what is built but still behind an approval gate. We would rather you know up front than discover a gate in production.
For programmatic use, GET /api/v1/capabilities now returns a machine-readable status field (live / gated / dry-run) on every capability and is the authoritative source of operational status for machine consumers; this hand-maintained matrix is for humans and may lag the API.
How to read this
- 🟢 Production — live, with real data and real government calls.
- 🟡 Dry-run only — the endpoint exists and validation works, but no live submission happens yet.
- ⚪ Gated — built, but requires additional approval or scope before it is enabled.
- 🔵 Pipeline — planned and not yet built.
Capability matrix
| Capability | Endpoint | Status | Notes |
|---|---|---|---|
| Company Summary | /api/v1/company/{org}/summary | 🟢 Production | — |
| Company Context (Tier 1) | /api/v1/company/{org}/context | 🟢 Production | — |
| Obligation Evaluation | /api/v1/company/{org}/obligations | 🟢 Production | — |
| Deadline Engine | /api/v1/company/{org}/deadlines | 🟢 Production | — |
| Compliance Explainer | /api/v1/explain | 🟢 Production | — |
| Public Deadlines | /api/v1/public/deadlines | 🟢 Production | No API key required. |
| Public Obligations | /api/v1/public/obligations | 🟢 Production | No API key required. |
| Exchange Rate | /api/v1/tools/exchange-rate | 🟢 Production | — |
| Altinn Migration Bridge | /api/v1/tools/altinn-migration | 🟢 Production | — |
| Capabilities | /api/v1/capabilities | 🟢 Production | Machine-readable capability listing. |
| MCP Server | @apier-no/mcp | 🟢 Production | Published on npm. |
| Consumer Auth / Keys | /api/v1/admin/keys | 🟢 Production | — |
| Provenance Log | _meta on all responses | 🟢 Production | Response provenance on every API response. |
| Sandbox | /sandbox | 🟢 Production | Simulates failures for agent testing. |
| DSR Endpoint | /api/v1/privacy/dsr | 🟢 Production | Data-subject request handling. |
| Filing Validation | /api/v1/actions/execute?dry_run=true | 🟡 Dry-run only | Validates a filing without submitting it. |
| Maskinporten Auth | internal — token exchange | 🟡 Dry-run only | Test-client credentials are verified; no production client is registered yet. See what "verified" means below. |
| Live Filing Submission | /api/v1/actions/execute | ⚪ Gated | Requires Maskinporten production validation + Altinn scope approval. |
| Tier 2 Data | extended company fields | ⚪ Gated | Requires the company's Altinn delegation. |
| Change Detection Query | /api/v1/changes | 🟢 Production | Requires read:changes scope. Without an entity_id filter, personal-field rows AND whole-entity company snapshots (which embed role-holder arrays) are withheld — the response flags this via personal_fields_withheld. Each row carries observation_kind. |
| Webhook Subscriptions | /api/v1/subscriptions | 🟢 Production | Professional tier. v1 event: accounts.updated. |
| TypeScript SDK | @apier-no/sdk | ⚪ Gated | Built in the monorepo at v0.1.1; not yet published to npm. |
| Python SDK | apier-no | 🔵 Pipeline | coming soon — not yet published to PyPI |
| CLI | @apier-no/cli (monorepo) | ⚪ Gated | Built in the monorepo at v0.1.0; not yet published to npm. |
Maskinporten: what "verified" means
Two true statements about Maskinporten are easy to confuse, so this section states both explicitly. This page is the authority; where any other page reads as broader than this, this page is correct.
What is verified. Apier holds a virksomhetssertifikat, a registered Maskinporten test client, and an uploaded RSA keypair. The client-assertion code path — building and signing the JWT that Maskinporten expects — is implemented, and an operator probe re-validates that configuration on demand.
What is not. There is no production Maskinporten client yet. It has not
been registered, so nothing about a production client has been verified.
MASKINPORTEN_MODE ships as mock, so a normal request performs no token
exchange against Maskinporten at all. The Altinn scope approval that
authorises binding submission is also still outstanding. Until both land,
Filing Validation stays dry-run and Live Filing Submission stays gated,
exactly as the matrix above says.
Availability
This page reflects current operational state. Capabilities marked Gated or Pipeline are built or in progress but not generally available. For access, contact support@apier.no.