PersonRelationship
The PersonRelationship object
The PersonRelationship object looks like this in JSON:
{
"object": "person_relationship",
"id": 1,
"person_1_id": 1,
"person_2_id": 11,
"relationship_type_id": 1,
"emergency_contact": false,
"payment_sponsor": false,
"combined_salutation": null,
"combined_addressee": null,
"status": "active",
"start_date": null,
"end_date": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
| Attribute | Required | Data Type |
|---|---|---|
| id | Yes | int |
| person_1_id | Yes | int |
| person_2_id | Yes | int |
| relationship_type_id | Yes | int |
| emergency_contact | No | bool |
| payment_sponsor | Yes | bool |
| combined_salutation | No | text (255) |
| combined_addressee | No | text (255) |
| status | Yes | enum (active, inactive, deleted) |
| start_date | No | date |
| end_date | No | date |
| added_at | No | datetime |
| added_by_id | No | int |
| sandbox | No | bool |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/relationships" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/relationships',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/relationships',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/relationships"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/relationships');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "person_relationship",
"id": 6,
"person_1_id": 12,
"person_2_id": 16,
"relationship_type_id": 1,
"emergency_contact": false,
"payment_sponsor": false,
"combined_salutation": null,
"combined_addressee": null,
"status": "active",
"start_date": null,
"end_date": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all PersonRelationship objects tied to a specific Person.
HTTP Request
GET /people/(person)/relationships
Parameters
None
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/relationships" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"other_person_id": 2,
"relationship_type_id": 1,
"combined_salutation": "Mr. John and Dr. Jane Smith",
"combined_addressee": "Mr. John Smith and Dr. Jane Smith, MD"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/relationships',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:other_person_id => 2,
:relationship_type_id => 1
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/relationships',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'other_person_id': 2,
'relationship_type_id': 1
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/relationships"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
other_person_id = 2,
relationship_type_id = 1
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/relationships');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'other_person_id' => 2,
'relationship_type_id' => 1
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "person_relationship",
"id": 7,
"person_1_id": 12,
"person_2_id": 2,
"relationship_type_id": 1,
"emergency_contact": false,
"payment_sponsor": false,
"combined_salutation": "Mr. John and Dr. Jane Smith",
"combined_addressee": "Mr. John Smith and Dr. Jane Smith, MD",
"status": "active",
"start_date": null,
"end_date": null,
"added_at": "2026-07-25T16:24:11+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new PersonRelationship object.
HTTP Request
POST /people/(person)/relationships
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| other_person_id | Yes | int | |
| relationship_type_id | Yes | int | |
| emergency_contact | No | bool | |
| payment_sponsor | No | bool | |
| combined_salutation | No | text (255) | |
| combined_addressee | No | text (255) |
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "person_relationship",
"id": 1,
"person_1_id": 1,
"person_2_id": 11,
"relationship_type_id": 1,
"emergency_contact": false,
"payment_sponsor": false,
"combined_salutation": null,
"combined_addressee": null,
"status": "active",
"start_date": null,
"end_date": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific PersonRelationship object.
HTTP Request
GET /people/(person)/relationships/(personrelationship)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"combined_salutation": "Mr. John and Dr. Jane Smith",
"combined_addressee": "Mr. John Smith and Dr. Jane Smith, MD"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "person_relationship",
"id": 1,
"person_1_id": 1,
"person_2_id": 11,
"relationship_type_id": 1,
"emergency_contact": false,
"payment_sponsor": false,
"combined_salutation": "Mr. John and Dr. Jane Smith",
"combined_addressee": "Mr. John Smith and Dr. Jane Smith, MD",
"status": "active",
"start_date": null,
"end_date": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Updates an existing PersonRelationship object.
HTTP Request
PUT /people/(person)/relationships/(personrelationship)
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| emergency_contact | No | bool | |
| payment_sponsor | No | bool | |
| combined_salutation | No | text (255) | |
| combined_addressee | No | text (255) |
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)"), Method.Delete);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/relationships/(personrelationship)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "person_relationship",
"id": 2,
"deleted": true
}
Deletes an existing PersonRelationship object.
HTTP Request
DELETE /people/(person)/relationships/(personrelationship)
Parameters
No additional parameters are needed beyond the ID of the object to delete that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Staff