{
 "categories": [
  "government",
  "public-sector",
  "data-exchange"
 ],
 "deployment": "saas",
 "evidence": [
  {
   "date": "2026-09-03",
   "fact": "homepage",
   "note": "Digdir presents KRR as the register of inhabitants' digital contact information, grounded in eForvaltningsforskriften \u00a7 29, with Digdir as behandlingsansvarlig under \u00a7 30.",
   "source": "https://samarbeid.digdir.no/kontaktregisteret/dette-er-kontakt-og-reservasjonsregisteret/110",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "vendor",
   "note": "The technical index is Digdir documentation. It describes Oppslagstjenesten as a webservice for public bodies and processors.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/index.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "license",
   "note": "Digdir states that use of Kontakt- og reservasjonsregisteret is gratis. The customer covers its own integration costs. This is a Digdir common service, not paid SaaS.",
   "source": "https://samarbeid.digdir.no/kontaktregisteret/kostnadsmodell-kontaktregisteret/577",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.exists",
   "note": "Digdir documents Oppslagstjenesten as an OAuth2-protected REST API secured with Maskinporten, with Swagger UI for test and production.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.kinds[0]",
   "note": "The lookup contract is HTTP POST of JSON to /rest/v1/personer and /rest/v2/personer on test.kontaktregisteret.no and kontaktregisteret.no. Production /v2 is valid from 2023-08-22.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.auth[0]",
   "note": "Access control uses Maskinporten machine-to-machine OAuth2. Requests send Authorization: Bearer. Test tokens must come from test.maskinporten.no, not ver2.maskinporten.no.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.coverage",
   "note": "Coverage is lookup of at most 1000 identifiers per POST. Response fields depend on requested scopes. Registration and update of contact details are explicitly outside Oppslagstjenesten. Digdir recommends one 1000-person call over 1000 single lookups.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.docs",
   "note": "Opened as Digdir's current REST Oppslagstjeneste page, including scopes, Altinn delegation, endpoints, headers, and Swagger URLs.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.extensibility.scripting[0]",
   "note": "Consumers register a Maskinporten & KRR client in Samarbeidsportalen or the self-service API, attach a JWK, and request tokens with the KRR scope package. krr:global/kontaktinformasjon.read is the documented REST lookup scope.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/krr_opprette_klient",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.data_access.export[0]",
   "note": "A successful POST returns JSON personer objects with personidentifikator, reservasjon, status, and scoped kontaktinformasjon or digital-post fields.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.agent_docs.llms_txt",
   "note": "https://docs.digdir.no/llms.txt returned HTTP 404 on 2026-09-03. https://docs.digdir.no/docs/Kontaktregisteret/llms.txt also returned 404.",
   "source": "https://docs.digdir.no/llms.txt",
   "tier": "scraped"
  },
  {
   "date": "2026-09-03",
   "fact": "verdict.scores.api",
   "note": "The Maskinporten REST lookup is documented and practical for batch contact and reservation checks. Public-sector terms, scope grants, a 1000-id batch cap, and read-only coverage keep the score in the useful-with-limits tier.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "freshness.watch[0].url",
   "note": "Opened and verified as Digdir's current KRR technical index, including reservation status, email, mobile, and digital mailbox contents.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/index.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "freshness.watch[1].url",
   "note": "Opened and verified as the current REST Oppslagstjeneste contract, including scopes krr:global/kontaktinformasjon.read and krr:global/digitalpost.read.",
   "source": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "freshness.watch[2].url",
   "note": "Opened and verified as the current Samarbeidsportalen product page for KRR.",
   "source": "https://samarbeid.digdir.no/kontaktregisteret/dette-er-kontakt-og-reservasjonsregisteret/110",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "freshness.watch[3].url",
   "note": "Opened and verified as the current cost-model page stating that KRR use is free.",
   "source": "https://samarbeid.digdir.no/kontaktregisteret/kostnadsmodell-kontaktregisteret/577",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-03",
  "volatility": "medium",
  "watch": [
   {
    "type": "docs",
    "url": "https://docs.digdir.no/docs/Kontaktregisteret/index.html"
   },
   {
    "type": "docs",
    "url": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html"
   },
   {
    "type": "docs",
    "url": "https://samarbeid.digdir.no/kontaktregisteret/dette-er-kontakt-og-reservasjonsregisteret/110"
   },
   {
    "type": "docs",
    "url": "https://samarbeid.digdir.no/kontaktregisteret/kostnadsmodell-kontaktregisteret/577"
   }
  ]
 },
 "homepage": "https://samarbeid.digdir.no/kontaktregisteret/dette-er-kontakt-og-reservasjonsregisteret/110",
 "id": "kontakt-og-reservasjonsregisteret",
 "license": "free",
 "modalities": {
  "agent_docs": {
   "llms_txt": false
  },
  "api": {
   "auth": [
    "maskinporten-bearer"
   ],
   "coverage": "read-only",
   "docs": "https://docs.digdir.no/docs/Kontaktregisteret/oppslagstjenesten_rest.html",
   "exists": true,
   "kinds": [
    "rest"
   ]
  },
  "cli": {
   "exists": "unknown"
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "person-contact-json"
   ],
   "import": []
  },
  "extensibility": {
   "scripting": [
    "maskinporten-client"
   ],
   "webhooks": "unknown"
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": "unknown",
   "third_party": [],
   "verdict": "unknown"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Inhabitants update contact details after ID-porten login. The documented machine path for public bodies is a Maskinporten client posting person identifiers to Oppslagstjenesten REST.\n",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": "unknown",
   "languages": [],
   "official": "unknown"
  }
 },
 "name": "Kontakt- og reservasjonsregisteret",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [
   "folkeregisteret",
   "maskinporten",
   "id-porten",
   "altinn"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "Digitaliseringsdirektoratet (Digdir)",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 6,
   "cli": null,
   "computer_use": null,
   "integrations": null,
   "mcp": null,
   "overall": 6,
   "rpa": null
  },
  "summary": "Kontakt- og reservasjonsregisteret is automatable as Digdir's national contact-and-reservation lookup API, not as Folkeregisteret, Maskinporten, ID-porten, or Altinn. Public bodies and their processors call an OAuth2 REST Oppslagstjeneste protected by Maskinporten. Production POST https://kontaktregisteret.no/rest/v1/personer and /rest/v2/personer accept a JSON list of at most 1000 personidentifikatorer and return reservation status plus scoped contact or digital-post fields. Documented machine scopes on the opened REST page are krr:global/kontaktinformasjon.read (email, mobile, notification fitness, language) and krr:global/digitalpost.read (digital mailbox and encryption certificate). Reservation status is always returned. On-behalf lookups use Altinn delegation and Maskinporten consumer_org with scopes krr:global/kontaktinfo.read and krr:global/postkasse.read. Digdir states use is free; the customer pays its own integration. A separate ID-porten user-login path with krr:user/kontaktinformasjon.read is documented and is not this machine Oppslagstjeneste. Registration of contact details is not part of the lookup API. Vendor documentation does not settle first-party MCP ownership. Computer-use viability is unassessed.\n"
 }
}