Discovery

Machine-readable error registry — every wire-reachable error_code with retryable, bilingual fix hints, docs_url and category

Public, zero-auth error registry — call this ONCE at startup to load a complete recovery policy, instead of discovering the error vocabulary one failure at a time. Returns every error_code any Apier surface can serialise (209 today; the closed ErrorCode enum), each with retryable (is an identical retry after a short backoff worth attempting?), fix_hint_en / fix_hint_nb (one-line imperative remediation in English and bokmål), docs_url (the code's anchor on /docs/errors) and category (one of the closed ErrorCategory buckets for coarse routing). SINGLE SOURCE OF TRUTH: the rows are the runtime error catalog — the SAME table errorResponse reads when it stamps those fields onto a live 4xx/5xx envelope — so a value looked up here always equals the value the envelope carries, and the /docs/errors page is generated from the same table. Sorted by code, deterministic for a given deploy: data_freshness / last_verified are pinned to the catalog's own change stamp, and the strong ETag honours If-None-Match → 304. Category A discovery surface: no API key, soft per-IP rate limit, Cache-Control: public, max-age=300. Complements POST /api/v1/explain, which expands the subset of codes that carry a full Compliance Explainer template into a bilingual explanation object.

get/api/v1/errors

Request

  • Base URL: https://www.apier.no
  • URL: https://www.apier.no/api/v1/errors
  • Auth: none required

Response

The complete error registry. Byte-stable for an unchanged catalog: the ETag is computed over the stable envelope (per-call wire markers like response_timestamp / response_hash excluded — the convention every cached read endpoint shares).

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.