Publisert - 15.07.2026

API Reference

All endpoints require the X-API-KEY header, with the exception of the health check. See Authentication.

GET /api/v1/treatmentGroup

Returns treatment group data.

Parameters

Parameter Type Required Description
sinceVersion long No If provided, returns only items changed since this version. If omitted, returns all active items.

Response

{
  "currentVersion": 5,
  "items": [
    {
      "data": { ... },
      "version": 5,
      "lastChanged": "2025-04-10T08:30:00Z",
      "isDeleted": false
    }
  ]
}

Without sinceVersion: Returns all non-deleted items. isDeleted is always false.

With sinceVersion: Returns items with version > N, including deleted items. isDeleted may be true for items that were removed from the source system.

Example

# Get all
curl -H "X-API-KEY: key" \
  https://api.example.com/api/v1/treatmentGroup

# Get changes since version 3
curl -H "X-API-KEY: key" \
  https://api.example.com/api/v1/treatmentGroup?sinceVersion=3

GET /api/v1/treatmentGroup/

Returns a treatment group.

Parameters

Parameter Type Required Description
id string Yes Returns an active reimbursement group with matching id.
history bool No Default false. If set to true it returns all versions of a treatment group, including isDeleted = true.

Response

{
  "data": {
    "id": "...",
    "name": "...",
    "description": "...",
    "diseaseGroup": "...",
    "jurisdictions": [ { "system": "...", "code": "100022", "display": "Helse Nord RHF" } ],
    "validityPeriod": { "start": "...", "end": "..." },
    "reviewDate": "...",
    "indications": [ { "coding": [ {"system": "...", "code": "C500","display": "..."}], "text": null } ],
    "treatmentAlternatives": [
      {
        "rank": 1,
        "treatmentId": "...",
        "name": "Atezolizumab (Tecentriq)",
        "description": "...",
        "products": [
          {
            "reference": null,
            "type": "FEST/LegemiddelPakning",
            "identifier": {
              "system": "FEST/Varenummer",
              "value": "448992"
            },
            "display": null
          }
        ]
      }
    ]
  },
  "version": 1,
  "lastChanged": "2026-06-23T09:17:13.113Z",
  "isDeleted": false
}

GET /api/v1/treatmentGroup/filter

Returns treatment groups.

Parameters

Parameter Type Required Description
name string Yes Returns active treatment group that name.
diseaseGroup string Yes Returns active treatment groups that contains the disease group.
jurisdiction string Yes Returns active treatment groups that contains the jurisdiction code.
indication string Yes Returns active treatment groups that contains the indication code.
vareNr string Yes Returns active treatment groups that contains the FEST/Varenummer.
effectiveDate string YYYY-MM-DD Yes Returns treatment groups that is active on the given date.

Response

{
  "currentVersion": 5,
  "items": [
    {
      "data": { ... },
      "version": 5,
      "lastChanged": "2025-04-10T08:30:00Z",
      "isDeleted": false
    }
  ]
}

Example

# Filter on indication code
curl -H "X-API-KEY: key" \
  https://api.example.com/api/v1/treatmentGroup/filter?indication=G35

GET /api/v1/reimbursementGroup

Returns reimbursement group data (legal basis, indications, covered products).

Parameters

Parameter Type Required Description
sinceVersion long No If provided, returns only items changed since this version. If omitted, returns all active items.

Response

{
  "currentVersion": 5,
  "items": [
    {
      "data": {
        "id": "...",
        "legalBasis": { "coding": [ { "system": "...", "code": "950", "display": "H-resept" } ] },
        "indications": [ { "coding": [ { "system": "...", "code": "G35", "display": "Multiple sclerosis" } ] } ],
        "products": [
          {
            "reference": null,
            "type": "FEST/LegemiddelPakning",
            "identifier": { "system": "FEST/Varenummer", "value": "166028" },
            "display": null
          }
        ]
      },
      "version": 5,
      "lastChanged": "2025-04-10T08:30:00Z",
      "isDeleted": false
    }
  ]
}

Behavior is identical to the treatmentGroup endpoint. The products array is empty if upstream provides no article number for the authorization.

Example

# Get all
curl -H "X-API-KEY: key" \
  https://api.example.com/api/v1/reimbursementGroup

# Get changes since version 3
curl -H "X-API-KEY: key" \
  https://api.example.com/api/v1/reimbursementGroup?sinceVersion=3

GET /api/v1/reimbursementGroup/

Returns a reimbursement group (legal basis, indications, covered products).

Parameters

Parameter Type Required Description
id string Yes Returns an active reimbursement group with matching id.

Response

{
  "data": {
    "id": "...",
    "legalBasis": { "coding": [ { "system": "...", "code": "950", "display": "H-resept" } ] },
    "indications": [ { "coding": [ { "system": "...", "code": "G35", "display": "Multiple sclerosis" } ] } ],
    "products": [
      {
        "reference": null,
        "type": "FEST/LegemiddelPakning",
        "identifier": { "system": "FEST/Varenummer", "value": "166028" },
        "display": null
      }
    ]
  },
  "version": 5,
  "lastChanged": "2025-04-10T08:30:00Z",
  "isDeleted": false
}

GET /api/v1/reimbursementGroup/filter

Returns reimbursement groups (legal basis, indications, covered products).

Parameters

Parameter Type Required Description
indication string Yes Returns active reimbursement groups that contains the indication code.

Response

{
  "currentVersion": 5,
  "items": [
    {
      "data": {
        "id": "...",
        "legalBasis": { "coding": [ { "system": "...", "code": "950", "display": "H-resept" } ] },
        "indications": [ { "coding": [ { "system": "...", "code": "G35", "display": "Multiple sclerosis" } ] } ],
        "products": [
          {
            "reference": null,
            "type": "FEST/LegemiddelPakning",
            "identifier": { "system": "FEST/Varenummer", "value": "166028" },
            "display": null
          }
        ]
      },
      "version": 5,
      "lastChanged": "2025-04-10T08:30:00Z",
      "isDeleted": false
    }
  ]
}

Example

# Filter on indication code
curl -H "X-API-KEY: key" \
  https://api.example.com/api/v1/reimbursementGroup/filter?indication=G35

Response Envelope

All endpoints return data in the same envelope:

{
  currentVersion: number;     // The server's current data version
  items: Array<{
    data: T;                  // The actual data object
    version: number;          // Version when this item last changed
    lastChanged: string;      // ISO-8601 timestamp of last change
    isDeleted: boolean;       // Whether this item has been removed
  }>;
}

GET /api/internal/health

Returns the health status of the API and its dependencies. This endpoint does not require authentication and is intended for load balancer and Kubernetes liveness/readiness probes.

Response

{
  "status": "healthy",
  "timestamp": "2025-04-10T08:30:00Z",
  "components": {
    "mongodb": "healthy"
  }
}

When a dependency is unhealthy:

{
  "status": "unhealthy",
  "timestamp": "2025-04-10T08:30:00Z",
  "components": {
    "mongodb": {
      "status": "unhealthy",
      "error": "No suitable servers found"
    }
  }
}

Status Codes

Code Meaning
200 OK All dependencies are healthy
503 ServiceUnavailable One or more dependencies are unhealthy

Example

curl http://localhost:5069/api/internal/health

HTTP Status Codes

Code Meaning
200 OK Success
400 Bad Request Missing or invalid parameter
401 Unauthorized Missing or invalid API key
404 Not found Data not found in DB
500 Internal Server Error Server error
503 ServiceUnavailable Health check detected unhealthy dependency

Rate Limiting

There are currently no rate limits enforced. Please be reasonable with request frequency — the data only changes once per day (after the nightly sync).

Søk i Utviklerportalen

Søket er fullført!