Overview
The People API manages church members throughout their lifecycle: invitation, approval, profile management, and deletion. It supports both individual and bulk invitation workflows.Authentication
All endpoints require authentication with specific permissions:- List/View:
church.update - Invite:
users.invite - Approve:
users.approve - Delete:
users.delete
List People
GET /api/people
Retrieve all members for a church
church.update
Query Parameters
Filter by church ID. Defaults to authenticated user’s church for non-super admins
Alternative parameter for church_id
Request
Response
Get Member Details
GET /api/people/{id}
Retrieve detailed information about a specific member
church.update
Request Parameters
The unique identifier of the member
Request
Response
Get Member’s Areas
GET /api/people/{id}/areas
Retrieve all areas a member is assigned to
church.update
Request
Response
Get Member’s Groups
GET /api/people/{id}/groups
Retrieve all teams/groups a member belongs to
church.update
Request
Response
Invite Member
POST /api/people/invite
Invite a new member to join the church
users.invite
Request Body
Full name of the person to invite
Email address for the invitation
The church ID to invite them to
Alternative parameter for church_id
The role ID to assign (defaults to Member role)
Alternative parameter for role_id
Request
Response
Process Details
- Creates a member record with
status: pending - Generates a secure invitation token (valid for 48 hours)
- Assigns the specified role
- Sends invitation email with registration link
- Logs activity in the system
Error Responses
Missing Required Fields (400)Bulk Invite Members
POST /api/people/invite/bulk
Invite multiple members at once
users.invite
Request Body
Array of email addresses to invite
The church ID to invite them to
Alternative parameter for church_id
Request
Response
Behavior
- Validates each email address
- Skips emails that already exist in the system
- Creates member names from email prefixes
- Assigns default Member role (ID: 5)
- Sends individual invitation emails
- Returns count of successful and failed invitations
Approve Member
POST /api/people/approve
Approve a pending member and activate their account
users.approve
Request Body
The role ID to assign upon approval
Alternative parameter for role_id
The member ID should be included in the query string (e.g.,
/api/people/approve?action=5)Request
Response
Process
- Changes member status from
pendingtoactive - Assigns the specified role
- Creates service role assignment for Church Center
- Logs approval activity
Error Responses
Missing Parameters (400)Update Member Role
PUT /api/people/{id}/role
Update a member’s role
users.approve
Request Parameters
The member ID
The new role ID
Alternative parameter for role_id
Request
Response
Update Member Status
PUT /api/people/{id}/status
Update a member’s status (active, inactive, pending)
users.approve
Request Parameters
The member ID
Status ID: 1 = active, 2 = inactive, 3 = pending
Alternative parameter for status_id
Request
Response
Update Member Profile
PUT /api/people/{id}/profile
Update a member’s profile information
Request Parameters
The member ID
Updated name
Updated email
Updated phone number
Updated address
Request
Response
Error Responses
Unauthorized (403)Delete Invitation
DELETE /api/people/invite
Delete a pending invitation by email
users.invite
Request Body
Email address of the invitation to delete
Request
Response
Delete Member
DELETE /api/people/{id}
Permanently delete a member
users.delete
Request Parameters
The member ID to delete
Request
Response
Member Statuses
| Status | Description |
|---|---|
pending | Invited but hasn’t completed registration |
active | Approved and active member |
inactive | Temporarily deactivated |
Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request - Missing or invalid parameters |
| 401 | Unauthorized - Invalid or missing token |
| 403 | Forbidden - Insufficient permissions or unauthorized profile access |
| 404 | Not Found - Member doesn’t exist |
| 500 | Internal Server Error |
Related APIs
Teams
Manage team memberships
Areas
Manage area assignments