Organization Repository
API Contract
REST
/api/v1/organizations
6 endpoints
GET
/api/v1/organizations/api/v1/organizations
List all active organizations with pagination
Public
Response Example
{
"data": [
{
"org_id": "org_01J4K8M2N3P5Q7R9",
"name": "Northbrook Academy",
"slug": "northbrook-academy",
"is_active": true,
"member_count": 342,
"created_at": "2024-03-15T08:00:00Z",
"updated_at": "2025-11-20T14:30:00Z"
},
{
"org_id": "org_01J4K8M2N3P5Q7R8",
"name": "Westfield Learning Hub",
"slug": "westfield-learning-hub",
"is_active": true,
"member_count": 178,
"created_at": "2024-06-01T10:00:00Z",
"updated_at": "2025-10-05T09:15:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 47
}
}
GET
/api/v1/organizations/api/v1/organizations/:id
Get organization by ID
Public
Response Example
{
"org_id": "org_01J4K8M2N3P5Q7R9",
"name": "Northbrook Academy",
"slug": "northbrook-academy",
"is_active": true,
"member_count": 342,
"created_at": "2024-03-15T08:00:00Z",
"updated_at": "2025-11-20T14:30:00Z"
}
POST
/api/v1/organizations/api/v1/organizations
Create a new organization
Public
Request Example
{
"name": "Riverdale Tech Institute",
"slug": "riverdale-tech-institute",
"is_active": true
}
Response Example
{
"org_id": "org_01J9X3P7K2M4N6Q8",
"name": "Riverdale Tech Institute",
"slug": "riverdale-tech-institute",
"is_active": true,
"member_count": 0,
"created_at": "2026-03-26T12:00:00Z",
"updated_at": "2026-03-26T12:00:00Z"
}
PUT
/api/v1/organizations/api/v1/organizations/:id
Update organization details
Public
Request Example
{
"name": "Riverdale Tech Institute (Updated)",
"is_active": true
}
Response Example
{
"org_id": "org_01J9X3P7K2M4N6Q8",
"name": "Riverdale Tech Institute (Updated)",
"slug": "riverdale-tech-institute",
"is_active": true,
"member_count": 12,
"created_at": "2026-03-26T12:00:00Z",
"updated_at": "2026-03-26T15:45:00Z"
}
DELETE
/api/v1/organizations/api/v1/organizations/:id
Soft-delete (deactivate) an organization
Public
Response Example
{
"success": true,
"deactivated_at": "2026-03-26T16:00:00Z"
}
GET
/api/v1/organizations/api/v1/organizations/:id/profile
Get extended organization profile (branding, settings, terminology)
Public
Response Example
{
"org_id": "org_01J4K8M2N3P5Q7R9",
"display_name": "Northbrook Academy",
"logo_url": "https://cdn.eircodex.io/orgs/northbrook/logo.png",
"primary_color": "#1A56DB",
"accent_color": "#7E3AF2",
"terminology": {
"student": "Learner",
"teacher": "Facilitator",
"class": "Cohort"
},
"contact_email": "admin@northbrook.edu",
"timezone": "Europe/Dublin",
"locale": "en-IE"
}