{
 "categories": [
  "government",
  "public-sector",
  "communications"
 ],
 "deployment": "saas",
 "evidence": [
  {
   "date": "2026-09-03",
   "fact": "homepage",
   "note": "Digdir presents Dialogporten as the product that lets public bodies publish and assemble digital dialogs, services, data, and post across organisations and platforms. It entered production on 1 February 2025 for end-user systems.",
   "source": "https://samarbeid.digdir.no/altinn/dialogporten/2347",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "vendor",
   "note": "Altinn Studio documentation, published for Digdir's Altinn platform, describes Dialogporten as the common format for messages and dialogs on Altinn 3 and other service platforms.",
   "source": "https://docs.altinn.studio/nb/dialogporten/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "license",
   "note": "Dialogporten is a Digdir/Altinn common service for public bodies and end-user-system vendors, not a paid SaaS tenant.",
   "source": "https://samarbeid.digdir.no/altinn/dialogporten/2347",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.exists",
   "note": "The technical reference names REST OpenAPI as the primary resource for end-user-system and service-owner developers, with GraphQL, entities, authorization, events, and content types beside it.",
   "source": "https://docs.altinn.studio/nb/dialogporten/reference/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.kinds[0]",
   "note": "OpenAPI/Swagger UIs are published at platform.at23.altinn.cloud, platform.tt02.altinn.no, and platform.altinn.no under /dialogporten/swagger/index.html.",
   "source": "https://docs.altinn.studio/nb/dialogporten/reference/openapi/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.kinds[1]",
   "note": "Dialogporten documents a GraphQL API for end users at platform.altinn.no/dialogporten/graphql, with queries, subscriptions, and mutations.",
   "source": "https://docs.altinn.studio/nb/dialogporten/reference/graphql/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.auth[0]",
   "note": "The end-user API accepts an ID-porten OAuth2 token. Clients provision scope digdir:dialogporten and send Authorization: Bearer. Consents last up to 90 days.",
   "source": "https://docs.altinn.studio/nb/dialogporten/user-guides/authenticating/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.auth[1]",
   "note": "Service-owner systems must use Maskinporten-issued tokens, optionally exchanged in Altinn Token Exchange. Scope digdir:dialogporten.serviceprovider covers service-owner APIs except search; .search adds list/search. End-user systems may use Maskinporten with a system user.",
   "source": "https://docs.altinn.studio/nb/dialogporten/user-guides/authenticating/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.coverage",
   "note": "Dialogporten is a metadata store. Actual form bodies, attachments, and filled data are referenced by URL on the service platform. End users are read-only except dialog labels and the seen log.",
   "source": "https://docs.altinn.studio/nb/dialogporten/about-dialogporten/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.api.docs",
   "note": "Opened as the current technical-reference index pointing at OpenAPI, GraphQL, entities, authorization, events, and content types.",
   "source": "https://docs.altinn.studio/nb/dialogporten/reference/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.sdk.exists",
   "note": "Digdir documents a .NET client package Altinn.ApiClients.Dialogporten.ServiceOwner for the service-owner API, with Maskinporten settings and IServiceOwnerApi.V1. An end-user SDK is under development.",
   "source": "https://docs.altinn.studio/nb/dialogporten/user-guides/service-owners/api-client/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.sdk.languages[0]",
   "note": "The documented client is a Refit-based .NET package configured through DialogportenSettings.",
   "source": "https://docs.altinn.studio/nb/dialogporten/user-guides/service-owners/api-client/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.sdk.official",
   "note": "The Altinn Studio user guide presents the package as Dialogporten's own service-owner client.",
   "source": "https://docs.altinn.studio/nb/dialogporten/user-guides/service-owners/api-client/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.extensibility.scripting[0]",
   "note": "Service owners create dialogs with POST and later update them. Party and service resource cannot change after create.",
   "source": "https://docs.altinn.studio/en/dialogporten/user-guides/service-owners/creating-dialogs/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.extensibility.scripting[1]",
   "note": "End-user systems search with GET /api/v1/enduser/dialogs or GraphQL searchDialogs. At least one party or serviceResource filter is required.",
   "source": "https://docs.altinn.studio/en/dialogporten/user-guides/searching-for-dialogs/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.extensibility.scripting[2]",
   "note": "The official .NET client registers IServiceOwnerApi and IDialogTokenValidator against a Dialogporten base URI.",
   "source": "https://docs.altinn.studio/nb/dialogporten/user-guides/service-owners/api-client/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.extensibility.webhooks",
   "note": "Dialogporten publishes predefined events through Altinn Events. Digdir recommends webhook subscriptions so clients need not poll the dialog list.",
   "source": "https://docs.altinn.studio/nb/dialogporten/getting-started/events/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.data_access.export[0]",
   "note": "GET /api/v1/enduser/dialogs/{dialogId} returns dialog metadata, actions, activity log, transmissions, and a dialog token. Content itself is referenced, not stored.",
   "source": "https://docs.altinn.studio/en/dialogporten/user-guides/getting-dialog-details/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.data_access.export[1]",
   "note": "Dialogporten emits CloudEvents such as dialogporten.dialog.created.v1, updated.v1, deleted.v1, seen.v1, and activity types.",
   "source": "https://docs.altinn.studio/nb/dialogporten/reference/events/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.data_access.import[0]",
   "note": "Service owners update dialogs with PUT or PATCH, add transmissions and activities with POST, and use ETag If-Match concurrency control.",
   "source": "https://docs.altinn.studio/en/dialogporten/user-guides/service-owners/updating-dialogs/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "modalities.agent_docs.llms_txt",
   "note": "https://docs.altinn.studio/llms.txt and https://docs.altinn.studio/nb/dialogporten/llms.txt returned HTTP 404 on 2026-09-03.",
   "source": "https://docs.altinn.studio/llms.txt",
   "tier": "scraped"
  },
  {
   "date": "2026-09-03",
   "fact": "verdict.scores.api",
   "note": "Documented REST OpenAPI plus end-user GraphQL, an official .NET client, and Altinn Events are a usable production path. ID-porten or Maskinporten onboarding, Altinn Authorization, a registered service-owner org, and metadata-only coverage keep the score in the useful-with-limits tier.",
   "source": "https://docs.altinn.studio/nb/dialogporten/user-guides/authenticating/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "freshness.watch[0].url",
   "note": "Opened and verified as the current technical-reference index.",
   "source": "https://docs.altinn.studio/nb/dialogporten/reference/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "freshness.watch[1].url",
   "note": "Opened and verified as the current authentication guide, including ID-porten and Maskinporten scopes.",
   "source": "https://docs.altinn.studio/nb/dialogporten/user-guides/authenticating/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "freshness.watch[2].url",
   "note": "Opened and verified as the current OpenAPI host table for test, staging, and production.",
   "source": "https://docs.altinn.studio/nb/dialogporten/reference/openapi/",
   "tier": "declared"
  },
  {
   "date": "2026-09-03",
   "fact": "freshness.watch[3].url",
   "note": "Opened and verified as the current GraphQL operations page, including searchDialogs, dialogLookup, and system-label mutations.",
   "source": "https://docs.altinn.studio/nb/dialogporten/reference/graphql/",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-03",
  "volatility": "medium",
  "watch": [
   {
    "type": "docs",
    "url": "https://docs.altinn.studio/nb/dialogporten/reference/"
   },
   {
    "type": "docs",
    "url": "https://docs.altinn.studio/nb/dialogporten/user-guides/authenticating/"
   },
   {
    "type": "docs",
    "url": "https://docs.altinn.studio/nb/dialogporten/reference/openapi/"
   },
   {
    "type": "docs",
    "url": "https://docs.altinn.studio/nb/dialogporten/reference/graphql/"
   }
  ]
 },
 "homepage": "https://samarbeid.digdir.no/altinn/dialogporten/2347",
 "id": "dialogporten",
 "license": "free",
 "modalities": {
  "agent_docs": {
   "llms_txt": false
  },
  "api": {
   "auth": [
    "id-porten",
    "maskinporten"
   ],
   "coverage": "partial",
   "docs": "https://docs.altinn.studio/nb/dialogporten/reference/",
   "exists": true,
   "kinds": [
    "rest",
    "graphql"
   ]
  },
  "cli": {
   "exists": "unknown"
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "dialog-metadata",
    "cloud-events"
   ],
   "import": [
    "dialog-create-update"
   ]
  },
  "extensibility": {
   "scripting": [
    "service-owner-rest",
    "end-user-graphql",
    "dotnet-client"
   ],
   "webhooks": true
  },
  "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. End users reach dialogs through altinn.no arbeidsflate after ID-porten login. The documented machine path is the service-owner REST API and the end-user REST or GraphQL APIs, not portal UI automation.\n",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": true,
   "languages": [
    "csharp"
   ],
   "official": true
  }
 },
 "name": "Dialogporten",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [
   "altinn",
   "eformidling",
   "id-porten",
   "maskinporten"
  ],
  "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": "Dialogporten is automatable today as Digdir's national digital-dialog metadata API, not as Altinn, eFormidling, ID-porten, or Maskinporten. Service owners create and update dialogs over REST OpenAPI. End-user systems search and read dialogs over REST or GraphQL. Production hosts are platform.altinn.no/dialogporten. End-user calls use an ID-porten token with scope digdir:dialogporten, or a Maskinporten token for a system user. Service-owner calls use Maskinporten scopes such as digdir:dialogporten.serviceprovider, optionally exchanged in Altinn Token Exchange. The organisation in the consumer claim must be a registered Altinn service owner. Dialogs store metadata, actions, and URL references; form bodies and attachments stay on the service platform. End users are read-only except system labels and the seen log. Altinn Events publish CloudEvents for create, update, delete, seen, and activity changes. An official .NET client covers the service-owner API; the end-user SDK is still in development. Vendor documentation does not settle first-party MCP ownership. Computer-use viability is unassessed.\n"
 }
}