API
⌘K
My Developer Account

PlanPerson

A person scheduled within a specific plan.

Example Request

curl https://api.planningcenteronline.com/services/v2/people/{person_id}/plan_people

View in API Explorer →

Example Object

{
  "type": "PlanPerson",
  "id": "1",
  "attributes": {
    "can_accept_partial": true,
    "created_at": "2000-01-01T12:00:00Z",
    "decline_reason": "string",
    "name": "string",
    "notes": "string",
    "notification_changed_at": "2000-01-01T12:00:00Z",
    "notification_changed_by_name": "string",
    "notification_prepared_at": "2000-01-01T12:00:00Z",
    "notification_read_at": "2000-01-01T12:00:00Z",
    "notification_sender_name": "string",
    "notification_sent_at": "2000-01-01T12:00:00Z",
    "photo_thumbnail": "string",
    "prepare_notification": true,
    "scheduled_by_is_eligible_for_responds_to": true,
    "scheduled_by_name": "string",
    "status": "string",
    "status_updated_at": "2000-01-01T12:00:00Z",
    "team_position_name": "string",
    "updated_at": "2000-01-01T12:00:00Z"
  },
  "relationships": {
    "person": {
      "data": {
        "type": "Person",
        "id": "1"
      }
    },
    "plan": {
      "data": {
        "type": "Plan",
        "id": "1"
      }
    },
    "scheduled_by": {
      "data": {
        "type": "Person",
        "id": "1"
      }
    },
    "service_type": {
      "data": {
        "type": "ServiceType",
        "id": "1"
      }
    },
    "team": {
      "data": {
        "type": "Team",
        "id": "1"
      }
    },
    "responds_to": {
      "data": {
        "type": "Person",
        "id": "1"
      }
    },
    "times": {
      "data": [
        {
          "type": "PlanTime",
          "id": "1"
        }
      ]
    },
    "service_times": {
      "data": [
        {
          "type": "PlanTime",
          "id": "1"
        }
      ]
    },
    "time_preference_options": {
      "data": [
        {
          "type": "TimePreferenceOption",
          "id": "1"
        }
      ]
    }
  }
}

Attributes

Name Type Description
can_accept_partial boolean If the person is scheduled to a split team where they could potentially accept 1 time and decline another.
created_at date_time
decline_reason string
id primary_key
name string
notes string
notification_changed_at date_time
notification_changed_by_name string
notification_prepared_at date_time
notification_read_at date_time
notification_sender_name string
notification_sent_at date_time
photo_thumbnail string
prepare_notification boolean
scheduled_by_is_eligible_for_responds_to boolean Only available when requested with the `?fields` param
scheduled_by_name string Only available when requested with the `?fields` param
status string Accepts one of 'C', 'U', 'D', or 'Confirmed', 'Unconfirmed', or 'Declined'
status_updated_at date_time
team_position_name string
updated_at date_time

Relationships

Name Type Association Type Note
person Person to_one
plan Plan to_one
scheduled_by Person to_one
service_type ServiceType to_one
team Team to_one
responds_to Person to_one
times PlanTime to_many
service_times PlanTime to_many
time_preference_options TimePreferenceOption to_many

Can Include

Parameter Value Description Assignable
include declined_plan_times include associated declined_plan_times create and update
include person include associated person create and update
include plan include associated plan create and update
include team include associated team create and update

Query By

Name Parameter Type Description Example
team_id where[team_id] integer Query on a related team ?where[team_id]=1

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 /services/v2/people/{person_id}/plan_people

Reading

HTTP Method Endpoint
GET /services/v2/people/{person_id}/plan_people/{id}

Creating

HTTP Method Endpoint Assignable Attributes
POST /services/v2/service_types/{service_type_id}/plans/{plan_id}/team_members
  • person_id
  • team_id
  • status
  • decline_reason
  • notes
  • team_position_name
  • responds_to_id
  • prepare_notification
  • notification_prepared_at

Updating

HTTP Method Endpoint Assignable Attributes
PATCH /services/v2/people/{person_id}/plan_people/{id}
  • person_id
  • team_id
  • status
  • decline_reason
  • notes
  • team_position_name
  • responds_to_id
  • prepare_notification
  • notification_prepared_at

Deleting

HTTP Method Endpoint
DELETE /services/v2/people/{person_id}/plan_people/{id}

Associations

HTTP Method Endpoint Returns Details Filter By
GET https://api.planningcenteronline.com/services/v2/people/{person_id}/plan_people/{plan_person_id}/declined_plan_times PlanTime
GET https://api.planningcenteronline.com/services/v2/people/{person_id}/plan_people/{plan_person_id}/person Person
GET https://api.planningcenteronline.com/services/v2/people/{person_id}/plan_people/{plan_person_id}/plan Plan
GET https://api.planningcenteronline.com/services/v2/people/{person_id}/plan_people/{plan_person_id}/plan_person_times PlanPersonTime
GET https://api.planningcenteronline.com/services/v2/people/{person_id}/plan_people/{plan_person_id}/plan_times PlanTime
GET https://api.planningcenteronline.com/services/v2/people/{person_id}/plan_people/{plan_person_id}/team Team

Belongs To

HTTP Method Endpoint Association Details Filter By
GET https://api.planningcenteronline.com/services/v2/people/{person_id}/plan_people Person
GET https://api.planningcenteronline.com/services/v2/service_types/{service_type_id}/plans/{plan_id}/team_members Plan
  • confirmed
  • not_archived
  • not_declined
  • not_deleted
GET https://api.planningcenteronline.com/services/v2/service_types/{service_type_id}/plan_templates/{plan_template_id}/team_members PlanTemplate
  • confirmed
  • not_archived
  • not_declined
  • not_deleted