NAV
shell ruby python csharp php

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:

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: