Company

Company filing history (Altinn instances) paired with the Apier audit trail

Returns a Norwegian organisation's Altinn 3 filing instances (Mva-melding, A-melding, Skattemelding, …) normalised to a stable wire shape, and PAIRS each filing with the Apier audit-log entry that produced it where one exists in the calling consumer's own audit trail. Use it to reconcile an organisation's Altinn filings against the submissions YOUR consumer made through Apier. Only a positive match is conclusive: filed_via_apier: true, with apier_record carrying the audit_log id + correlation_id, means your consumer submitted that filing through Apier. filed_via_apier: false is NOT proof the filing was made directly in Altinn — it can mean no matching record exists in your consumer's audit trail (the filing may have been submitted by another consumer, or outside Apier), or that the audit read was capped or failed and the pairing never covered it. Read the top-level audit_pairing.status before concluding anything from a false: only complete makes it a real 'no Apier record for this consumer' verdict. Pairing is keyed on the Altinn instance id matching an Apier submit_mva audit row's altinn_receipt_id; it is best-effort enrichment — a transient audit-read failure degrades every filing to filed_via_apier: false (reported as audit_pairing.status: degraded) and NEVER fails the response. MOCK-GATED: with ALTINN_MODE=mock (default) the response is served from deterministic synthetic fixtures; the live adapter (requesting the altinn:instances.read Maskinporten scope) is dormant until that scope is approved. Category B — requires an API key with the read:altinn scope. Offset-paginated via limit + offset (the org's instance set is bounded). The access itself is recorded via the automatic provenance_log receipt; no separate audit row is written for the read.

get/api/v1/company/{org}/filing-history

Request

  • Base URL: https://www.apier.no
  • URL: https://www.apier.no/api/v1/company/{org}/filing-history
  • Auth: HTTP bearer

Path parameters

orgstring required

9-digit Norwegian organisation number. Any other shape returns 400 VALIDATION_FAILED before the adapter is called.

Query parameters

limitinteger

Maximum number of filings to return in this page (1–100, default 20). The response sets pagination.has_more via a limit+1 lookahead.

cursorstring

Opaque HMAC-signed continuation token - the CANONICAL pagination idiom. Pass the previous response's pagination.next_cursor back verbatim; a tampered or cross-endpoint cursor is rejected with 400 CURSOR_INVALID. Cannot be combined with the legacy offset parameter.

offsetinteger

Zero-based offset into the org's full filing list (default 0). When pagination.has_more is true, request the next page with offset = offset + limit (echoed as pagination.next_offset). DEPRECATED: use the opaque cursor parameter instead; this parameter keeps working through the deprecation window (Sunset: 2027-01-31T00:00:00Z) and responses to requests using it carry Deprecation/Sunset/Link headers.

Response

Filing history resolved. data.data is the paired filing page; branch on each entry's filed_via_apier. data.pagination carries offset-pagination state. An organisation with no Altinn filings returns 200 with an empty data.data array (never 404). _meta.data_freshness reflects the upstream fetch instant.

successtrue required

Example response

{
  "_meta": {
    "rulebook_version": "v1.0.0",
    "source": "apier.no",
    "data_source": "Brønnøysund Enhetsregisteret + Apier Universal Rulebook",
    "schema_version": "1.0.0",
    "legal_basis": "NLOD — public registry reuse",
    "response_timestamp": "2026-04-24T12:00:00.000Z",
    "response_hash": "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
    "source_snapshot_id": "brreg-2026-04-24T02:00:00.000Z",
    "cost_nok": 0.5,
    "wallet_remaining_nok": 9.5,
    "spend_cap_remaining_nok": 12.5
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.