Terminology Repository
API Contract
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"
}