Person
A person record represents a single member/user of the application. Each person has different permissions that determine how the user can use this app (if at all).
Example Request
curl https://api.planningcenteronline.com/people/v2/people
Example Object
{
"type": "Person",
"id": "1",
"attributes": {
"accounting_administrator": true,
"anniversary": "2000-01-01",
"avatar": "string",
"birthdate": "2000-01-01",
"can_create_forms": true,
"can_email_lists": true,
"child": true,
"created_at": "2000-01-01T12:00:00Z",
"demographic_avatar_url": "string",
"directory_shared_info": {},
"directory_status": "string",
"first_name": "string",
"gender": "string",
"given_name": "string",
"grade": 1,
"graduation_year": 1,
"inactivated_at": "2000-01-01T12:00:00Z",
"last_name": "string",
"login_identifier": "string",
"medical_notes": "string",
"membership": "string",
"mfa_configured": true,
"middle_name": "string",
"name": "string",
"nickname": "string",
"passed_background_check": true,
"people_permissions": "string",
"remote_id": 1,
"resource_permission_flags": {},
"school_type": "string",
"site_administrator": true,
"status": "string",
"stripe_customer_identifier": "string",
"updated_at": "2000-01-01T12:00:00Z"
},
"relationships": {
"primary_campus": {
"data": {
"type": "PrimaryCampus",
"id": "1"
}
},
"created_by": {
"data": {
"type": "Person",
"id": "1"
}
}
}
}
Attributes
| Name | Type | Description |
|---|---|---|
accounting_administrator |
boolean |
|
anniversary |
date |
|
avatar |
string |
File UUID (see [File Uploads](#file-uploads) section) |
birthdate |
date |
|
can_create_forms |
boolean |
|
can_email_lists |
boolean |
|
child |
boolean |
|
created_at |
date_time |
|
demographic_avatar_url |
string |
|
directory_shared_info |
json |
Only available when requested with the `?fields` param |
directory_status |
string |
|
first_name |
string |
|
gender |
string |
|
given_name |
string |
|
grade |
integer |
|
graduation_year |
integer |
|
id |
primary_key |
|
inactivated_at |
date_time |
Set to an ISO 8601 date or time to make the profile inactive. Set to "null" to reactivate the profile. |
last_name |
string |
|
login_identifier |
string |
|
medical_notes |
string |
|
membership |
string |
|
mfa_configured |
boolean |
Only available when requested with the `?fields` param |
middle_name |
string |
|
name |
string |
|
nickname |
string |
|
passed_background_check |
boolean |
|
people_permissions |
string |
|
remote_id |
integer |
|
resource_permission_flags |
json |
|
school_type |
string |
|
site_administrator |
boolean |
|
status |
string |
Set to "inactive" to set "inactivated_at" to the current time and make the profile inactive. Set to anything else to clear "inactivated_at" and reactivate the profile. |
stripe_customer_identifier |
string |
Only available when requested with the `?fields` param |
updated_at |
date_time |
Relationships
| Name | Type | Association Type | Note |
|---|---|---|---|
| primary_campus | PrimaryCampus | to_one | |
| created_by | Person | to_one |
Can Include
| Parameter | Value | Description | Assignable |
|---|---|---|---|
| include | addresses | include associated addresses | create and update |
| include | emails | include associated emails | create and update |
| include | field_data | include associated field_data | |
| include | households | include associated households | |
| include | inactive_reason | include associated inactive_reason | create and update |
| include | marital_status | include associated marital_status | create and update |
| include | name_prefix | include associated name_prefix | create and update |
| include | name_suffix | include associated name_suffix | create and update |
| include | organization | include associated organization | |
| include | person_apps | include associated person_apps | |
| include | phone_numbers | include associated phone_numbers | create and update |
| include | platform_notifications | include associated platform_notifications | |
| include | primary_campus | include associated primary_campus | create and update |
| include | school | include associated school | create and update |
| include | social_profiles | include associated social_profiles | create and update |
Order By
| Parameter | Value | Type | Description |
|---|---|---|---|
| order | accounting_administrator | string | prefix with a hyphen (-accounting_administrator) to reverse the order |
| order | anniversary | string | prefix with a hyphen (-anniversary) to reverse the order |
| order | birthdate | string | prefix with a hyphen (-birthdate) to reverse the order |
| order | child | string | prefix with a hyphen (-child) to reverse the order |
| order | created_at | string | prefix with a hyphen (-created_at) to reverse the order |
| order | first_name | string | prefix with a hyphen (-first_name) to reverse the order |
| order | gender | string | prefix with a hyphen (-gender) to reverse the order |
| order | given_name | string | prefix with a hyphen (-given_name) to reverse the order |
| order | grade | string | prefix with a hyphen (-grade) to reverse the order |
| order | graduation_year | string | prefix with a hyphen (-graduation_year) to reverse the order |
| order | inactivated_at | string | prefix with a hyphen (-inactivated_at) to reverse the order |
| order | last_name | string | prefix with a hyphen (-last_name) to reverse the order |
| order | membership | string | prefix with a hyphen (-membership) to reverse the order |
| order | middle_name | string | prefix with a hyphen (-middle_name) to reverse the order |
| order | nickname | string | prefix with a hyphen (-nickname) to reverse the order |
| order | people_permissions | string | prefix with a hyphen (-people_permissions) to reverse the order |
| order | remote_id | string | prefix with a hyphen (-remote_id) to reverse the order |
| order | site_administrator | string | prefix with a hyphen (-site_administrator) to reverse the order |
| order | status | string | prefix with a hyphen (-status) to reverse the order |
| order | updated_at | string | prefix with a hyphen (-updated_at) to reverse the order |
Query By
| Name | Parameter | Type | Description | Example |
|---|---|---|---|---|
| accounting_administrator | where[accounting_administrator] |
boolean | Query on a specific accounting_administrator | ?where[accounting_administrator]=true |
| anniversary | where[anniversary] |
date | Query on a specific anniversary | ?where[anniversary]=2000-01-01 |
| birthdate | where[birthdate] |
date | Query on a specific birthdate | ?where[birthdate]=2000-01-01 |
| child | where[child] |
boolean | Query on a specific child | ?where[child]=true |
| created_at | where[created_at] |
date_time | Query on a specific created_at | ?where[created_at]=2000-01-01T12:00:00Z |
| first_name | where[first_name] |
string | Query on a specific first_name | ?where[first_name]=string |
| gender | where[gender] |
string | Query on a specific gender | ?where[gender]=string |
| given_name | where[given_name] |
string | Query on a specific given_name | ?where[given_name]=string |
| grade | where[grade] |
integer | Query on a specific grade | ?where[grade]=1 |
| graduation_year | where[graduation_year] |
integer | Query on a specific graduation_year | ?where[graduation_year]=1 |
| id | where[id] |
primary_key | Query on a specific id | ?where[id]=primary_key |
| inactivated_at | where[inactivated_at] |
date_time | Set to an ISO 8601 date or time to make the profile inactive. Set to "null" to reactivate the profile. | ?where[inactivated_at]=2000-01-01T12:00:00Z |
| last_name | where[last_name] |
string | Query on a specific last_name | ?where[last_name]=string |
| medical_notes | where[medical_notes] |
string | Query on a specific medical_notes | ?where[medical_notes]=string |
| membership | where[membership] |
string | Query on a specific membership | ?where[membership]=string |
| mfa_configured | where[mfa_configured] |
boolean | Set to "true" or "false" to filter. Can only be viewed and queried by an Organization Administrator. | ?where[mfa_configured]=true |
| middle_name | where[middle_name] |
string | Query on a specific middle_name | ?where[middle_name]=string |
| nickname | where[nickname] |
string | Query on a specific nickname | ?where[nickname]=string |
| people_permissions | where[people_permissions] |
string | Query on a specific people_permissions | ?where[people_permissions]=string |
| primary_campus_id | where[primary_campus_id] |
integer | Query on a related primary_campus | ?where[primary_campus_id]=1 |
| remote_id | where[remote_id] |
integer | Query on a specific remote_id | ?where[remote_id]=1 |
| search_name | where[search_name] |
string | Query on a specific search_name | ?where[search_name]=string |
| search_name_or_email | where[search_name_or_email] |
string | Query on a specific search_name_or_email | ?where[search_name_or_email]=string |
| search_name_or_email_or_phone_number | where[search_name_or_email_or_phone_number] |
string | Query on a specific search_name_or_email_or_phone_number | ?where[search_name_or_email_or_phone_number]=string |
| search_phone_number | where[search_phone_number] |
string | Query on a specific search_phone_number | ?where[search_phone_number]=string |
| search_phone_number_e164 | where[search_phone_number_e164] |
string | Query on a specific search_phone_number_e164 | ?where[search_phone_number_e164]=string |
| site_administrator | where[site_administrator] |
boolean | Query on a specific site_administrator | ?where[site_administrator]=true |
| status | where[status] |
string | Set to "inactive" to set "inactivated_at" to the current time and make the profile inactive. Set to anything else to clear "inactivated_at" and reactivate the profile. | ?where[status]=string |
| updated_at | where[updated_at] |
date_time | Query on a specific updated_at | ?where[updated_at]=2000-01-01T12:00:00Z |
Pagination
| Name | Parameter | Type | Description |
|---|---|---|---|
| per_page | per_page | integer | how many records to return per page (min=1, max=100, default=25) |
| offset | offset | integer | get results from given offset |
Endpoints
Listing
| HTTP Method | Endpoint |
|---|---|
| GET | /people/v2/people |
Reading
| HTTP Method | Endpoint |
|---|---|
| GET | /people/v2/people/{id} |
Creating
| HTTP Method | Endpoint | Assignable Attributes |
|---|---|---|
| POST | /people/v2/people |
|
Updating
| HTTP Method | Endpoint | Assignable Attributes |
|---|---|---|
| PATCH | /people/v2/people/{id} |
|
Deleting
| HTTP Method | Endpoint |
|---|---|
| DELETE | /people/v2/people/{id} |
Associations
| HTTP Method | Endpoint | Returns | Details | Filter By |
|---|---|---|---|---|
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/addresses |
Address | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/apps |
App | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/background_checks |
BackgroundCheck | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/connected_people |
ConnectedPerson | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/emails |
|||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/field_data |
FieldDatum | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/household_memberships |
HouseholdMembership | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/households |
Household | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/inactive_reason |
InactiveReason | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/marital_status |
MaritalStatus | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/message_groups |
MessageGroup | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/messages |
Message | The Person's received messages. Can also receive a filter to return `sent` or `unread` e.g. `?filter=sent` |
|
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/name_prefix |
NamePrefix | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/name_suffix |
NameSuffix | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/notes |
Note | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/organization |
Organization | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/person_apps |
PersonApp | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/phone_numbers |
PhoneNumber | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/platform_notifications |
PlatformNotification | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/primary_campus |
Campus | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/school |
SchoolOption | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/social_profiles |
SocialProfile | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/workflow_cards |
WorkflowCard |
|
|
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/workflow_shares |
WorkflowShare |
Belongs To
| HTTP Method | Endpoint | Association | Details | Filter By |
|---|---|---|---|---|
| GET | https://api.planningcenteronline.com/people/v2/background_checks/{background_check_id}/person |
BackgroundCheck | ||
| GET | https://api.planningcenteronline.com/people/v2/lists/{list_id}/rules/{rule_id}/conditions/{condition_id}/created_by |
Condition | ||
| GET | https://api.planningcenteronline.com/people/v2/emails/{email_id}/person |
|||
| GET | https://api.planningcenteronline.com/people/v2/field_data/{field_datum_id}/person |
FieldDatum | ||
| GET | https://api.planningcenteronline.com/people/v2/forms/{form_id}/form_submissions/{form_submission_id}/person |
FormSubmission | ||
| GET | https://api.planningcenteronline.com/people/v2/households/{household_id}/household_memberships/{household_membership_id}/person |
HouseholdMembership | ||
| GET | https://api.planningcenteronline.com/people/v2/households/{household_id}/people |
Household |
|
|
| GET | https://api.planningcenteronline.com/people/v2/lists/{list_id}/created_by |
List | ||
| GET | https://api.planningcenteronline.com/people/v2/lists/{list_id}/people |
List | ||
| GET | https://api.planningcenteronline.com/people/v2/lists/{list_id}/shares/{list_share_id}/person |
ListShare | ||
| GET | https://api.planningcenteronline.com/people/v2/lists/{list_id}/updated_by |
List | ||
| GET | https://api.planningcenteronline.com/people/v2/message_groups/{message_group_id}/from |
MessageGroup | ||
| GET | https://api.planningcenteronline.com/people/v2/messages/{message_id}/to |
Message | ||
| GET | https://api.planningcenteronline.com/people/v2/note_categories/{note_category_id}/shares/{note_category_share_id}/person |
NoteCategoryShare | ||
| GET | https://api.planningcenteronline.com/people/v2/note_categories/{note_category_id}/subscribers |
NoteCategory | ||
| GET | https://api.planningcenteronline.com/people/v2/note_category_subscriptions/{note_category_subscription_id}/person |
NoteCategorySubscription | ||
| GET | https://api.planningcenteronline.com/people/v2/notes/{note_id}/created_by |
Note | ||
| GET | https://api.planningcenteronline.com/people/v2/notes/{note_id}/person |
Note | ||
| GET | https://api.planningcenteronline.com/people/v2/people |
Organization |
|
|
| GET | https://api.planningcenteronline.com/people/v2/people_imports/{people_import_id}/histories/{people_import_history_id}/person |
PeopleImportHistory | ||
| GET | https://api.planningcenteronline.com/people/v2/reports/{report_id}/created_by |
Report | ||
| GET | https://api.planningcenteronline.com/people/v2/reports/{report_id}/updated_by |
Report | ||
| GET | https://api.planningcenteronline.com/people/v2/social_profiles/{social_profile_id}/person |
SocialProfile | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/workflow_cards/{workflow_card_id}/assignee |
WorkflowCard | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/workflow_cards/{workflow_card_id}/person |
WorkflowCard | ||
| GET | https://api.planningcenteronline.com/people/v2/people/{person_id}/workflow_shares/{workflow_share_id}/person |
WorkflowShare | ||
| GET | https://api.planningcenteronline.com/people/v2/workflows/{workflow_id}/shared_people |
Workflow | ||
| GET | https://api.planningcenteronline.com/people/v2/workflows/{workflow_id}/steps/{step_id}/assignee_summaries/{workflow_step_assignee_summary_id}/person |
WorkflowStepAssigneeSummary | ||
| GET | https://api.planningcenteronline.com/people/v2/workflows/{workflow_id}/steps/{workflow_step_id}/default_assignee |
WorkflowStep |