REST /api/v1/terminology 6 endpoints
GET /api/v1/terminology/api/v1/terminology

Fetch all terminology maps across all organizations (maps to fetchAll())

Auth Required global_admin

Response Example

{
  "data": [
    {
      "organization_id": "org_nhf_oslo",
      "label_count": 18,
      "updated_at": "2026-03-26T06:00:00.000Z"
    },
    {
      "organization_id": "org_hlf",
      "label_count": 14,
      "updated_at": "2026-03-24T12:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 7
  }
}
GET /api/v1/terminology/api/v1/terminology/:organization_id

Fetch the full label map for a specific organization (maps to fetchLabels())

Auth Required peer_mentorcoordinatororg_adminglobal_admin

Response Example

{
  "organization_id": "org_nhf_oslo",
  "labels": {
    "role.coordinator": "Programleder",
    "role.peer_mentor": "Aktivitetsvenn",
    "activity_type.group_walk": "Fellestur",
    "activity_type.café_visit": "Kafé-besøk",
    "activity_type.home_visit": "Hjemmebesøk",
    "report.participant_count": "Deltakere",
    "report.session_duration": "Varighet"
  },
  "updated_at": "2026-03-26T06:00:00.000Z"
}
POST /api/v1/terminology/api/v1/terminology

Create a terminology label map for a new organization

Auth Required org_adminglobal_admin

Request Example

{
  "organization_id": "org_nfb_bergen",
  "labels": {
    "role.coordinator": "Koordinator",
    "role.peer_mentor": "Likeperson",
    "activity_type.group_walk": "Gruppetrim"
  }
}

Response Example

{
  "organization_id": "org_nfb_bergen",
  "label_count": 3,
  "created_at": "2026-03-26T10:10:00.000Z",
  "updated_at": "2026-03-26T10:10:00.000Z"
}
PUT /api/v1/terminology/api/v1/terminology/:organization_id

Replace or merge labels into an organization's terminology map

Auth Required org_adminglobal_admin

Request Example

{
  "labels": {
    "role.coordinator": "Gruppeansvarlig",
    "activity_type.book_club": "Leseklubb"
  },
  "merge": true
}

Response Example

{
  "organization_id": "org_nhf_oslo",
  "updated_keys": 2,
  "total_label_count": 19,
  "updated_at": "2026-03-26T10:12:00.000Z"
}
DELETE /api/v1/terminology/api/v1/terminology/:organization_id

Delete an organization's entire terminology map

Auth Required global_admin

Response Example

{
  "organization_id": "org_nhf_oslo",
  "deleted": true,
  "deleted_keys": 19
}
GET /api/v1/terminology/api/v1/terminology/:organization_id/updated-at

Fetch the last-updated timestamp for an organization's terminology (maps to fetchUpdatedAt())

Auth Required peer_mentorcoordinatororg_adminglobal_admin

Response Example

{
  "organization_id": "org_nhf_oslo",
  "updated_at": "2026-03-26T06:00:00.000Z"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}