Error reference
The canonical Apier error reference: the standard error envelope, the explanation and handover schemas, and the full structured error_code catalogue.
[Cite this as: Apier.no Docs v0.1.0 — last updated 2026-08-21]
Every Apier API error returns the same structured envelope, so your agent can branch on a machine-readable error_code instead of string-matching prose. This page is the canonical reference for that envelope, the explanation object it carries, and every error_code the API can emit.
The error envelope
Every 4xx and 5xx response from /api/v1/* has the same top-level shape, { success: false, error_code, explanation, _meta }:
{
"success": false,
"error_code": "AUTH_NO_DELEGATION",
"explanation": {
"summary": "Ingen aktiv systembruker-delegering finnes for 999999999.",
"why": "Konsumenten har ingen aktiv systembruker-delegering hos Altinn for 999999999.",
"fix_steps": [
"Opprett en systembruker via altinn.no/hjelp/systemtilgang og knytt den til integrasjonen.",
"Be en signaturberettiget godkjenne delegeringen i Altinn.",
"Gjenta forespørselen når delegeringen vises som aktiv."
],
"summary_en": "No active system-user delegation exists for 999999999.",
"why_en": "The consumer has no active system-user delegation in Altinn for 999999999.",
"fix_steps_en": [
"Create a system user via altinn.no/hjelp/systemtilgang and connect it to the integration.",
"Ask a person with signing authority to approve the delegation in Altinn.",
"Retry the request once the delegation shows as active."
],
"relevant_link": "https://info.altinn.no/hjelp/systemtilgang/om-systemtilgang/",
"legal_basis": null,
"handover": {
"who": "company_admin",
"where": "https://info.altinn.no/hjelp/systemtilgang/om-systemtilgang/",
"what": "Opprette systembruker og godkjenne delegering for 999999999.",
"why": "Uten delegering har systembrukeren ingen rettigheter på vegne av organisasjonen."
}
},
"_meta": {
"rulebook_version": "2026.6.0",
"data_freshness": "2026-06-23T08:00:00Z"
}
}success is always false on an error. error_code is a stable machine string from the catalogue below. explanation is human-and-agent readable: its summary / why / fix_steps prose is Norwegian bokmål, carried alongside English summary_en / why_en / fix_steps_en siblings (see below). _meta rides on errors too, so your agent can diff the rulebook_version it last saw against the one that just failed. Every value above is synthetic; 999999999 is the documentation fixture organisation number.
The explanation object
explanation always carries a summary; every other field is optional and present only when it applies. The type is ApiErrorExplanation in src/types/api.ts.
The Norwegian summary / why / fix_steps come with English summary_en / why_en / fix_steps_en siblings carrying the same guidance, so an English-language agent gets actionable text without translating the bokmål. The handover and legal_basis fields stay Norwegian / Lovdata-native.
| Field | Required | Meaning |
|---|---|---|
summary | Required | One-sentence statement of what went wrong (Norwegian bokmål). |
summary_en | Optional | English translation of summary. |
why | Optional | Longer explanation of the cause, in Norwegian bokmål. |
why_en | Optional | English translation of why. |
fix_steps | Optional | Ordered, imperative next steps the caller can take (Norwegian bokmål). |
fix_steps_en | Optional | English translation of fix_steps — same steps, in the same order. |
relevant_link | Optional | Public Altinn / Skatteetaten / Brønnøysund / Apier-docs URL for this error. |
legal_basis | Optional | Lovdata-style legal reference when the error maps to a statute. |
details | Optional | Field-level validation problems as [{ field, message }]. |
handover | Optional | Present when a human must act before the agent can proceed (see below). |
The handover object
When an agent reaches a boundary it cannot cross on its own (an Altinn role that isn't delegated, a Maskinporten scope that isn't granted, or an error that needs Apier triage), explanation.handover names who must step in. It is absent for errors the agent can resolve itself by retrying, adjusting input, or waiting.
| Field | Meaning |
|---|---|
who | The human role to escalate to — one of company_admin, accountant, altinn_user, apier_support. |
where | A stable URL or location where that person performs the action. |
what | The concrete action they must take. |
why | Why the agent itself cannot complete it. |
Machine-actionable fields
Alongside explanation, every error carries six top-level machine-actionable fields, siblings of error_code rather than nested inside explanation. They let an agent decide whether to retry and what to change without parsing prose:
| Field | Type | Meaning |
|---|---|---|
retryable | boolean | true → repeating the same request after a short backoff can plausibly succeed (transient upstream, rate limit). false → an identical retry is wasted; change the input, the credential, or hand over to a human first. |
fix_hint | string | A single terse imperative remediation for error_code — the one-line form of explanation.fix_steps, safe to branch on without walking an array. Written in English (the machine-facing lingua franca, like the MCP remediation strings), unlike the Norwegian-primary summary / why / fix_steps. |
fix_hint_en | string | Guaranteed-English accessor for the fix hint; present whenever fix_hint is. Because fix_hint is already English today, fix_hint_en equals it — it is the stable seam that lets a future localized (bokmål) fix_hint land without breaking agents that pinned to the English text. |
fix_hint_nb | string | Norwegian bokmål sibling of fix_hint_en — the same remediation for Norwegian-language agents and humans. First-pass translations, awaiting native-speaker review. |
docs_url | string | Stable documentation URL for this error: the code's own anchor on this page (#<code in lower case>), uniformly for every code. Follow the value verbatim. |
category | string | Coarse failure-class bucket, one of the closed set auth, scope, validation, not_found, rate_limit, upstream, internal, billing. Route on the class first (anything upstream or rate_limit → back off; anything auth or scope → stop and hand over), then read the per-code retryable / fix_hint. |
These fields are additive (Rule 10): existing consumers that read only error_code / explanation are unaffected. Since the error registry landed, they are populated for every code the API can emit; the catalogue below is complete by construction, and a code that somehow reached the envelope builder without an entry is collapsed to INTERNAL_ERROR rather than leaking an undocumented string. There is still no retryable-by-default: never infer "safe to retry" from anything but an explicit retryable: true.
The whole registry is also served as JSON, keylessly, at GET /api/v1/errors: { schema_version, count, categories, retryable_contract, errors: [{ code, category, retryable, fix_hint_en, fix_hint_nb, docs_url }], docs_url, explain_endpoint } (retryable_contract restates what retryable means; docs_url points here; explain_endpoint is the path of POST /api/v1/explain), with errors sorted by code, so an agent can load its recovery policy once at startup instead of discovering the vocabulary one failure at a time.
Note the language contract: fix_hint is machine-facing and therefore English by default, so fix_hint and fix_hint_en carry the same English text today. This differs from the summary / summary_en pair, where summary is Norwegian bokmål and summary_en is its translation.
A transient upstream failure, for example, tells an agent to back off and retry the identical call:
{
"success": false,
"error_code": "UPSTREAM_UNAVAILABLE",
"explanation": {
"summary": "Kilden er midlertidig utilgjengelig.",
"summary_en": "The upstream source is temporarily unavailable."
},
"retryable": true,
"fix_hint": "The upstream service is unavailable or timed out — retry the identical call after a short backoff (seconds). See also https://www.apier.no/docs/guides/error-handling.",
"fix_hint_en": "The upstream service is unavailable or timed out — retry the identical call after a short backoff (seconds). See also https://www.apier.no/docs/guides/error-handling.",
"fix_hint_nb": "Oppstrømstjenesten er utilgjengelig eller tidsavbrutt — gjenta det identiske kallet etter en kort pause (sekunder). Se også https://www.apier.no/docs/guides/error-handling.",
"docs_url": "https://www.apier.no/docs/errors#upstream_unavailable",
"category": "upstream",
"_meta": {
"rulebook_version": "2026.6.0"
}
}A validation failure, by contrast, carries retryable: false — resending the same body fails identically, so the agent must correct the field named in explanation.details first.
error_code catalogue
Every code below is rendered at build time from the error catalog (ERROR_CATALOG in src/lib/api/error-catalog.ts), the same table errorResponse stamps onto a live envelope and the keyless GET /api/v1/errors registry serves. There is no hand-maintained list: a code is documented here if and only if it can reach the wire, and the machine registry, this page and the ErrorCode enum in openapi.json are gated to stay the same set.
Each entry shows the code's category, its retryable verdict, the English and bokmål one-line remediation (fix_hint_en / fix_hint_nb) and its docs_url. Every code has its own anchor on this page (#<code in lower case>) and every row's docs_url points at it; where a fuller recovery loop lives in a guide (error-handling, idempotency, agent-payments, authentication), the fix hint ends with a "See also" link to it. Follow the served value rather than deriving it from the code. The bokmål hints are first-pass translations awaiting native-speaker review.
For the fuller explanation object (summary, why, ordered fix steps, handover) that a subset of these codes also carries, see Get a live explanation below.
Authentication, tokens & sessions (auth · 28)
APPROVAL_TOKEN_EXPIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The approval token expired — a human must approve the action again to mint a fresh token; the agent cannot self-recover.
- fix_hint_nb
- Godkjenningstokenet har utløpt — et menneske må godkjenne handlingen på nytt for å få et nytt token; agenten kan ikke løse dette selv.
- docs_url
- https://www.apier.no/docs/errors#approval_token_expired
APPROVAL_TOKEN_INVALID
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The approval token was not recognised — request a fresh approval from the human approver; an identical retry fails identically.
- fix_hint_nb
- Godkjenningstokenet ble ikke gjenkjent — be om en ny godkjenning fra den som godkjenner; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#approval_token_invalid
APPROVAL_TOKEN_MISMATCH
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The approval token is bound to a different org_number, action or consumer — request a token for exactly this request; do not reuse a token across actions.
- fix_hint_nb
- Godkjenningstokenet er knyttet til et annet org_number, en annen handling eller en annen konsument — be om et token for nøyaktig denne forespørselen; ikke gjenbruk token på tvers av handlinger.
- docs_url
- https://www.apier.no/docs/errors#approval_token_mismatch
APPROVAL_TOKEN_REQUIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- This action needs a one-time human approval token — obtain one via the approval flow and resend with the X-Approval-Token header; retrying without it fails identically.
- fix_hint_nb
- Denne handlingen krever et engangs-godkjenningstoken fra et menneske — skaff ett via godkjenningsflyten og send på nytt med X-Approval-Token-headeren; et nytt forsøk uten token feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#approval_token_required
APPROVAL_TOKEN_USED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The approval token was already consumed (one-time use) — request a fresh approval before resending; do not replay the same token.
- fix_hint_nb
- Godkjenningstokenet er allerede brukt (engangsbruk) — be om en ny godkjenning før du sender på nytt; ikke gjenbruk samme token.
- docs_url
- https://www.apier.no/docs/errors#approval_token_used
AUTH_CONSUMER_INACTIVE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The consumer account is inactive — a human must reactivate it in the Apier dashboard before this key works.
- fix_hint_nb
- Konsumentkontoen er inaktiv — et menneske må reaktivere den i Apier-dashbordet før denne nøkkelen virker.
- docs_url
- https://www.apier.no/docs/errors#auth_consumer_inactive
AUTH_EXPIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The credential was rejected as expired after one transparent retry — refresh or re-issue the API key, then repeat the call; do not loop on the same key.
- fix_hint_nb
- Legitimasjonen ble avvist som utløpt etter ett automatisk nytt forsøk — forny eller utsted API-nøkkelen på nytt, og gjenta kallet; ikke loop på samme nøkkel.
- docs_url
- https://www.apier.no/docs/errors#auth_expired
AUTH_EXPIRED_KEY
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The credential expired — refresh or re-issue it, then repeat the call; do not loop on the same token.
- fix_hint_nb
- Legitimasjonen har utløpt — forny eller utsted den på nytt, og gjenta kallet; ikke loop på samme token.
- docs_url
- https://www.apier.no/docs/errors#auth_expired_key
AUTH_EXPIRED_TOKEN
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The one-time approval token expired — a human must approve the action again to mint a fresh token; the agent cannot self-recover, and an identical retry fails identically.
- fix_hint_nb
- Engangs-godkjenningstokenet har utløpt — et menneske må godkjenne handlingen på nytt for å få et nytt token; agenten kan ikke løse dette selv, og et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#auth_expired_token
AUTH_INVALID_KEY
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The API key was rejected — obtain a valid key and retry with the new credential.
- fix_hint_nb
- API-nøkkelen ble avvist — skaff en gyldig nøkkel og prøv på nytt med den nye legitimasjonen.
- docs_url
- https://www.apier.no/docs/errors#auth_invalid_key
AUTH_KEY_REVOKED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The API key has been revoked — issue a new key from the dashboard and retry with it; the revoked key never works again.
- fix_hint_nb
- API-nøkkelen er tilbakekalt — utsted en ny nøkkel fra dashbordet og prøv på nytt med den; den tilbakekalte nøkkelen virker aldri igjen.
- docs_url
- https://www.apier.no/docs/errors#auth_key_revoked
AUTH_MALFORMED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The Authorization header is malformed — send exactly `Authorization: Bearer <key>` with no extra whitespace or prefixes, then resend.
- fix_hint_nb
- Authorization-headeren er feilformatert — send nøyaktig `Authorization: Bearer <nøkkel>` uten ekstra mellomrom eller prefikser, og send på nytt.
- docs_url
- https://www.apier.no/docs/errors#auth_malformed
AUTH_MISSING
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- Send a valid API key in the Authorization: Bearer header; retrying without one fails identically.
- fix_hint_nb
- Send en gyldig API-nøkkel i Authorization: Bearer-headeren; et nytt forsøk uten nøkkel feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#auth_missing
FORBIDDEN
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The signed-in session is not allowed to use this operator tool — an identical retry fails identically; ask an operator with access.
- fix_hint_nb
- Den innloggede økten har ikke tilgang til dette operatørverktøyet — et identisk forsøk feiler identisk; be en operatør med tilgang.
- docs_url
- https://www.apier.no/docs/errors#forbidden
HITL_ALREADY_RESOLVED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The pending action was already approved or rejected — read its status instead of resolving it again.
- fix_hint_nb
- Den ventende handlingen er allerede godkjent eller avvist — les statusen i stedet for å avgjøre den på nytt.
- docs_url
- https://www.apier.no/docs/errors#hitl_already_resolved
HITL_EXPIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The pending action expired before a human decided — submit the action again to open a new approval window.
- fix_hint_nb
- Den ventende handlingen utløp før et menneske tok stilling — send handlingen på nytt for å åpne et nytt godkjenningsvindu.
- docs_url
- https://www.apier.no/docs/errors#hitl_expired
HITL_PENDING_APPROVAL
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The action is suspended pending human approval — poll the pending_action status or wait for the webhook; do not resubmit the action.
- fix_hint_nb
- Handlingen er satt på vent i påvente av menneskelig godkjenning — poll statusen på pending_action eller vent på webhooken; ikke send handlingen på nytt.
- docs_url
- https://www.apier.no/docs/errors#hitl_pending_approval
ISSUANCE_TOKEN_INVALID
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The issuance token cannot be redeemed — ask the account owner to mint a new one in the dashboard and retry with it; an identical retry fails identically. See also https://www.apier.no/docs/authentication.
- fix_hint_nb
- Utstedelsestokenet kan ikke innløses — be kontoeieren lage et nytt i dashbordet og prøv på nytt med det; et identisk forsøk feiler identisk. Se også https://www.apier.no/docs/authentication.
- docs_url
- https://www.apier.no/docs/errors#issuance_token_invalid
KEY_ALREADY_REVOKED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The key is already revoked — nothing to do; list keys to confirm the current state rather than revoking again.
- fix_hint_nb
- Nøkkelen er allerede tilbakekalt — ingenting å gjøre; list nøklene for å bekrefte tilstanden i stedet for å tilbakekalle på nytt.
- docs_url
- https://www.apier.no/docs/errors#key_already_revoked
MASKINPORTEN_AUTH_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- Maskinporten rejected Apier's machine credential — this is an operator-side configuration fault; do not loop, report the X-Correlation-ID to Apier support.
- fix_hint_nb
- Maskinporten avviste Apiers maskinlegitimasjon — dette er en konfigurasjonsfeil på operatørsiden; ikke loop, oppgi X-Correlation-ID til Apier-support.
- docs_url
- https://www.apier.no/docs/errors#maskinporten_auth_failed
OAUTH_AUDIENCE_MISMATCH
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The token's aud does not name this resource — request a token whose audience is the `resource` value published at /.well-known/oauth-protected-resource/api/mcp (RFC 8707 resource indicator); an identical retry fails identically. See also https://www.apier.no/docs/authentication.
- fix_hint_nb
- Tokenets aud navngir ikke denne ressursen — be om et token med `resource`-verdien publisert på /.well-known/oauth-protected-resource/api/mcp som audience (RFC 8707 ressursindikator); et identisk forsøk feiler identisk. Se også https://www.apier.no/docs/authentication.
- docs_url
- https://www.apier.no/docs/errors#oauth_audience_mismatch
OAUTH_DISABLED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- OAuth 2.1 sign-in is not enabled on this deployment — authenticate with an Apier API key in the Authorization: Bearer header instead; retrying the OAuth discovery document fails identically until the operator enables it. See also https://www.apier.no/docs/authentication.
- fix_hint_nb
- OAuth 2.1-pålogging er ikke aktivert i denne utrullingen — autentiser med en Apier-API-nøkkel i Authorization: Bearer-headeren i stedet; å prøve OAuth-oppdagelsesdokumentet på nytt feiler identisk inntil operatøren aktiverer det. Se også https://www.apier.no/docs/authentication.
- docs_url
- https://www.apier.no/docs/errors#oauth_disabled
OAUTH_SUBJECT_UNMAPPED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The token verified but its (issuer, sub) has no live link to an Apier API key - usually because the connection was disconnected in the dashboard, or was never approved. The fix is self-service: the account owner signs in and approves the app again on /oauth/consent, which provisions a fresh dedicated key for the identity; an identical retry without reconnecting fails identically. See also https://www.apier.no/docs/authentication.
- fix_hint_nb
- Tokenet ble verifisert, men (utsteder, sub) har ingen aktiv kobling til en Apier-API-nøkkel - vanligvis fordi tilkoblingen ble koblet fra i dashbordet, eller aldri ble godkjent. Løsningen er selvbetjent: kontoeieren logger inn og godkjenner appen på nytt på /oauth/consent, som oppretter en ny dedikert nøkkel for identiteten; et identisk forsøk uten ny tilkobling feiler identisk. Se også https://www.apier.no/docs/authentication.
- docs_url
- https://www.apier.no/docs/errors#oauth_subject_unmapped
OAUTH_TOKEN_EXPIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The bearer JWT's exp is in the past — request a new access token from the authorization server and retry with it; retrying the expired token fails identically. See also https://www.apier.no/docs/authentication.
- fix_hint_nb
- Bearer-JWT-ens exp er passert — be om et nytt tilgangstoken fra autorisasjonsserveren og prøv på nytt med det; å prøve det utløpte tokenet på nytt feiler identisk. Se også https://www.apier.no/docs/authentication.
- docs_url
- https://www.apier.no/docs/errors#oauth_token_expired
OAUTH_TOKEN_INVALID
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- The bearer JWT failed verification (signature, issuer, algorithm, nbf or shape) — obtain a fresh access token for this resource from the authorization server listed at /.well-known/oauth-protected-resource/api/mcp; an identical retry fails identically. See also https://www.apier.no/docs/authentication.
- fix_hint_nb
- Bearer-JWT-en feilet verifisering (signatur, utsteder, algoritme, nbf eller form) — hent et nytt tilgangstoken for denne ressursen fra autorisasjonsserveren oppført på /.well-known/oauth-protected-resource/api/mcp; et identisk forsøk feiler identisk. Se også https://www.apier.no/docs/authentication.
- docs_url
- https://www.apier.no/docs/errors#oauth_token_invalid
SANDBOX_TEST_KEY_REQUIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- This sandbox surface needs a sandbox bearer of the form apier_sandbox_test_<suffix> — send one instead of a live key; an identical retry fails identically.
- fix_hint_nb
- Denne sandkasseflaten krever en sandkasse-bearer på formen apier_sandbox_test_<suffix> — send en slik i stedet for en live-nøkkel; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#sandbox_test_key_required
SESSION_REQUIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- This dashboard route needs a signed-in browser session — sign in via the magic link first; API keys do not grant access here.
- fix_hint_nb
- Denne dashbord-ruten krever en innlogget nettleserøkt — logg inn via magisk lenke først; API-nøkler gir ikke tilgang her.
- docs_url
- https://www.apier.no/docs/errors#session_required
UNAUTHENTICATED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
auth- fix_hint_en
- This operator route needs a signed-in dashboard session — sign in first; API keys do not grant access here.
- fix_hint_nb
- Denne operatørruten krever en innlogget dashbord-økt — logg inn først; API-nøkler gir ikke tilgang her.
- docs_url
- https://www.apier.no/docs/errors#unauthenticated
Scope & delegation (scope · 16)
ALTINN_DELEGATION_MISSING
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- Altinn reports no active delegation for Apier's system user on this organisation — a human must (re-)grant it in Altinn; non-retryable until then.
- fix_hint_nb
- Altinn melder ingen aktiv delegering for Apiers systembruker på denne organisasjonen — et menneske må tildele den (på nytt) i Altinn; kan ikke prøves på nytt før det.
- docs_url
- https://www.apier.no/docs/errors#altinn_delegation_missing
API_KEY_NO_SCOPES
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The API key carries no scopes at all — issue a key with the required read scopes; an identical retry fails identically.
- fix_hint_nb
- API-nøkkelen har ingen scopes i det hele tatt — utsted en nøkkel med nødvendige lese-scopes; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#api_key_no_scopes
API_KEY_RESERVED_SCOPE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The API key carries a reserved scope (write:/act:/delegate:) that is not issuable — use a key holding only assignable read scopes.
- fix_hint_nb
- API-nøkkelen har et reservert scope (write:/act:/delegate:) som ikke kan utstedes — bruk en nøkkel med kun tildelbare lese-scopes.
- docs_url
- https://www.apier.no/docs/errors#api_key_reserved_scope
AUTH_INSUFFICIENT_ROLE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The system user lacks the Altinn role this action requires — a human must assign the role in Altinn; an identical retry fails identically.
- fix_hint_nb
- Systembrukeren mangler Altinn-rollen denne handlingen krever — et menneske må tildele rollen i Altinn; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#auth_insufficient_role
AUTH_MISSING_DELEGATION
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- No active Altinn delegation exists for this organisation (alias of AUTH_NO_DELEGATION) — a human must grant it in Altinn before retrying.
- fix_hint_nb
- Det finnes ingen aktiv Altinn-delegering for denne organisasjonen (alias for AUTH_NO_DELEGATION) — et menneske må tildele den i Altinn før du prøver på nytt.
- docs_url
- https://www.apier.no/docs/errors#auth_missing_delegation
AUTH_NO_DELEGATION
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- No active Altinn system-user delegation exists for this organisation — a person with signing authority must create/approve it in Altinn, then retry.
- fix_hint_nb
- Det finnes ingen aktiv systembruker-delegering i Altinn for denne organisasjonen — en signaturberettiget må opprette/godkjenne den i Altinn før du prøver på nytt.
- docs_url
- https://www.apier.no/docs/errors#auth_no_delegation
DELEGATION_MISSING
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The Tier-2 source requires an Altinn delegation that is not in place — a human must grant it; the field stays unavailable until then.
- fix_hint_nb
- Tier 2-kilden krever en Altinn-delegering som ikke er på plass — et menneske må tildele den; feltet forblir utilgjengelig inntil da.
- docs_url
- https://www.apier.no/docs/errors#delegation_missing
DELEGATION_REVOKED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The delegation was revoked — a human with authority must re-grant it in Altinn before this call can ever succeed; do not retry.
- fix_hint_nb
- Delegeringen er trukket tilbake — et menneske med myndighet må tildele den på nytt i Altinn før dette kallet kan lykkes; ikke prøv på nytt.
- docs_url
- https://www.apier.no/docs/errors#delegation_revoked
FULLMAKT_PACKAGE_NOT_GRANTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The delegation lacks the Altinn access package this action needs — a human must add the package in Altinn before retrying.
- fix_hint_nb
- Delegeringen mangler Altinn-tilgangspakken denne handlingen krever — et menneske må legge til pakken i Altinn før du prøver på nytt.
- docs_url
- https://www.apier.no/docs/errors#fullmakt_package_not_granted
FULLMAKT_PRINCIPAL_NOT_ELIGIBLE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The agent principal is not in a state that can hold a delegation (e.g. not active) — activate or re-bind the principal first.
- fix_hint_nb
- Agent-principalen er ikke i en tilstand som kan holde en delegering (f.eks. ikke aktiv) — aktiver eller knytt principalen på nytt først.
- docs_url
- https://www.apier.no/docs/errors#fullmakt_principal_not_eligible
SCOPE_INSUFFICIENT
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The API key lacks the required scope — issue or use a key with the scope named in the message.
- fix_hint_nb
- API-nøkkelen mangler nødvendig scope — utsted eller bruk en nøkkel med scopet som er navngitt i meldingen.
- docs_url
- https://www.apier.no/docs/errors#scope_insufficient
SCOPE_INSUFFICIENT_FOR_ACTION
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The delegation does not cover this action type — a human must widen the Altinn delegation before retrying.
- fix_hint_nb
- Delegeringen dekker ikke denne handlingstypen — et menneske må utvide Altinn-delegeringen før du prøver på nytt.
- docs_url
- https://www.apier.no/docs/errors#scope_insufficient_for_action
SCOPE_MISSING
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The Altinn system user lacks a required scope/right for this resource — a human with authority must grant it in Altinn before this call can succeed.
- fix_hint_nb
- Altinn-systembrukeren mangler et nødvendig scope/en rettighet for denne ressursen — et menneske med myndighet må tildele den i Altinn før dette kallet kan lykkes.
- docs_url
- https://www.apier.no/docs/errors#scope_missing
SCOPE_NOT_YET_APPROVED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- The Maskinporten scope for this source is not yet approved for Apier in this environment — the data arrives when the scope is approved; do not retry.
- fix_hint_nb
- Maskinporten-scopet for denne kilden er ennå ikke godkjent for Apier i dette miljøet — dataene kommer når scopet er godkjent; ikke prøv på nytt.
- docs_url
- https://www.apier.no/docs/errors#scope_not_yet_approved
SCOPE_RESERVED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
scope- fix_hint_en
- This endpoint needs a reserved scope (write:/act:/delegate:) that is not issuable yet — the surface is human-gated; do not retry.
- fix_hint_nb
- Dette endepunktet krever et reservert scope (write:/act:/delegate:) som ennå ikke kan utstedes — flaten er menneskestyrt; ikke prøv på nytt.
- docs_url
- https://www.apier.no/docs/errors#scope_reserved
Input & validation (validation · 33)
CURSOR_INVALID
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The pagination cursor is malformed or was not issued by this API — restart from the first page and pass cursors back verbatim.
- fix_hint_nb
- Pagineringsmarkøren er feilformatert eller ikke utstedt av dette API-et — start fra første side og send markører tilbake uendret.
- docs_url
- https://www.apier.no/docs/errors#cursor_invalid
DEADLINE_PASSED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The filing deadline for this period has passed — the action cannot be submitted as-is; hand over to a human for late filing.
- fix_hint_nb
- Innleveringsfristen for denne perioden er passert — handlingen kan ikke sendes som den er; overlat til et menneske for forsinket levering.
- docs_url
- https://www.apier.no/docs/errors#deadline_passed
FOLLOWUP_REQUIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The write was accepted but a follow-up action is required — read explanation.fix_steps and perform the named follow-up; do not resubmit.
- fix_hint_nb
- Skrivingen ble akseptert, men en oppfølgingshandling kreves — les explanation.fix_steps og utfør oppfølgingen; ikke send på nytt.
- docs_url
- https://www.apier.no/docs/errors#followup_required
GOVERNMENT_VALIDATION_REJECTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The government system rejected the payload on validation — correct the fields named in the explanation before resubmitting; an identical retry fails identically.
- fix_hint_nb
- Det offentlige systemet avviste innholdet ved validering — rett feltene som er navngitt i forklaringen før du sender på nytt; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#government_validation_rejected
IDEMPOTENCY_IN_PROGRESS
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
validation- fix_hint_en
- An identical request is still executing — wait, then retry with the SAME Idempotency-Key to fetch the stored outcome. See also https://www.apier.no/docs/guides/idempotency.
- fix_hint_nb
- En identisk forespørsel kjører fortsatt — vent, og prøv deretter på nytt med SAMME Idempotency-Key for å hente det lagrede resultatet. Se også https://www.apier.no/docs/guides/idempotency.
- docs_url
- https://www.apier.no/docs/errors#idempotency_in_progress
IDEMPOTENCY_KEY_INVALID_FORMAT
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The Idempotency-Key header is malformed. Any unique string of 1-255 printable ASCII characters is accepted; a UUID v4 or ULID is a good choice. Fix the value and resend. See also https://www.apier.no/docs/guides/idempotency.
- fix_hint_nb
- Idempotency-Key-headeren er feilformatert. Enhver unik streng på 1-255 skrivbare ASCII-tegn godtas; en UUID v4 eller ULID er et godt valg. Rett verdien og send på nytt. Se også https://www.apier.no/docs/guides/idempotency.
- docs_url
- https://www.apier.no/docs/errors#idempotency_key_invalid_format
IDEMPOTENCY_KEY_MISMATCH
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The Idempotency-Key was reused with a DIFFERENT body — send a fresh key for a new request, or the original body to replay the stored outcome.
- fix_hint_nb
- Idempotency-Key ble gjenbrukt med et ANNET innhold — send en ny nøkkel for en ny forespørsel, eller det opprinnelige innholdet for å gjenta det lagrede resultatet.
- docs_url
- https://www.apier.no/docs/errors#idempotency_key_mismatch
IDEMPOTENCY_KEY_REQUIRED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- This write requires an Idempotency-Key header. Send any unique string of 1-255 printable ASCII characters (a UUID v4 or ULID is a good choice) and reuse it on retries.
- fix_hint_nb
- Denne skrivingen krever en Idempotency-Key-header. Send en hvilken som helst unik streng på 1-255 skrivbare ASCII-tegn (en UUID v4 eller ULID er et godt valg) og gjenbruk den ved nye forsøk.
- docs_url
- https://www.apier.no/docs/errors#idempotency_key_required
INVALID_CODE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The Altinn service code is not in the migration map — check the code against the Altinn 2 service catalogue; do not retry the same value.
- fix_hint_nb
- Altinn-tjenestekoden finnes ikke i migreringskartet — kontroller koden mot Altinn 2-tjenestekatalogen; ikke prøv samme verdi på nytt.
- docs_url
- https://www.apier.no/docs/errors#invalid_code
INVALID_CURRENCY
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- Use an ISO-4217 currency code Norges Bank tracks (EUR, USD, GBP, SEK, DKK, …); do not retry the same value.
- fix_hint_nb
- Bruk en ISO 4217-valutakode som Norges Bank fører (EUR, USD, GBP, SEK, DKK, …); ikke prøv samme verdi på nytt.
- docs_url
- https://www.apier.no/docs/errors#invalid_currency
INVALID_DATE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The date is not a valid YYYY-MM-DD calendar date — correct it and resend.
- fix_hint_nb
- Datoen er ikke en gyldig kalenderdato på formen ÅÅÅÅ-MM-DD — rett den og send på nytt.
- docs_url
- https://www.apier.no/docs/errors#invalid_date
INVALID_SIGNATURE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- Stripe signature verification failed — the payload or secret does not match; an identical retry fails identically.
- fix_hint_nb
- Verifiseringen av Stripe-signaturen feilet — innholdet eller hemmeligheten samsvarer ikke; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#invalid_signature
JSONRPC_INVALID_PARAMS
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The JSON-RPC params did not match the method's schema — correct the params object and resend; an identical retry fails identically.
- fix_hint_nb
- JSON-RPC-parametrene samsvarte ikke med metodens skjema — rett params-objektet og send på nytt; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#jsonrpc_invalid_params
JSONRPC_INVALID_REQUEST
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The JSON-RPC envelope is malformed — send a valid {jsonrpc:"2.0", id, method, params} object.
- fix_hint_nb
- JSON-RPC-konvolutten er feilformatert — send et gyldig {jsonrpc:"2.0", id, method, params}-objekt.
- docs_url
- https://www.apier.no/docs/errors#jsonrpc_invalid_request
METHOD_NOT_ALLOWED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- This route accepts POST only — resend with the POST method.
- fix_hint_nb
- Denne ruten aksepterer bare POST — send på nytt med POST-metoden.
- docs_url
- https://www.apier.no/docs/errors#method_not_allowed
MISSING_SIGNATURE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The Stripe-Signature header is missing — this route accepts Stripe webhook deliveries only; an identical retry fails identically.
- fix_hint_nb
- Stripe-Signature-headeren mangler — denne ruten aksepterer bare Stripe-webhook-leveranser; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#missing_signature
ORG_NUMBER_INVALID_CHECKSUM
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The org number failed the MOD-11 checksum — verify the 9 digits against Brønnøysund instead of retrying.
- fix_hint_nb
- Organisasjonsnummeret feilet MOD-11-kontrollsifferet — kontroller de 9 sifrene mot Brønnøysund i stedet for å prøve på nytt.
- docs_url
- https://www.apier.no/docs/errors#org_number_invalid_checksum
PAYLOAD_TOO_LARGE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The request body exceeds the route's size cap — trim the payload; resending the same body fails identically.
- fix_hint_nb
- Forespørselskroppen overskrider rutens størrelsesgrense — kutt ned innholdet; samme innhold feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#payload_too_large
PLAN_INSUFFICIENT
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The dry-run plan does not satisfy the action's preconditions — fix the named precondition (delegation, deadline, payload) before executing.
- fix_hint_nb
- Tørrkjøringsplanen oppfyller ikke handlingens forutsetninger — rett den navngitte forutsetningen (delegering, frist, innhold) før du utfører.
- docs_url
- https://www.apier.no/docs/errors#plan_insufficient
PROFILE_NAME_TAKEN
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- A profile with this name already exists on the account — choose a different name or update the existing profile.
- fix_hint_nb
- En profil med dette navnet finnes allerede på kontoen — velg et annet navn eller oppdater den eksisterende profilen.
- docs_url
- https://www.apier.no/docs/errors#profile_name_taken
PUBLIC_SANDBOX_BODY_TOO_LARGE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The public-sandbox request body exceeds the size cap — trim it; the same body fails identically.
- fix_hint_nb
- Forespørselskroppen til den offentlige sandkassen overskrider størrelsesgrensen — kutt den ned; samme innhold feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#public_sandbox_body_too_large
PUBLIC_SANDBOX_ORG_NOT_PERMITTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- Only the documented fixture org numbers (e.g. 999999999) are served by the public sandbox — use a fixture org; a real org fails identically here.
- fix_hint_nb
- Bare de dokumenterte fixture-organisasjonsnumrene (f.eks. 999999999) betjenes av den offentlige sandkassen — bruk en fixture-org; en ekte org feiler identisk her.
- docs_url
- https://www.apier.no/docs/errors#public_sandbox_org_not_permitted
REQUEST_REJECTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The forwarded route answered 4xx without a structured code — check authorization and the input before calling again; an identical retry fails identically.
- fix_hint_nb
- Den videresendte ruten svarte 4xx uten strukturert kode — kontroller autorisasjon og input før du kaller igjen; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#request_rejected
REQUEST_TOO_LARGE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The request exceeds the accepted size — reduce the body; resending the same request fails identically.
- fix_hint_nb
- Forespørselen overskrider akseptert størrelse — reduser innholdet; samme forespørsel feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#request_too_large
RISK_ELEVATED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The anomaly detector blocked this write as elevated-risk — a human must review and release it; do not resubmit automatically.
- fix_hint_nb
- Anomalidetektoren blokkerte denne skrivingen som forhøyet risiko — et menneske må gjennomgå og frigi den; ikke send på nytt automatisk.
- docs_url
- https://www.apier.no/docs/errors#risk_elevated
SANDBOX_LOG_SUFFIX_MISMATCH
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The session-log suffix does not match the sandbox bearer — query the log for the suffix embedded in your own apier_sandbox_test_<suffix> key.
- fix_hint_nb
- Suffikset i øktloggen samsvarer ikke med sandkasse-beareren — spør loggen etter suffikset som ligger i din egen apier_sandbox_test_<suffix>-nøkkel.
- docs_url
- https://www.apier.no/docs/errors#sandbox_log_suffix_mismatch
SHOWCASE_ORG_NOT_PERMITTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The keyless showcase serves only its documented allowlist of org numbers — use the full API with a key for other organisations.
- fix_hint_nb
- Den nøkkelfrie utstillingsflaten betjener bare sin dokumenterte liste over organisasjonsnumre — bruk hele API-et med nøkkel for andre organisasjoner.
- docs_url
- https://www.apier.no/docs/errors#showcase_org_not_permitted
SSE_NOT_SUPPORTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The MCP endpoint does not serve Server-Sent Events — use plain JSON-RPC over POST with Accept: application/json.
- fix_hint_nb
- MCP-endepunktet serverer ikke Server-Sent Events — bruk ren JSON-RPC over POST med Accept: application/json.
- docs_url
- https://www.apier.no/docs/errors#sse_not_supported
UNSUPPORTED_CURRENCY_PAIR
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- Exactly one of base/quote must be NOK (Norges Bank rates are NOK-anchored) — fetch both NOK legs and divide for a cross rate.
- fix_hint_nb
- Nøyaktig én av base/quote må være NOK (Norges Banks kurser er NOK-forankret) — hent begge NOK-benene og del for en krysskurs.
- docs_url
- https://www.apier.no/docs/errors#unsupported_currency_pair
VALIDATION_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- Correct the field(s) named in explanation.details, then resend — an identical request fails identically.
- fix_hint_nb
- Rett feltene som er navngitt i explanation.details, og send på nytt — en identisk forespørsel feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#validation_failed
VALIDATION_PRECONDITION_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- A precondition of the action payload is unmet — satisfy the condition named in the dry-run result before executing.
- fix_hint_nb
- En forutsetning i handlingsinnholdet er ikke oppfylt — oppfyll betingelsen som er navngitt i tørrkjøringsresultatet før du utfører.
- docs_url
- https://www.apier.no/docs/errors#validation_precondition_failed
WEBHOOK_URL_INVALID
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
validation- fix_hint_en
- The webhook URL is not an accepted https endpoint — use a public https URL (no localhost/private ranges) and resend.
- fix_hint_nb
- Webhook-URL-en er ikke et akseptert https-endepunkt — bruk en offentlig https-URL (ikke localhost/private områder) og send på nytt.
- docs_url
- https://www.apier.no/docs/errors#webhook_url_invalid
Lookup & not-found (not_found · 14)
API_KEY_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- The API key named in the request does not belong to this account — pick a key from your own key list.
- fix_hint_nb
- API-nøkkelen som er navngitt i forespørselen tilhører ikke denne kontoen — velg en nøkkel fra din egen nøkkelliste.
- docs_url
- https://www.apier.no/docs/errors#api_key_not_found
COMPANY_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- The org number is not in Brønnøysund (deregistered, not yet registered, or wrong) — verify it before retrying.
- fix_hint_nb
- Organisasjonsnummeret finnes ikke i Brønnøysund (slettet, ikke registrert ennå, eller feil) — kontroller det før du prøver på nytt.
- docs_url
- https://www.apier.no/docs/errors#company_not_found
CONSUMER_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- No consumer matches the given id — verify the consumer id before retrying.
- fix_hint_nb
- Ingen konsument samsvarer med oppgitt id — kontroller konsument-id-en før du prøver på nytt.
- docs_url
- https://www.apier.no/docs/errors#consumer_not_found
FULLMAKT_PRINCIPAL_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- No agent principal matches the given id on this account — list principals to find the right id.
- fix_hint_nb
- Ingen agent-principal samsvarer med oppgitt id på denne kontoen — list principaler for å finne riktig id.
- docs_url
- https://www.apier.no/docs/errors#fullmakt_principal_not_found
HITL_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- No pending action with that id is visible to this API key — verify the id; existence is not disclosed across keys.
- fix_hint_nb
- Ingen ventende handling med den id-en er synlig for denne API-nøkkelen — kontroller id-en; eksistens avsløres ikke på tvers av nøkler.
- docs_url
- https://www.apier.no/docs/errors#hitl_not_found
ISSUANCE_TOKEN_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- No issuance token with that id exists on this account — list tokens to find the right id.
- fix_hint_nb
- Ingen utstedelsestoken med den id-en finnes på denne kontoen — list tokens for å finne riktig id.
- docs_url
- https://www.apier.no/docs/errors#issuance_token_not_found
JSONRPC_METHOD_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- The JSON-RPC method is not supported by this MCP server — use initialize, tools/list, tools/call, resources/list or resources/read.
- fix_hint_nb
- JSON-RPC-metoden støttes ikke av denne MCP-serveren — bruk initialize, tools/list, tools/call, resources/list eller resources/read.
- docs_url
- https://www.apier.no/docs/errors#jsonrpc_method_not_found
KEY_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- No API key with that id exists on this account — list keys to find the right id.
- fix_hint_nb
- Ingen API-nøkkel med den id-en finnes på denne kontoen — list nøklene for å finne riktig id.
- docs_url
- https://www.apier.no/docs/errors#key_not_found
NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- The resource does not exist in the source register — verify the identifier rather than retrying.
- fix_hint_nb
- Ressursen finnes ikke i kilderegisteret — kontroller identifikatoren i stedet for å prøve på nytt.
- docs_url
- https://www.apier.no/docs/errors#not_found
NO_RATE_AVAILABLE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- Norges Bank publishes no rate for this currency/date — pick a tracked currency or a more recent date.
- fix_hint_nb
- Norges Bank publiserer ingen kurs for denne valutaen/datoen — velg en valuta som føres, eller en nyere dato.
- docs_url
- https://www.apier.no/docs/errors#no_rate_available
PROFILE_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- No profile with that id exists on this account — list profiles to find the right id.
- fix_hint_nb
- Ingen profil med den id-en finnes på denne kontoen — list profilene for å finne riktig id.
- docs_url
- https://www.apier.no/docs/errors#profile_not_found
RESOURCE_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- The MCP resource URI is unknown — call resources/list for the available apier:// URIs.
- fix_hint_nb
- MCP-ressurs-URI-en er ukjent — kall resources/list for tilgjengelige apier://-URI-er.
- docs_url
- https://www.apier.no/docs/errors#resource_not_found
SANDBOX_ORG_NOT_IN_FIXTURE_SET
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- The org number is not in the sandbox fixture set — use a documented fixture org (e.g. 999999999).
- fix_hint_nb
- Organisasjonsnummeret er ikke i sandkassens fixture-sett — bruk en dokumentert fixture-org (f.eks. 999999999).
- docs_url
- https://www.apier.no/docs/errors#sandbox_org_not_in_fixture_set
SUBSCRIPTION_NOT_FOUND
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
not_found- fix_hint_en
- No webhook subscription with that id exists on this key — list subscriptions to find the right id.
- fix_hint_nb
- Ingen webhook-abonnement med den id-en finnes på denne nøkkelen — list abonnementene for å finne riktig id.
- docs_url
- https://www.apier.no/docs/errors#subscription_not_found
Rate limits & quota ceilings (rate_limit · 15)
AGENT_LOOP_DETECTED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
rate_limit- fix_hint_en
- The sandbox loop breaker tripped: the same call repeated too often inside the window — wait for the Retry-After window and change the input or tool rather than repeating the identical call.
- fix_hint_nb
- Sandkassens løkkebryter slo inn: samme kall ble gjentatt for ofte innenfor vinduet — vent ut Retry-After-vinduet og endre input eller verktøy i stedet for å gjenta det identiske kallet.
- docs_url
- https://www.apier.no/docs/errors#agent_loop_detected
CONCURRENT_WRITE_IN_FLIGHT
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
rate_limit- fix_hint_en
- Another write for the same target is in flight — wait for the Retry-After window, then retry; never run parallel writes against one target.
- fix_hint_nb
- En annen skriving mot samme mål pågår — vent ut Retry-After-vinduet og prøv på nytt; kjør aldri parallelle skrivinger mot ett mål.
- docs_url
- https://www.apier.no/docs/errors#concurrent_write_in_flight
GOVERNMENT_RATE_LIMITED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
rate_limit- fix_hint_en
- The government API rate-limited Apier — back off for the advertised window before retrying the identical call.
- fix_hint_nb
- Det offentlige API-et ratebegrenset Apier — trapp ned i det annonserte vinduet før du gjentar det identiske kallet.
- docs_url
- https://www.apier.no/docs/errors#government_rate_limited
JSONRPC_RATE_LIMITED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
rate_limit- fix_hint_en
- The MCP transport rate limit was hit — wait for retry_after_seconds before retrying; back off, do not hammer.
- fix_hint_nb
- Ratebegrensningen for MCP-transporten er nådd — vent retry_after_seconds før du prøver på nytt; trapp ned, ikke hamre.
- docs_url
- https://www.apier.no/docs/errors#jsonrpc_rate_limited
KEY_LIMIT_REACHED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
rate_limit- fix_hint_en
- The consumer already holds the maximum number of active API keys — revoke an unused key before creating another.
- fix_hint_nb
- Konsumenten har allerede maksimalt antall aktive API-nøkler — tilbakekall en ubrukt nøkkel før du oppretter en ny.
- docs_url
- https://www.apier.no/docs/errors#key_limit_reached
MAX_ISSUANCE_TOKENS_REACHED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
rate_limit- fix_hint_en
- The account holds the maximum number of unredeemed issuance tokens — revoke or redeem one before minting another.
- fix_hint_nb
- Kontoen har maksimalt antall uinnløste utstedelsestokens — tilbakekall eller innløs ett før du lager et nytt.
- docs_url
- https://www.apier.no/docs/errors#max_issuance_tokens_reached
MAX_KEYS_REACHED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
rate_limit- fix_hint_en
- The account already holds the maximum number of active API keys — revoke an unused key, then retry; an identical retry fails identically. See also https://www.apier.no/docs/authentication.
- fix_hint_nb
- Kontoen har allerede maksimalt antall aktive API-nøkler — tilbakekall en ubrukt nøkkel og prøv på nytt; et identisk forsøk feiler identisk. Se også https://www.apier.no/docs/authentication.
- docs_url
- https://www.apier.no/docs/errors#max_keys_reached
MCP_LOOP_DETECTED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
rate_limit- fix_hint_en
- The same tool failed repeatedly with identical input and is cooling down — wait retry_after_seconds, and change the input or tool rather than repeating the call.
- fix_hint_nb
- Samme verktøy feilet gjentatte ganger med identisk input og er i nedkjøling — vent retry_after_seconds, og endre input eller verktøy i stedet for å gjenta kallet.
- docs_url
- https://www.apier.no/docs/errors#mcp_loop_detected
PROFILE_LIMIT_REACHED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
rate_limit- fix_hint_en
- The account holds the maximum number of profiles — delete an unused profile before creating another.
- fix_hint_nb
- Kontoen har maksimalt antall profiler — slett en ubrukt profil før du oppretter en ny.
- docs_url
- https://www.apier.no/docs/errors#profile_limit_reached
RATE_LIMITED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
rate_limit- fix_hint_en
- Too many write attempts in the current window — wait the number of seconds in the Retry-After header before retrying; back off, do not hammer.
- fix_hint_nb
- For mange skriveforsøk i gjeldende vindu — vent antall sekunder i Retry-After-headeren før du prøver på nytt; trapp ned, ikke hamre.
- docs_url
- https://www.apier.no/docs/errors#rate_limited
RATE_LIMIT_EXCEEDED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
rate_limit- fix_hint_en
- Rate limit hit — wait for the Retry-After window before retrying; back off, do not hammer.
- fix_hint_nb
- Ratebegrensning nådd — vent ut Retry-After-vinduet før du prøver på nytt; trapp ned, ikke hamre.
- docs_url
- https://www.apier.no/docs/errors#rate_limit_exceeded
RETRY_BUDGET_EXHAUSTED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
rate_limit- fix_hint_en
- Apier's internal retry budget for this write was spent — wait for the Retry-After window, then submit once more with the same Idempotency-Key.
- fix_hint_nb
- Apiers interne budsjett for nye forsøk på denne skrivingen er brukt opp — vent ut Retry-After-vinduet, og send én gang til med samme Idempotency-Key.
- docs_url
- https://www.apier.no/docs/errors#retry_budget_exhausted
SUBSCRIPTION_LIMIT_REACHED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
rate_limit- fix_hint_en
- This key holds the maximum number of webhook subscriptions — delete one before creating another.
- fix_hint_nb
- Denne nøkkelen har maksimalt antall webhook-abonnementer — slett ett før du oppretter et nytt.
- docs_url
- https://www.apier.no/docs/errors#subscription_limit_reached
Upstream, government & transport (upstream · 35)
ALTINN_ACK_UNPARSEABLE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- Altinn acknowledged the write at HTTP 2xx but the receipt was unparseable — the commit is uncertain; do NOT retry, reconcile manually via filing-history before any resubmission.
- fix_hint_nb
- Altinn bekreftet skrivingen med HTTP 2xx, men kvitteringen kunne ikke tolkes — innsendingen er usikker; IKKE prøv på nytt, avstem manuelt via filing-history før eventuell ny innsending.
- docs_url
- https://www.apier.no/docs/errors#altinn_ack_unparseable
ALTINN_DOWN
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- Altinn is temporarily unavailable — retry the identical call after a short backoff.
- fix_hint_nb
- Altinn er midlertidig utilgjengelig — gjenta det identiske kallet etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#altinn_down
ALTINN_LIVE_SUBMITTER_NOT_IMPLEMENTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- Live Altinn submission is not enabled in this environment — use the sandbox surface; retrying does not change this.
- fix_hint_nb
- Live Altinn-innsending er ikke aktivert i dette miljøet — bruk sandkasseflaten; nye forsøk endrer ikke dette.
- docs_url
- https://www.apier.no/docs/errors#altinn_live_submitter_not_implemented
ALTINN_NOT_CONFIGURED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- The Altinn integration is not configured in this environment — an operator-side gap, not a caller error; use the sandbox or contact Apier support.
- fix_hint_nb
- Altinn-integrasjonen er ikke konfigurert i dette miljøet — en mangel på operatørsiden, ikke en kallerfeil; bruk sandkassen eller kontakt Apier-support.
- docs_url
- https://www.apier.no/docs/errors#altinn_not_configured
ALTINN_NOT_IMPLEMENTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- This Altinn capability is not implemented yet (501) — do not retry; use the sandbox equivalent or wait for the capability to ship.
- fix_hint_nb
- Denne Altinn-funksjonen er ikke implementert ennå (501) — ikke prøv på nytt; bruk sandkasse-ekvivalenten eller vent til funksjonen lanseres.
- docs_url
- https://www.apier.no/docs/errors#altinn_not_implemented
ALTINN_SANDBOX_SUBMIT_NOT_IMPLEMENTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- Sandbox Altinn submission is not implemented for this action — use the documented sandbox rehearsal flow instead.
- fix_hint_nb
- Sandkasse-innsending til Altinn er ikke implementert for denne handlingen — bruk den dokumenterte rehearsal-flyten i sandkassen i stedet.
- docs_url
- https://www.apier.no/docs/errors#altinn_sandbox_submit_not_implemented
ALTINN_UPSTREAM_ERROR
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- Altinn answered with an unexpected error — retry the identical call after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Altinn svarte med en uventet feil — gjenta det identiske kallet etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#altinn_upstream_error
BRREG_DOWN
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- Brønnøysund is temporarily unavailable — retry the identical call after a short backoff. See also https://www.apier.no/docs/guides/error-handling.
- fix_hint_nb
- Brønnøysund er midlertidig utilgjengelig — gjenta det identiske kallet etter en kort pause. Se også https://www.apier.no/docs/guides/error-handling.
- docs_url
- https://www.apier.no/docs/errors#brreg_down
BRREG_PROFILE_INTERNAL
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The company-profile lookup failed on Apier's side — retry once after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Oppslaget på selskapsprofil feilet på Apiers side — prøv én gang på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#brreg_profile_internal
COMPANIES_LOOKUP_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The company-entity lookup failed transiently — retry the identical call after a short backoff.
- fix_hint_nb
- Oppslaget på selskapsentiteten feilet forbigående — gjenta det identiske kallet etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#companies_lookup_failed
COMPANY_LOOKUP_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The company lookup failed transiently — retry the identical call after a short backoff. See also https://www.apier.no/docs/guides/error-handling.
- fix_hint_nb
- Selskapsoppslaget feilet forbigående — gjenta det identiske kallet etter en kort pause. Se også https://www.apier.no/docs/guides/error-handling.
- docs_url
- https://www.apier.no/docs/errors#company_lookup_failed
EXECUTION_CIRCUIT_OPEN
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The circuit breaker for this upstream is open — wait for the Retry-After window before retrying; do not hammer a failing upstream.
- fix_hint_nb
- Strømbryteren for denne oppstrømstjenesten er åpen — vent ut Retry-After-vinduet før du prøver på nytt; ikke hamre på en tjeneste som feiler.
- docs_url
- https://www.apier.no/docs/errors#execution_circuit_open
EXECUTION_DEADLINE_EXCEEDED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The action did not complete within its execution deadline — retry with the SAME Idempotency-Key after a short backoff so a late commit is deduplicated.
- fix_hint_nb
- Handlingen ble ikke fullført innen utføringsfristen — prøv på nytt med SAMME Idempotency-Key etter en kort pause, slik at en sen innsending dedupliseres.
- docs_url
- https://www.apier.no/docs/errors#execution_deadline_exceeded
EXECUTION_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- The action failed before the government write committed — read explanation for the cause, fix it, then resubmit with the same Idempotency-Key.
- fix_hint_nb
- Handlingen feilet før den offentlige skrivingen ble gjennomført — les explanation for årsaken, rett den, og send på nytt med samme Idempotency-Key.
- docs_url
- https://www.apier.no/docs/errors#execution_failed
EXECUTION_TIMEOUT
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The government write timed out — retry with the SAME Idempotency-Key after a short backoff; never resubmit with a new key.
- fix_hint_nb
- Den offentlige skrivingen ble tidsavbrutt — prøv på nytt med SAMME Idempotency-Key etter en kort pause; send aldri på nytt med ny nøkkel.
- docs_url
- https://www.apier.no/docs/errors#execution_timeout
FULLMAKT_UPSTREAM_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The delegation request could not reach Altinn — retry after a short backoff; the request was not recorded.
- fix_hint_nb
- Delegeringsforespørselen nådde ikke Altinn — prøv på nytt etter en kort pause; forespørselen ble ikke registrert.
- docs_url
- https://www.apier.no/docs/errors#fullmakt_upstream_failed
GOVERNMENT_API_ERROR
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The government API returned an error — retry the identical call after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Det offentlige API-et returnerte en feil — gjenta det identiske kallet etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#government_api_error
MASKINPORTEN_MALFORMED_RESPONSE
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- Maskinporten returned a response Apier could not parse — retry after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Maskinporten returnerte et svar Apier ikke kunne tolke — prøv på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#maskinporten_malformed_response
MASKINPORTEN_TOKEN_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- Apier could not obtain a Maskinporten token — retry after a short backoff; if it persists the operator credential needs attention, not your request.
- fix_hint_nb
- Apier fikk ikke hentet et Maskinporten-token — prøv på nytt etter en kort pause; vedvarer det, er det operatørlegitimasjonen som trenger oppfølging, ikke forespørselen din.
- docs_url
- https://www.apier.no/docs/errors#maskinporten_token_failed
PERSONS_LOOKUP_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The person-entity lookup failed transiently — retry the identical call after a short backoff.
- fix_hint_nb
- Oppslaget på personentiteten feilet forbigående — gjenta det identiske kallet etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#persons_lookup_failed
ROLES_LOOKUP_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The role lookup failed transiently — retry the identical call after a short backoff.
- fix_hint_nb
- Rolleoppslaget feilet forbigående — gjenta det identiske kallet etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#roles_lookup_failed
SERVICE_NOT_YET_AVAILABLE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- The live integration behind this route is not enabled in this environment — use the sandbox surface or wait for the capability to go live; do not retry.
- fix_hint_nb
- Live-integrasjonen bak denne ruten er ikke aktivert i dette miljøet — bruk sandkasseflaten eller vent til funksjonen går live; ikke prøv på nytt.
- docs_url
- https://www.apier.no/docs/errors#service_not_yet_available
UPSTREAM_BODY_READ_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The forwarded route's body could not be read to completion — retry after a short backoff.
- fix_hint_nb
- Kroppen fra den videresendte ruten kunne ikke leses ferdig — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#upstream_body_read_failed
UPSTREAM_ERROR
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The forwarded route answered 5xx without a structured code — retry after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Den videresendte ruten svarte 5xx uten strukturert kode — prøv på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#upstream_error
UPSTREAM_FETCH_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The forward request could not be completed at the network level — retry after a short backoff.
- fix_hint_nb
- Videresendingsforespørselen kunne ikke fullføres på nettverksnivå — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#upstream_fetch_failed
UPSTREAM_NON_JSON
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The forwarded route answered with a non-JSON body — retry after a short backoff.
- fix_hint_nb
- Den videresendte ruten svarte med en kropp som ikke er JSON — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#upstream_non_json
UPSTREAM_NON_UTF8
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The forwarded route's body was not valid UTF-8 — retry after a short backoff.
- fix_hint_nb
- Kroppen fra den videresendte ruten var ikke gyldig UTF-8 — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#upstream_non_utf8
UPSTREAM_RESPONSE_TOO_LARGE
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- The forwarded response exceeded the 1 MB cap — narrow the query (fewer periods, shorter horizon); the same query fails identically.
- fix_hint_nb
- Det videresendte svaret overskred grensen på 1 MB — snevre inn spørringen (færre perioder, kortere horisont); samme spørring feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#upstream_response_too_large
UPSTREAM_TIMEOUT
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
upstream- fix_hint_en
- The forwarded route did not answer within the forward timeout — retry after a short backoff.
- fix_hint_nb
- Den videresendte ruten svarte ikke innen tidsfristen — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#upstream_timeout
UPSTREAM_UNMAPPED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
upstream- fix_hint_en
- The upstream returned a code outside Apier's stable MCP vocabulary — inspect metadata.upstream_code; treat as non-retryable unless it clearly names a transient fault.
- fix_hint_nb
- Oppstrømstjenesten returnerte en kode utenfor Apiers stabile MCP-vokabular — undersøk metadata.upstream_code; behandle som ikke-gjentakbar med mindre den tydelig beskriver en forbigående feil.
- docs_url
- https://www.apier.no/docs/errors#upstream_unmapped
Internal & infrastructure (internal · 48)
ACCOUNT_DELETION_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- Account deletion failed on Apier's side and nothing was deleted — retry after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Sletting av kontoen feilet på Apiers side og ingenting ble slettet — prøv på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#account_deletion_failed
AUDIT_QUERY_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The audit-log query failed transiently — retry after a short backoff.
- fix_hint_nb
- Spørringen mot revisjonsloggen feilet forbigående — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#audit_query_failed
AUTH_CONSUMER_INVALID_TIER
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The consumer record carries an unrecognised pricing tier — a server-side configuration fault; do not retry, contact Apier support with the X-Correlation-ID.
- fix_hint_nb
- Konsumentposten har en ukjent prisnivå-verdi — en konfigurasjonsfeil på serversiden; ikke prøv på nytt, kontakt Apier-support med X-Correlation-ID.
- docs_url
- https://www.apier.no/docs/errors#auth_consumer_invalid_tier
AUTH_LOOKUP_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The delegation lookup itself failed transiently (not a definite 'no delegation') — retry after a short backoff.
- fix_hint_nb
- Selve delegeringsoppslaget feilet forbigående (ikke et sikkert «ingen delegering») — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#auth_lookup_failed
CHANGES_QUERY_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The change-feed query failed transiently — retry the identical call (same cursor) after a short backoff.
- fix_hint_nb
- Spørringen mot endringsstrømmen feilet forbigående — gjenta det identiske kallet (samme markør) etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#changes_query_failed
COMPANIES_INSERT_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- Persisting the company entity failed transiently — retry after a short backoff.
- fix_hint_nb
- Lagring av selskapsentiteten feilet forbigående — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#companies_insert_failed
COMPANY_CONTEXT_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The company context could not be assembled — retry once after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Selskapskonteksten kunne ikke settes sammen — prøv én gang på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#company_context_failed
COMPANY_DEADLINES_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The deadline evaluation failed unexpectedly — retry once after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Fristevalueringen feilet uventet — prøv én gang på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#company_deadlines_failed
COMPANY_OBLIGATIONS_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The obligation evaluation failed unexpectedly — retry once after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Pliktevalueringen feilet uventet — prøv én gang på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#company_obligations_failed
COMPANY_SUMMARY_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The company summary failed unexpectedly — retry once after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Selskapssammendraget feilet uventet — prøv én gang på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#company_summary_failed
CRON_RETENTION_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The retention cron run failed — operator surface; the next scheduled run retries automatically.
- fix_hint_nb
- Kjøringen av oppbevarings-cronen feilet — operatørflate; neste planlagte kjøring prøver automatisk på nytt.
- docs_url
- https://www.apier.no/docs/errors#cron_retention_failed
CRON_STATUS_CHECK_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The status-check cron run failed — operator surface; the next scheduled run retries automatically.
- fix_hint_nb
- Kjøringen av statussjekk-cronen feilet — operatørflate; neste planlagte kjøring prøver automatisk på nytt.
- docs_url
- https://www.apier.no/docs/errors#cron_status_check_failed
CRON_STATUS_CHECK_TABLES_NOT_READY
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The status tables are not migrated yet — operator surface; apply the pending migration, the next run then succeeds.
- fix_hint_nb
- Statustabellene er ikke migrert ennå — operatørflate; kjør den ventende migrasjonen, så lykkes neste kjøring.
- docs_url
- https://www.apier.no/docs/errors#cron_status_check_tables_not_ready
CRON_VISIBILITY_ROLLUP_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The visibility roll-up cron run failed — operator surface; the next scheduled run retries automatically.
- fix_hint_nb
- Kjøringen av synlighets-rollup-cronen feilet — operatørflate; neste planlagte kjøring prøver automatisk på nytt.
- docs_url
- https://www.apier.no/docs/errors#cron_visibility_rollup_failed
DEADLINE_ADJUSTMENT_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The business-day adjustment could not converge (holiday configuration fault) — do not retry; report the correlation id to Apier support.
- fix_hint_nb
- Justeringen til virkedag konvergerte ikke (feil i helligdagskonfigurasjonen) — ikke prøv på nytt; oppgi korrelasjons-ID-en til Apier-support.
- docs_url
- https://www.apier.no/docs/errors#deadline_adjustment_failed
DEADLINE_LOOKUP_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The deadline lookup inside the dry run failed transiently — retry the dry run after a short backoff.
- fix_hint_nb
- Fristoppslaget i tørrkjøringen feilet forbigående — gjenta tørrkjøringen etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#deadline_lookup_failed
DRY_RUN_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The pre-flight dry run did not pass, so nothing was submitted — fix the check named in the result before executing again.
- fix_hint_nb
- Tørrkjøringen før utføring feilet, så ingenting ble sendt — rett kontrollen som er navngitt i resultatet før du utfører igjen.
- docs_url
- https://www.apier.no/docs/errors#dry_run_failed
EVENT_RECLAIM_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The in-flight webhook event could not be reclaimed — answered non-2xx so Stripe redelivers; retry is automatic.
- fix_hint_nb
- Den pågående webhook-hendelsen kunne ikke tas over — svart med ikke-2xx slik at Stripe leverer på nytt; nytt forsøk skjer automatisk.
- docs_url
- https://www.apier.no/docs/errors#event_reclaim_failed
EVENT_RECORD_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The webhook event could not be recorded — answered non-2xx so Stripe redelivers; retry is automatic.
- fix_hint_nb
- Webhook-hendelsen kunne ikke registreres — svart med ikke-2xx slik at Stripe leverer på nytt; nytt forsøk skjer automatisk.
- docs_url
- https://www.apier.no/docs/errors#event_record_failed
FILING_HISTORY_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The filing-history read failed transiently — retry the identical call after a short backoff.
- fix_hint_nb
- Lesingen av innleveringshistorikken feilet forbigående — gjenta det identiske kallet etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#filing_history_failed
FORWARD_ORIGIN_MISMATCH
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- MCP forwarder safety gate: the forward origin did not match the configured app origin — internal; do not loop, report the query_id.
- fix_hint_nb
- Sikkerhetssperre i MCP-videresenderen: videresendingsopprinnelsen samsvarte ikke med konfigurert app-opprinnelse — internt; ikke loop, oppgi query_id.
- docs_url
- https://www.apier.no/docs/errors#forward_origin_mismatch
FORWARD_PATH_REJECTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- MCP forwarder safety gate: the computed forward path was outside the allowed /api/v1 surface — internal; do not loop, report the query_id.
- fix_hint_nb
- Sikkerhetssperre i MCP-videresenderen: den beregnede videresendingsstien lå utenfor tillatt /api/v1-flate — internt; ikke loop, oppgi query_id.
- docs_url
- https://www.apier.no/docs/errors#forward_path_rejected
FORWARD_REDIRECT_REJECTED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- MCP forwarder safety gate: the route attempted a redirect, which the forwarder never follows — internal; do not loop, report the query_id.
- fix_hint_nb
- Sikkerhetssperre i MCP-videresenderen: ruten forsøkte en omdirigering, som videresenderen aldri følger — internt; ikke loop, oppgi query_id.
- docs_url
- https://www.apier.no/docs/errors#forward_redirect_rejected
GOV_COMMIT_PAYLOAD_MISMATCH
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The payload Apier committed upstream does not match the validated one — the write is uncertain; do NOT retry, reconcile via filing-history and report the correlation id.
- fix_hint_nb
- Innholdet Apier sendte oppstrøms samsvarer ikke med det validerte — skrivingen er usikker; IKKE prøv på nytt, avstem via filing-history og oppgi korrelasjons-ID-en.
- docs_url
- https://www.apier.no/docs/errors#gov_commit_payload_mismatch
HITL_RELEASE_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- Releasing the approved action failed after the claim — do not re-approve; read the pending action's status and reconcile from the idempotency record.
- fix_hint_nb
- Frigivelsen av den godkjente handlingen feilet etter reservasjonen — ikke godkjenn på nytt; les statusen på den ventende handlingen og avstem fra idempotensposten.
- docs_url
- https://www.apier.no/docs/errors#hitl_release_failed
INTERNAL_ERROR
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- An unexpected internal error — do not loop; report the X-Correlation-ID to Apier support if it persists. See also https://www.apier.no/docs/guides/error-handling.
- fix_hint_nb
- En uventet intern feil — ikke loop; oppgi X-Correlation-ID til Apier-support hvis det vedvarer. Se også https://www.apier.no/docs/guides/error-handling.
- docs_url
- https://www.apier.no/docs/errors#internal_error
INTERNAL_SERVER_ERROR
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- An unexpected server-side error occurred while reading the request body — the failure is not caused by your request; do not loop, report the X-Correlation-ID to Apier support.
- fix_hint_nb
- En uventet feil på serversiden oppstod under lesing av forespørselskroppen — feilen skyldes ikke forespørselen din; ikke loop, oppgi X-Correlation-ID til Apier-support.
- docs_url
- https://www.apier.no/docs/errors#internal_server_error
INVALID_TRANSITION
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The requested compliance-state transition is illegal from the current state — read the current state first; an identical retry fails identically.
- fix_hint_nb
- Den forespurte overgangen i compliance-tilstand er ulovlig fra nåværende tilstand — les nåværende tilstand først; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#invalid_transition
JSONRPC_PROTOCOL_ERROR
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The JSON-RPC request violated the protocol — correct the envelope per the error message; an identical retry fails identically.
- fix_hint_nb
- JSON-RPC-forespørselen brøt protokollen — rett konvolutten i henhold til feilmeldingen; et identisk forsøk feiler identisk.
- docs_url
- https://www.apier.no/docs/errors#jsonrpc_protocol_error
JWKS_DERIVATION_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The JWKS could not be derived from the configured key material — operator fault; do not retry, report to Apier support.
- fix_hint_nb
- JWKS kunne ikke utledes fra konfigurert nøkkelmateriale — operatørfeil; ikke prøv på nytt, meld fra til Apier-support.
- docs_url
- https://www.apier.no/docs/errors#jwks_derivation_failed
LINK_GENERATION_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The recovery link could not be generated — retry after a short backoff; nothing was sent.
- fix_hint_nb
- Gjenopprettingslenken kunne ikke genereres — prøv på nytt etter en kort pause; ingenting ble sendt.
- docs_url
- https://www.apier.no/docs/errors#link_generation_failed
LOOKUP_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The consumer lookup failed transiently — retry after a short backoff.
- fix_hint_nb
- Konsumentoppslaget feilet forbigående — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#lookup_failed
LOVDATA_CHECK_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The Lovdata drift check cron run failed — operator surface; the next scheduled run retries automatically.
- fix_hint_nb
- Kjøringen av Lovdata-driftsjekken feilet — operatørflate; neste planlagte kjøring prøver automatisk på nytt.
- docs_url
- https://www.apier.no/docs/errors#lovdata_check_failed
MASKINPORTEN_JWT_BUILD_FAILED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The Maskinporten client assertion could not be built from the configured key — operator fault; do not retry, fix the credential configuration.
- fix_hint_nb
- Maskinporten-klientpåstanden kunne ikke bygges fra konfigurert nøkkel — operatørfeil; ikke prøv på nytt, rett legitimasjonskonfigurasjonen.
- docs_url
- https://www.apier.no/docs/errors#maskinporten_jwt_build_failed
PERMISSION_STATE_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The permission state could not be assembled — retry after a short backoff.
- fix_hint_nb
- Tillatelsestilstanden kunne ikke settes sammen — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#permission_state_failed
PERSONS_INSERT_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- Persisting the person entity failed transiently — retry after a short backoff.
- fix_hint_nb
- Lagring av personentiteten feilet forbigående — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#persons_insert_failed
PUBLIC_DEADLINES_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The public deadline evaluation failed unexpectedly — retry once after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Den offentlige fristevalueringen feilet uventet — prøv én gang på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#public_deadlines_failed
PUBLIC_OBLIGATIONS_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The public obligation evaluation failed unexpectedly — retry once after a short backoff; report the correlation id if it persists.
- fix_hint_nb
- Den offentlige pliktevalueringen feilet uventet — prøv én gang på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#public_obligations_failed
ROLES_INSERT_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- Persisting the role rows failed transiently — retry after a short backoff.
- fix_hint_nb
- Lagring av rolleradene feilet forbigående — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#roles_insert_failed
SERVER_ERROR
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- A transient server-side fault — retry once after a short backoff; report the correlation id if it persists. See also https://www.apier.no/docs/guides/error-handling.
- fix_hint_nb
- En forbigående feil på serversiden — prøv én gang på nytt etter en kort pause; oppgi korrelasjons-ID-en hvis det vedvarer. Se også https://www.apier.no/docs/guides/error-handling.
- docs_url
- https://www.apier.no/docs/errors#server_error
SERVER_MISCONFIGURED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- A required server-side setting is missing in this environment — operator fault; do not retry, contact Apier support with the X-Correlation-ID.
- fix_hint_nb
- En nødvendig innstilling på serversiden mangler i dette miljøet — operatørfeil; ikke prøv på nytt, kontakt Apier-support med X-Correlation-ID.
- docs_url
- https://www.apier.no/docs/errors#server_misconfigured
SESSION_RESOLUTION_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- The operator session could not be resolved transiently — retry after a short backoff; sign in again if it persists.
- fix_hint_nb
- Operatørøkten kunne ikke løses opp (forbigående) — prøv på nytt etter en kort pause; logg inn på nytt hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#session_resolution_failed
STATUS_URL_MISSING
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The status-page redirect target is not configured — operator fault; use https://www.apier.no/trust for upstream status in the meantime.
- fix_hint_nb
- Omdirigeringsmålet for statussiden er ikke konfigurert — operatørfeil; bruk https://www.apier.no/trust for oppstrømsstatus i mellomtiden.
- docs_url
- https://www.apier.no/docs/errors#status_url_missing
SUBSCRIPTION_CREATE_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- Creating the webhook subscription failed transiently and nothing was stored — retry after a short backoff.
- fix_hint_nb
- Opprettelsen av webhook-abonnementet feilet forbigående og ingenting ble lagret — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#subscription_create_failed
SUBSCRIPTION_DELETE_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- Deleting the webhook subscription failed transiently — retry after a short backoff; list subscriptions to confirm the state.
- fix_hint_nb
- Slettingen av webhook-abonnementet feilet forbigående — prøv på nytt etter en kort pause; list abonnementene for å bekrefte tilstanden.
- docs_url
- https://www.apier.no/docs/errors#subscription_delete_failed
SUBSCRIPTION_LIST_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
internal- fix_hint_en
- Listing webhook subscriptions failed transiently — retry after a short backoff.
- fix_hint_nb
- Listing av webhook-abonnementer feilet forbigående — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#subscription_list_failed
UNKNOWN
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
internal- fix_hint_en
- The error could not be classified against a known code — do not loop; report the X-Correlation-ID to Apier support.
- fix_hint_nb
- Feilen kunne ikke klassifiseres mot en kjent kode — ikke loop; oppgi X-Correlation-ID til Apier-support.
- docs_url
- https://www.apier.no/docs/errors#unknown
Billing & credits (billing · 16)
ALREADY_SUBSCRIBED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
billing- fix_hint_en
- The account already has an active subscription — manage it from the billing portal instead of starting a new checkout.
- fix_hint_nb
- Kontoen har allerede et aktivt abonnement — administrer det fra faktureringsportalen i stedet for å starte en ny utsjekking.
- docs_url
- https://www.apier.no/docs/errors#already_subscribed
BILLING_CHECKOUT_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
billing- fix_hint_en
- Checkout could not be started — retry after a short backoff; nothing was charged.
- fix_hint_nb
- Utsjekkingen kunne ikke startes — prøv på nytt etter en kort pause; ingenting ble belastet.
- docs_url
- https://www.apier.no/docs/errors#billing_checkout_failed
BILLING_NOT_CONFIGURED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
billing- fix_hint_en
- Billing is not configured in this environment — nothing was charged; retry later or contact Apier support if it persists.
- fix_hint_nb
- Fakturering er ikke konfigurert i dette miljøet — ingenting ble belastet; prøv igjen senere, eller kontakt Apier-support hvis det vedvarer.
- docs_url
- https://www.apier.no/docs/errors#billing_not_configured
BILLING_NOT_LIVE
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
billing- fix_hint_en
- Billing is not yet live in this environment — nothing was charged; retry later or contact Apier support.
- fix_hint_nb
- Fakturering er ennå ikke live i dette miljøet — ingenting ble belastet; prøv igjen senere eller kontakt Apier-support.
- docs_url
- https://www.apier.no/docs/errors#billing_not_live
BILLING_PORTAL_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
billing- fix_hint_en
- The billing portal session could not be created — retry after a short backoff.
- fix_hint_nb
- Faktureringsportal-økten kunne ikke opprettes — prøv på nytt etter en kort pause.
- docs_url
- https://www.apier.no/docs/errors#billing_portal_failed
INSUFFICIENT_CREDITS
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
billing- fix_hint_en
- Prepaid balance too low — top up (see top_up_url), then retry the request. See also https://www.apier.no/docs/guides/agent-payments.
- fix_hint_nb
- Forhåndsbetalt saldo er for lav — fyll på (se top_up_url), og prøv forespørselen på nytt. Se også https://www.apier.no/docs/guides/agent-payments.
- docs_url
- https://www.apier.no/docs/errors#insufficient_credits
MAX_PENDING_TOPUP_REQUESTS
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
billing- fix_hint_en
- Too many top-up requests are pending human approval — wait for one to be resolved before requesting another.
- fix_hint_nb
- For mange påfyllingsforespørsler venter på menneskelig godkjenning — vent til én er avgjort før du ber om en ny.
- docs_url
- https://www.apier.no/docs/errors#max_pending_topup_requests
NO_BILLING_ACCOUNT
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
billing- fix_hint_en
- The account has no billing customer yet — complete a first checkout before opening the billing portal.
- fix_hint_nb
- Kontoen har ingen faktureringskunde ennå — fullfør en første utsjekking før du åpner faktureringsportalen.
- docs_url
- https://www.apier.no/docs/errors#no_billing_account
TOPUP_BELOW_MINIMUM
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
billing- fix_hint_en
- The requested amount_ore is under the minimum top-up — raise amount_ore to at least the minimum named in the response, then resend. See also https://www.apier.no/docs/guides/agent-payments.
- fix_hint_nb
- Ønsket amount_ore er under minste påfylling — øk amount_ore til minst minimumet som er oppgitt i svaret, og send på nytt. Se også https://www.apier.no/docs/guides/agent-payments.
- docs_url
- https://www.apier.no/docs/errors#topup_below_minimum
TOPUP_CEILING_EXCEEDED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
billing- fix_hint_en
- The requested amount_ore is above the agent top-up ceiling — lower amount_ore to at most the ceiling named in the response, or ask a human to top up without a ceiling from the billing dashboard. See also https://www.apier.no/docs/guides/agent-payments.
- fix_hint_nb
- Ønsket amount_ore er over agent-taket for påfylling — senk amount_ore til høyst taket som er oppgitt i svaret, eller be et menneske fylle på uten tak fra fakturerings-dashbordet. Se også https://www.apier.no/docs/guides/agent-payments.
- docs_url
- https://www.apier.no/docs/errors#topup_ceiling_exceeded
TOPUP_KEY_REVOKED
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
billing- fix_hint_en
- The API key this top-up request targets has been revoked — request a top-up for an active key instead.
- fix_hint_nb
- API-nøkkelen denne påfyllingsforespørselen gjelder er tilbakekalt — be om påfylling for en aktiv nøkkel i stedet.
- docs_url
- https://www.apier.no/docs/errors#topup_key_revoked
TOPUP_REQUEST_NOT_PENDING
- retryable
false: an identical retry fails identically; change the input, the credential, or hand over to a human- category
billing- fix_hint_en
- The top-up request is no longer pending (already approved, rejected or expired) — read its status instead of resolving it again.
- fix_hint_nb
- Påfyllingsforespørselen er ikke lenger ventende (allerede godkjent, avvist eller utløpt) — les statusen i stedet for å avgjøre den på nytt.
- docs_url
- https://www.apier.no/docs/errors#topup_request_not_pending
TOPUP_RESOLVE_FAILED
- retryable
true: an identical retry after a short backoff can plausibly succeed- category
billing- fix_hint_en
- Resolving the top-up request failed transiently — retry after a short backoff; the request is still pending.
- fix_hint_nb
- Avgjørelsen av påfyllingsforespørselen feilet forbigående — prøv på nytt etter en kort pause; forespørselen er fortsatt ventende.
- docs_url
- https://www.apier.no/docs/errors#topup_resolve_failed
Get a live explanation
The codes that carry a Compliance Explainer template (EXPLAINER_ERROR_CODES in src/types/explainer.ts, a subset of the registry above; the full list is published in the Explanation schema's error_code enum in openapi.json) can be expanded into a full explanation object on demand. POST /api/v1/explain is a zero-auth endpoint (no API key needed) that takes an error_code plus an optional context and returns the canonical explanation, the same object the API attaches to a real error. It makes no upstream calls and stores no data.
curl -X POST https://www.apier.no/api/v1/explain \
-H "Content-Type: application/json" \
-d '{ "error_code": "AUTH_NO_DELEGATION", "context": { "org_number": "999999999" } }'The response wraps the explanation in the standard success envelope:
{
"success": true,
"data": {
"explanation": {
"error_code": "AUTH_NO_DELEGATION",
"summary": "Ingen aktiv systembruker-delegering finnes for 999999999.",
"why": "Konsumenten har ingen aktiv systembruker-delegering hos Altinn for 999999999.",
"fix_steps": [
"Opprett en systembruker via altinn.no/hjelp/systemtilgang og knytt den til integrasjonen.",
"Be en signaturberettiget godkjenne delegeringen i Altinn.",
"Gjenta forespørselen når delegeringen vises som aktiv."
],
"summary_en": "No active system-user delegation exists for 999999999.",
"why_en": "The consumer has no active system-user delegation in Altinn for 999999999.",
"fix_steps_en": [
"Create a system user via altinn.no/hjelp/systemtilgang and connect it to the integration.",
"Ask a person with signing authority to approve the delegation in Altinn.",
"Retry the request once the delegation shows as active."
],
"relevant_link": "https://info.altinn.no/hjelp/systemtilgang/om-systemtilgang/",
"legal_basis": null,
"handover": {
"who": "company_admin",
"where": "https://info.altinn.no/hjelp/systemtilgang/om-systemtilgang/",
"what": "Opprette systembruker og godkjenne delegering for 999999999.",
"why": "Uten delegering har systembrukeren ingen rettigheter på vegne av organisasjonen."
}
}
},
"_meta": {
"rulebook_version": "2026.6.0"
}
}The context fields (org_number, scope, role, field, upstream_system) are interpolated into both the Norwegian and English text wherever the template references them; omit them and the explanation falls back to a neutral noun in each language. The standard trust _meta block rides on the response alongside rulebook_version.
Going deeper
This page is the canonical index. For a walkthrough of handling these errors in agent code — retry strategy, the human-handover boundary, and worked examples — see Error handling and the Compliance Explainer.