A person can hold multiple roles at the same time — adopter, foster, volunteer, and donor are all valid roles for the same record. The
roles array on each person reflects every role currently assigned. When you create or update a record, pass the full intended list of roles rather than a single value; the API replaces the roles array with what you send.List People
Retrieve a paginated list of person records.Query Parameters
integer
default:"1"
Page number to retrieve.
integer
default:"25"
Number of records per page. Maximum
100.string
Filter to people who hold a specific role. Accepted values include
adopter, foster, volunteer, donor. Can be specified multiple times.string
Filter by exact email address.
string
Filter to people who have a specific tag applied.
string
Full-text search across name, email, and phone fields.
Example Request
Response
Retrieve a Person
Fetch the full record for a single person by ID.Path Parameters
string
required
The unique ID of the person record.
Example Request
Response Fields
string
The unique identifier for this person record.
string
The person’s first name.
string
The person’s last name.
string
Primary email address.
string
Primary phone number in E.164 format (e.g.
+14155550182). May be null.object
Structured address object. Fields vary by country.
array of strings
All roles currently held by this person. Possible values include
adopter, foster, volunteer, donor. An empty array means no roles are assigned.array of strings
Custom tags applied to this person’s record.
string
Internal notes visible to your team. May be
null.string
IANA time zone identifier (e.g.
America/New_York). Used to display shift times in the person’s local time.string (ISO 8601)
Timestamp when the record was created.
string (ISO 8601)
Timestamp when the record was last updated.
Example Response
Create a Person
Add a new person record to your organization.Request Body
string
required
The person’s first name.
string
required
The person’s last name.
string
required
Primary email address. Must be unique within your organization.
string
Primary phone number. Provide in E.164 format (e.g.
+14155550182) for best results.object
Structured address. Accepts
line1, line2, city, state, postalCode, and country fields.array of strings
Roles to assign. Accepted values:
adopter, foster, volunteer, donor. Pass an empty array or omit to create a person with no roles yet.array of strings
Tags to apply to the person’s record.
string
Internal notes about this person.
string
IANA time zone identifier. Defaults to your organization’s time zone if omitted.
Example Request
Response
Returns201 Created with the full person record as the response body.
Update a Person
Update one or more fields on an existing person record. Only fields included in the request body are changed.Path Parameters
string
required
The unique ID of the person record to update.
Request Body
All fields are optional. Include only what you want to change.string
Updated first name.
string
Updated last name.
string
Updated email address. Must remain unique within your organization.
string
Updated phone number in E.164 format.
object
Updated address. Providing this field replaces the entire address object.
array of strings
Updated roles list. This replaces the entire
roles array — include all roles you want the person to hold after the update.array of strings
Updated tags list. This replaces the entire
tags array.string
Updated internal notes. Pass an empty string to clear existing notes.
string
Updated IANA time zone identifier.
Example Request
Response
Returns200 OK with the full updated person record as the response body.