NAV
shell ruby python csharp php

OrganizationMember

The OrganizationMember object

The OrganizationMember object looks like this in JSON:

{
    "object": "organization_member",
    "id": 5,
    "organization_id": 1,
    "person_id": 8,
    "type": "member",
    "title": null,
    "start_date": null,
    "end_date": null,
    "occupation_id": null,
    "full_time": true,
    "hours_worked": null,
    "salary": null,
    "reported_on": null,
    "primary": false,
    "is_private": false,
    "show_on_transcript": false,
    "payment_sponsor": false,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
organization_id No int
person_id Yes int
type Yes enum (job, field_of_study, member)
title No text (255)
start_date No date
end_date No date
occupation_id No int
full_time Yes bool
hours_worked No int
salary No int
reported_on No date
primary No bool
is_private Yes bool
show_on_transcript Yes bool
payment_sponsor Yes bool
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)/organizations" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "organization_id": 1,
    "type": "JOB"
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/organizations',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/organizations',
 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)/organizations"), 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)/organizations');
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": 0,
    "results": 0,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [],
    "sandbox": true
}

Retrieves all OrganizationMember objects tied to a specific Person.

HTTP Request

GET /people/(person)/organizations

Parameters

Name Required Data Type Description
organization_id No int
type No enum (job, field_of_study, member)

Permissions

One of the following roles is required to call this method:

create

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/organizations" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "organization_id": 1,
    "type": "job"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/organizations',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :organization_id => 1,
  :type => 'job'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/organizations',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'organization_id': 1,
  'type': 'job'
 }
)
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)/organizations"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  organization_id = 1,
  type = "job"
});
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)/organizations');
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([
  'organization_id' => 1,
  'type' => 'job'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "organization_member",
    "id": 9,
    "organization_id": 1,
    "person_id": 12,
    "type": "job",
    "title": null,
    "start_date": null,
    "end_date": null,
    "occupation_id": null,
    "full_time": false,
    "hours_worked": null,
    "salary": null,
    "reported_on": "2026-07-25",
    "primary": true,
    "is_private": false,
    "show_on_transcript": true,
    "payment_sponsor": false,
    "contact_organization": {
        "object": "organization",
        "id": 1,
        "name": "The Oxford School",
        "image_file_id": null,
        "industry_id": null,
        "ceeb_code": null,
        "notification_email_id": null,
        "portal_secret": null,
        "portal_secret_expires_at": null,
        "info_changed_at": "2026-07-25T16:24:08+00:00",
        "import_id": null,
        "added_at": null,
        "added_by_id": null,
        "type": "College"
    },
    "added_at": "2026-07-25T16:24:11+00:00",
    "added_by_id": 22,
    "sandbox": true
}

Creates a new OrganizationMember object.

HTTP Request

POST /people/(person)/organizations

Parameters

Name Required Data Type Description
organization_id Yes int
type Yes enum (job, field_of_study, member)
primary No bool
full_time No bool
show_on_transcript No bool
payment_sponsor No bool
is_private No bool
title No text (255)
start_date No date
end_date No date
occupation_id No int
hours_worked No int
salary No int

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)/organizations/(organizationmember)" \
-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)/organizations/(organizationmember)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)',
 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)/organizations/(organizationmember)"), 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)/organizations/(organizationmember)');
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": "organization_member",
    "id": 6,
    "organization_id": 4,
    "person_id": 12,
    "type": "member",
    "title": null,
    "start_date": null,
    "end_date": null,
    "occupation_id": null,
    "full_time": true,
    "hours_worked": null,
    "salary": null,
    "reported_on": null,
    "primary": false,
    "is_private": false,
    "show_on_transcript": false,
    "payment_sponsor": false,
    "contact_organization": {
        "object": "organization",
        "id": 4,
        "name": "Art Academy",
        "image_file_id": null,
        "industry_id": null,
        "ceeb_code": null,
        "notification_email_id": null,
        "portal_secret": null,
        "portal_secret_expires_at": null,
        "info_changed_at": null,
        "import_id": null,
        "added_at": null,
        "added_by_id": null,
        "type": "College"
    },
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Retrieves a specific OrganizationMember object.

HTTP Request

GET /people/(person)/organizations/(organizationmember)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Permissions

One of the following roles is required to call this method:

update

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "organization_id": 4
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)',
 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)/organizations/(organizationmember)"), 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)/organizations/(organizationmember)');
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": "organization_member",
    "id": 6,
    "organization_id": 4,
    "person_id": 12,
    "type": "member",
    "title": null,
    "start_date": null,
    "end_date": null,
    "occupation_id": null,
    "full_time": true,
    "hours_worked": null,
    "salary": null,
    "reported_on": null,
    "primary": false,
    "is_private": false,
    "show_on_transcript": false,
    "payment_sponsor": false,
    "contact_organization": {
        "object": "organization",
        "id": 4,
        "name": "Art Academy",
        "image_file_id": null,
        "industry_id": null,
        "ceeb_code": null,
        "notification_email_id": null,
        "portal_secret": null,
        "portal_secret_expires_at": null,
        "info_changed_at": null,
        "import_id": null,
        "added_at": null,
        "added_by_id": null,
        "type": "College"
    },
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Updates an existing OrganizationMember object.

HTTP Request

PUT /people/(person)/organizations/(organizationmember)

Parameters

Name Required Data Type Description
organization_id No int
type No enum (job, field_of_study, member)
primary No bool
full_time No bool
show_on_transcript No bool
payment_sponsor No bool
is_private No bool
title No text (255)
start_date No date
end_date No date
occupation_id No int
hours_worked No int
salary No int

Permissions

One of the following roles is required to call this method:

delete

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)" \
-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)/organizations/(organizationmember)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)',
 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)/organizations/(organizationmember)"), 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)/organizations/(organizationmember)');
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": "organization_member",
    "id": 6,
    "deleted": true
}

Deletes an existing OrganizationMember object.

HTTP Request

DELETE /people/(person)/organizations/(organizationmember)

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: