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"
}

Additional Metadata

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