Contact List Service
API Contract
REST
/api/v1/contacts
8 endpoints
GET
/api/v1/contacts/api/v1/contacts
Get contacts for a role within an org
Public
Response Example
{
"data": [
{
"id": "usr_01J3K8X",
"full_name": "Ane Berg",
"email": "ane.berg@org.no",
"role": "peer_mentor",
"org_id": "org_abc123",
"avatar_url": "https://cdn.example.com/avatars/ane.png",
"is_active": true
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 84
}
}
GET
/api/v1/contacts/api/v1/contacts/:id
Get a single contact by ID
Public
Response Example
{
"id": "usr_01J3K8X",
"full_name": "Ane Berg",
"email": "ane.berg@org.no",
"role": "peer_mentor",
"org_id": "org_abc123",
"avatar_url": "https://cdn.example.com/avatars/ane.png",
"is_active": true,
"created_at": "2025-09-14T08:22:00Z"
}
POST
/api/v1/contacts/api/v1/contacts
Create a new contact entry
Public
Request Example
{
"full_name": "Lars Haugen",
"email": "lars.haugen@org.no",
"role": "coordinator",
"org_id": "org_abc123",
"avatar_url": null
}
Response Example
{
"id": "usr_02M5T9Y",
"full_name": "Lars Haugen",
"email": "lars.haugen@org.no",
"role": "coordinator",
"org_id": "org_abc123",
"is_active": true,
"created_at": "2026-01-10T11:04:00Z"
}
PUT
/api/v1/contacts/api/v1/contacts/:id
Update a contact
Public
Request Example
{
"full_name": "Lars Haugen",
"email": "lars.h@org.no",
"avatar_url": "https://cdn.example.com/avatars/lars.png",
"is_active": true
}
Response Example
{
"id": "usr_02M5T9Y",
"full_name": "Lars Haugen",
"email": "lars.h@org.no",
"role": "coordinator",
"org_id": "org_abc123",
"is_active": true,
"updated_at": "2026-03-01T09:15:00Z"
}
DELETE
/api/v1/contacts/api/v1/contacts/:id
Remove a contact
Public
Response Example
{
"success": true,
"deleted_id": "usr_02M5T9Y"
}
GET
/api/v1/contacts/api/v1/contacts/peer-mentors
Get peer mentors for a role within an org
Public
Response Example
{
"data": [
{
"id": "pm_88A1C",
"full_name": "Silje Dahl",
"email": "silje.dahl@org.no",
"specialty": "Integration",
"org_id": "org_abc123",
"available": true
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 12
}
}
GET
/api/v1/contacts/api/v1/contacts/search
Search contacts by query string, role and org
Public
Response Example
{
"data": [
{
"id": "usr_01J3K8X",
"full_name": "Ane Berg",
"email": "ane.berg@org.no",
"role": "peer_mentor",
"org_id": "org_abc123"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3
}
}
GET
/api/v1/contacts/api/v1/contacts/peer-mentors/search
Search peer mentors by query string, role and org
Public
Response Example
{
"data": [
{
"id": "pm_88A1C",
"full_name": "Silje Dahl",
"email": "silje.dahl@org.no",
"specialty": "Integration",
"org_id": "org_abc123"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}