Skip to content
Apier
Apier.no
Guides

Unified company snapshot in one call

Fetch verify + roles + VAT + employer + risk for a Norwegian company in a single request — one normalized object composed from the existing endpoints, partial-failure tolerant, no new government access.

[Cite this as: Apier.no Docs v0.1.0 — last updated 2026-07-18]

The snapshot endpoint orients you on a Norwegian company in one round-trip instead of chaining /verify/authority/context. It returns a single normalized object with five sub-sections — verify, roles, vat, employer, and risk — each composed from the same handlers the dedicated endpoints use. There is no new government access: the only upstreams touched are the ones /context and /authority already touch (Brønnøysund, NAV Aa-registeret, Fullmakttjenesten).

Request

curl -H "Authorization: Bearer apr_free_<your_key_here>" \
  "https://apier.no/api/v1/company/999999999/snapshot"

Requires an API key with the read:brreg scope — the same scope as /verify, /authority, and /context. A non-9-digit org number returns 400 VALIDATION_FAILED before any data is loaded.

Response

Each of the five sub-objects is a small discriminated union. On success it carries status: "ok" plus its fields; if that one sub-source could not be composed it carries status: "degraded" (see Partial failure below).

{
  "success": true,
  "data": {
    "org_number": "999999999",
    "name": "Eksempel AS",
    "entity_type": "AS",
    "verify": {
      "status": "ok",
      "verification_status": "pass",
      "signals": {
        "is_active": true,
        "not_bankrupt": true,
        "not_under_dissolution": true,
        "not_forcibly_dissolved": true,
        "has_signing_authority_defined": true,
        "has_filed_annual_accounts": true,
        "mva_registered": true
      },
      "summary": "Selskapet er aktivt registrert i Enhetsregisteret ..."
    },
    "roles": {
      "status": "ok",
      "classification": "sole",
      "summary": "Én rolle kan signere alene for selskapet.",
      "signaturrett_holders": [{ "role": "Daglig leder", "name": "Ola Nordmann" }],
      "prokura_holders": [],
      "kombinasjon_available": true
    },
    "vat": { "status": "ok", "mva_registered": true },
    "employer": { "status": "ok", "available": true, "active_count": 12, "reason": null },
    "risk": {
      "status": "ok",
      "level": "clear",
      "distress_flags": [],
      "basis": "brreg_distress_signals",
      "summary": "Ingen konkurs-, avviklings- eller tvangsavviklingsflagg ..."
    },
    "composed_at": "2026-01-15T09:00:00+01:00"
  },
  "_meta": { "...": "..." }
}

What each sub-object means

Sub-objectSourceNotes
verifySame reducer as /verifyThe deterministic pass / fail / unknown verdict plus its seven tri-state signals.
rolesSame resolver as /authoritySigning classification (sole / joint / by_role / prokura_only / no_authority / unknown) plus the holders. kombinasjon_available: false is a holders-only degraded classification, still status: "ok".
vatTier-1 Brønnøysundmva_registered is tri-state (true / false / null), never coerced.
employerNAV Aa-registeretavailable: false with a reason when the caller has no NAV delegation — this is a normal status: "ok" outcome, not a degraded sub-object.
riskComputed-thin from verifyA transparency-only clear / elevated / unknown level reduced from the Brønnøysund distress signals (konkurs / avvikling / tvangsavvikling). Not a credit score.

Partial failure

The five sub-sources are composed independently. If one sub-source throws while composing, only its field degrades — the other four stay populated and the call still returns 200:

{
  "success": true,
  "data": {
    "roles": { "status": "degraded", "error": "roles sub-source could not be composed for this snapshot" },
    "verify": { "status": "ok", "verification_status": "pass", "...": "..." },
    "vat": { "status": "ok", "...": "..." },
    "employer": { "status": "ok", "...": "..." },
    "risk": { "status": "ok", "...": "..." }
  },
  "_meta": { "...": "..." }
}

Branch on each sub-object's status before reading its fields. The error string is deliberately generic — it never leaks upstream detail.

The base company facts are the one hard prerequisite: if the organisation does not exist in Brønnøysund you get 404, and if Brønnøysund is unreachable with no serviceable cache you get 503 — exactly like the sibling company endpoints.

When to use it

Reach for /snapshot when an agent needs a fast, all-round picture before deciding what to do — a due-diligence pass, a pre-action trust check, or populating a company overview. When you need just one facet (only the verdict, only the signing authority), call the dedicated endpoint — /verify, /authority, or /context — and skip the sub-sources you don't need.

Building with an LLM? Read llms.txt for agent-oriented integration guidance.