Overview
The Organizations API provides endpoints for managing organizations, their members, invitations, and rich organization profiles. All endpoints require admin authentication.Organizations
List Organizations
From/src/pages/api/admin/organizations.ts:59-106:
Query Parameters
string
Fetch single organization by ID (includes members)
boolean
default:"false"
Include member list for each organization
Create Organization
From/src/pages/api/admin/organizations.ts:125-133:
Request Body
string
required
Must be
"create"string
required
Organization name
string
required
URL-friendly organization slug (unique)
Set Active Organization
From/src/pages/api/admin/organizations.ts:168-171:
Organization Members
List Members & Invitations
From/src/pages/api/admin/organizations/members.ts:20-46:
Response
Invite Member
From/src/pages/api/admin/organizations/members.ts:64-75:
Invitation Email
From/src/lib/auth/auth.ts:162-172, invited users receive an email:
Request Body
string
required
Must be
"invite"string
required
Organization ID
string
required
Email address to invite
string
default:"member"
Member role:
owner, admin, memberUpdate Member Role
From/src/pages/api/admin/organizations/members.ts:77-88:
Remove Member
From/src/pages/api/admin/organizations/members.ts:90-100:
Cancel Invitation
From/src/pages/api/admin/organizations/members.ts:102-109:
Add Existing User as Member
From/src/pages/api/admin/organizations.ts:140-152:
Organization Profiles
List Organization Profiles
From/src/pages/api/admin/organizations/profile.ts:21-38:
Response
Get Single Organization Profile
Create Organization Profile
From/src/pages/api/admin/organizations/profile.ts:57-89:
Request Body
string
required
Must be
"create"object
required
Multilingual name object (e.g.,
{ "fr": "...", "en": "..." })string
required
URL-friendly slug
object
Multilingual description
string
Organization website URL
string
Logo image URL
string
Cover image URL
string
Contact email
string
Contact phone number
object
Address object with
streetAddress, addressLocality, postalCode, addressCountryobject
Legal name (multilingual)
string
Tax identification number
string
ISO 8601 date (YYYY-MM-DD)
number
Employee count
boolean
default:"true"
Organization is active
boolean
default:"false"
Mark as featured
Update Organization Profile
From/src/pages/api/admin/organizations/profile.ts:91-130:
Toggle Organization Status
From/src/pages/api/admin/organizations/profile.ts:132-146:
Delete Organization Profile
From/src/pages/api/admin/organizations/profile.ts:148-153:
Organization Roles
Available Roles
From Better Auth organization plugin:- owner - Full control, can delete organization
- admin - Manage members, settings, content
- member - Basic access
Role Permissions
Configured in/src/lib/auth/permissions.ts using accesscontrol:
Common Response Codes
Error Responses
Common Errors
Related Resources
API Overview
Authentication and security
Better Auth Orgs
Better Auth organization plugin docs