NAV
shell ruby python csharp php

CustomInfoData

The CustomInfoData object

The CustomInfoData object looks like this in JSON:

{
    "object": "custom_info_data",
    "id": 1,
    "custom_info_field_id": 11,
    "academic_term_id": null,
    "value": "Silver Ford Escape",
    "owner_id": 1,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 11,
        "name": "Car Model",
        "input_type": "text_area",
        "type": "person",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
custom_info_field_id Yes int
academic_term_id No int
value Yes text
owner_id Yes int
import_id No int
custom_info_field No object
added_at No datetime
added_by_id No int
updated_at No datetime
updated_by_id No int
option_value No text
sandbox No bool

index (admissions)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions" \
-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)/custominfodata/admissions',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions',
 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)/custominfodata/admissions"), 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)/custominfodata/admissions');
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": "custom_info_data",
            "id": 35,
            "custom_info_field_id": 14,
            "academic_term_id": null,
            "value": "Rocky Road",
            "owner_id": 12,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 14,
                "name": "Favorite ice cream flavor",
                "input_type": "text_area",
                "type": "admissions",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-02-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-03-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Person, of the admissions type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/admissions

Parameters

None

Expandable Properties

Permissions

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

index (all types)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/custominfodata" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": []
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/custominfodata',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/custominfodata',
 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/custominfodata"), 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/custominfodata');
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": 27,
    "results": 27,
    "results_per_page": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "custom_info_data",
            "id": 8,
            "custom_info_field_id": 18,
            "academic_term_id": null,
            "value": "159876",
            "owner_id": 1,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 18,
                "name": "Business membership number",
                "input_type": "text_area",
                "type": "organization",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-01-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-01-01T00:05:30+00:00",
            "updated_by_id": 2,
            "report_data": {
                "name": "Business membership number",
                "type": "CONTACT_ORG",
                "input_type": "TEXT AREA",
                "option_value": null
            },
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects of all types. Requires both Financial and Academic admin roles.

HTTP Request

GET /custominfodata

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
custom_info_field_id integer
name text
type text
input_type text
owner_id integer
academic_term_id integer
value text
import_id integer
added_at datetime
added_by integer
updated_at datetime
updated_by integer

Permissions

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

index (campus life)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife" \
-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)/custominfodata/campuslife',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife',
 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)/custominfodata/campuslife"), 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)/custominfodata/campuslife');
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": "custom_info_data",
            "id": 36,
            "custom_info_field_id": 19,
            "academic_term_id": null,
            "value": "Seahawks",
            "owner_id": 12,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 19,
                "name": "Preferred sports team",
                "input_type": "text_area",
                "type": "campus_life",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-02-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-03-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Person, of the campus life type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/campuslife

Parameters

None

Expandable Properties

Permissions

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

index (donation)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/',
 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/donations/(donation)/custominfodata/"), 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/donations/(donation)/custominfodata/');
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": "custom_info_data",
            "id": 18,
            "custom_info_field_id": 17,
            "academic_term_id": null,
            "value": "Books",
            "owner_id": 6,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 17,
                "name": "Proxy gift description",
                "input_type": "text_area",
                "type": "donation",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-01-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-01-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Donation, tied to a specified Donation object.

HTTP Request

GET /donations/(donation)/custominfodata/

Parameters

None

Expandable Properties

Permissions

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

index (donor)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/',
 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/donors/(donor)/custominfodata/"), 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/donors/(donor)/custominfodata/');
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": "custom_info_data",
            "id": 19,
            "custom_info_field_id": 20,
            "academic_term_id": null,
            "value": "Special",
            "owner_id": 14,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 20,
                "name": "VIP",
                "input_type": "text_area",
                "type": "donor",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-01-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-01-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Donor, tied to a specified Donor object.

HTTP Request

GET /donors/(donor)/custominfodata/

Parameters

None

Expandable Properties

Permissions

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

index (financial aid)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid" \
-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)/custominfodata/financialaid',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid',
 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)/custominfodata/financialaid"), 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)/custominfodata/financialaid');
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": "custom_info_data",
            "id": 34,
            "custom_info_field_id": 15,
            "academic_term_id": null,
            "value": "Cosigned",
            "owner_id": 12,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 15,
                "name": "Favorite kind of loan",
                "input_type": "text_area",
                "type": "financial_aid",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-02-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-03-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Person, of the financial aid type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/financialaid

Parameters

None

Expandable Properties

Permissions

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

index (financial)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial" \
-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)/custominfodata/financial',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial',
 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)/custominfodata/financial"), 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)/custominfodata/financial');
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": "custom_info_data",
            "id": 33,
            "custom_info_field_id": 16,
            "academic_term_id": null,
            "value": "Silver dollar",
            "owner_id": 12,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 16,
                "name": "Favorite coin",
                "input_type": "text_area",
                "type": "financial",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-02-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-03-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Person, of the financial type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/financial

Parameters

None

Expandable Properties

Permissions

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

index (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata',
 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/organizations/(organization)/custominfodata"), 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/organizations/(organization)/custominfodata');
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": "custom_info_data",
            "id": 8,
            "custom_info_field_id": 18,
            "academic_term_id": null,
            "value": "159876",
            "owner_id": 1,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 18,
                "name": "Business membership number",
                "input_type": "text_area",
                "type": "organization",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-01-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-01-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Organization, tied to a specified Organization object.

HTTP Request

GET /organizations/(organization)/custominfodata

Parameters

None

Expandable Properties

Permissions

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

index (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata" \
-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)/custominfodata',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata',
 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)/custominfodata"), 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)/custominfodata');
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": 2,
    "results": 2,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "custom_info_data",
            "id": 30,
            "custom_info_field_id": 11,
            "academic_term_id": null,
            "value": "Blue Honda Accord",
            "owner_id": 12,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 11,
                "name": "Car Model",
                "input_type": "text_area",
                "type": "person",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-02-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-03-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Person, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata

Parameters

None

Expandable Properties

Permissions

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

index (student)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student" \
-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)/custominfodata/student',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student',
 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)/custominfodata/student"), 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)/custominfodata/student');
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": "custom_info_data",
            "id": 31,
            "custom_info_field_id": 12,
            "academic_term_id": null,
            "value": "English",
            "owner_id": 12,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 12,
                "name": "Favorite school subject",
                "input_type": "text_area",
                "type": "student",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-02-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-03-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Person, of the student type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/student

Parameters

None

Expandable Properties

Permissions

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

index (term student)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)" \
-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)/custominfodata/term/(academicterm)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)',
 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)/custominfodata/term/(academicterm)"), 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)/custominfodata/term/(academicterm)');
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": "custom_info_data",
            "id": 32,
            "custom_info_field_id": 13,
            "academic_term_id": 8,
            "value": "Blue",
            "owner_id": 12,
            "import_id": null,
            "custom_info_field": {
                "object": "custom_info_field",
                "id": 13,
                "name": "Favorite color",
                "input_type": "text_area",
                "type": "term_student",
                "description": null,
                "value_permissions": "default"
            },
            "added_at": "2022-02-01T00:05:30+00:00",
            "added_by_id": 2,
            "updated_at": "2022-03-01T00:05:30+00:00",
            "updated_by_id": 2,
            "option_value": null
        }
    ],
    "sandbox": true
}

Retrieves all CustomInfoData objects tied to a specific Person, of the term student type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/term/(academicterm)

Parameters

None

Expandable Properties

Permissions

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

show (donation)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
 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/donations/(donation)/custominfodata/(custominfodata)"), 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/donations/(donation)/custominfodata/(custominfodata)');
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": "custom_info_data",
    "id": 18,
    "custom_info_field_id": 17,
    "academic_term_id": null,
    "value": "Books",
    "owner_id": 6,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 17,
        "name": "Proxy gift description",
        "input_type": "text_area",
        "type": "donation",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, tied to a specified Donation object.

HTTP Request

GET /donations/(donation)/custominfodata/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (donation)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "custom_info_field_id": 17,
    "value": "2002 Ford Focus"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :custom_info_field_id => 17,
  :value => '2002 Ford Focus'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'custom_info_field_id': 17,
  'value': '2002 Ford Focus'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  custom_info_field_id = 17,
  value = "2002 Ford Focus"
});
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/donations/(donation)/custominfodata');
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([
  'custom_info_field_id' => 17,
  'value' => '2002 Ford Focus'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 18,
    "custom_info_field_id": 17,
    "academic_term_id": null,
    "value": "2002 Ford Focus",
    "owner_id": 6,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 17,
        "name": "Proxy gift description",
        "input_type": "text_area",
        "type": "donation",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, tied to a specified Donation object.

HTTP Request

POST /donations/(donation)/custominfodata

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (donation)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "1957 Chevy"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => '1957 Chevy'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': '1957 Chevy'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "1957 Chevy"
});
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/donations/(donation)/custominfodata/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => '1957 Chevy'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 18,
    "custom_info_field_id": 17,
    "academic_term_id": null,
    "value": "1957 Chevy",
    "owner_id": 6,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 17,
        "name": "Proxy gift description",
        "input_type": "text_area",
        "type": "donation",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, tied to a specified Donation object.

HTTP Request

PUT /donations/(donation)/custominfodata/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (donation)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
 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/donations/(donation)/custominfodata/(custominfodata)"), 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/donations/(donation)/custominfodata/(custominfodata)');
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": "custom_info_data",
    "id": 18,
    "deleted": true
}

Deletes an existing CustomInfoData object, tied to a specified Donation object.

HTTP Request

DELETE /donations/(donation)/custominfodata/(custominfodata)

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:

show (donor)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
 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/donors/(donor)/custominfodata/(custominfodata)"), 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/donors/(donor)/custominfodata/(custominfodata)');
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": "custom_info_data",
    "id": 19,
    "custom_info_field_id": 20,
    "academic_term_id": null,
    "value": "Special",
    "owner_id": 14,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 20,
        "name": "VIP",
        "input_type": "text_area",
        "type": "donor",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, tied to a specified Donor object.

HTTP Request

GET /donors/(donor)/custominfodata/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (donor)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "custom_info_field_id": 20,
    "value": "Exempt"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :custom_info_field_id => 20,
  :value => 'Exempt'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'custom_info_field_id': 20,
  'value': 'Exempt'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  custom_info_field_id = 20,
  value = "Exempt"
});
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/donors/(donor)/custominfodata');
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([
  'custom_info_field_id' => 20,
  'value' => 'Exempt'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 19,
    "custom_info_field_id": 20,
    "academic_term_id": null,
    "value": "Exempt",
    "owner_id": 14,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 20,
        "name": "VIP",
        "input_type": "text_area",
        "type": "donor",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, tied to a specified Donor object.

HTTP Request

POST /donors/(donor)/custominfodata

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (donor)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "Special"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => 'Special'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': 'Special'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "Special"
});
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/donors/(donor)/custominfodata/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => 'Special'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 19,
    "custom_info_field_id": 20,
    "academic_term_id": null,
    "value": "Special",
    "owner_id": 14,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 20,
        "name": "VIP",
        "input_type": "text_area",
        "type": "donor",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, tied to a specified Donor object.

HTTP Request

PUT /donors/(donor)/custominfodata/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (donor)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
 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/donors/(donor)/custominfodata/(custominfodata)"), 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/donors/(donor)/custominfodata/(custominfodata)');
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": "custom_info_data",
    "id": 19,
    "deleted": true
}

Deletes an existing CustomInfoData object, tied to a specified Donor object.

HTTP Request

DELETE /donors/(donor)/custominfodata/(custominfodata)

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:

show (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
 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/organizations/(organization)/custominfodata/(custominfodata)"), 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/organizations/(organization)/custominfodata/(custominfodata)');
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": "custom_info_data",
    "id": 8,
    "custom_info_field_id": 18,
    "academic_term_id": null,
    "value": "159876",
    "owner_id": 1,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 18,
        "name": "Business membership number",
        "input_type": "text_area",
        "type": "organization",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, tied to a specified Organization object.

HTTP Request

GET /organizations/(organization)/custominfodata/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "custom_info_field_id": 18,
    "value": "555400"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :custom_info_field_id => 18,
  :value => '555400'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'custom_info_field_id': 18,
  'value': '555400'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  custom_info_field_id = 18,
  value = "555400"
});
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/organizations/(organization)/custominfodata');
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([
  'custom_info_field_id' => 18,
  'value' => '555400'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 8,
    "custom_info_field_id": 18,
    "academic_term_id": null,
    "value": "555400",
    "owner_id": 1,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 18,
        "name": "Business membership number",
        "input_type": "text_area",
        "type": "organization",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, tied to a specified Organization object.

HTTP Request

POST /organizations/(organization)/custominfodata

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "555771"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => '555771'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': '555771'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "555771"
});
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/organizations/(organization)/custominfodata/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => '555771'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 8,
    "custom_info_field_id": 18,
    "academic_term_id": null,
    "value": "555771",
    "owner_id": 1,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 18,
        "name": "Business membership number",
        "input_type": "text_area",
        "type": "organization",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, tied to a specified Organization object.

HTTP Request

PUT /organizations/(organization)/custominfodata/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
 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/organizations/(organization)/custominfodata/(custominfodata)"), 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/organizations/(organization)/custominfodata/(custominfodata)');
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": "custom_info_data",
    "id": 8,
    "deleted": true
}

Deletes an existing CustomInfoData object, tied to a specified Organization object.

HTTP Request

DELETE /organizations/(organization)/custominfodata/(custominfodata)

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:

show (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)" \
-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)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)',
 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)/custominfodata/(custominfodata)"), 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)/custominfodata/(custominfodata)');
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": "custom_info_data",
    "id": 11,
    "custom_info_field_id": 1,
    "academic_term_id": null,
    "value": "Robert",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 1,
        "name": "Dad's name",
        "input_type": "text",
        "type": "person",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (person)

Example code to call this method:

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

Example response:

{
    "object": "custom_info_data",
    "id": 37,
    "custom_info_field_id": 1,
    "academic_term_id": null,
    "value": "Robert",
    "owner_id": 12,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 1,
        "name": "Dad's name",
        "input_type": "text",
        "type": "person",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2026-07-25T16:24:07+00:00",
    "added_by_id": 22,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, tied to a specified Person object.

HTTP Request

POST /people/(person)/custominfodata

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "Robert"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => 'Robert'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': 'Robert'
 }
)
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)/custominfodata/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "Robert"
});
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)/custominfodata/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => 'Robert'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 11,
    "custom_info_field_id": 1,
    "academic_term_id": null,
    "value": "Robert",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 1,
        "name": "Dad's name",
        "input_type": "text",
        "type": "person",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, tied to a specified Person object.

HTTP Request

PUT /people/(person)/custominfodata/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (person)

Example code to call this method:

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

Deletes an existing CustomInfoData object, tied to a specified Person object.

HTTP Request

DELETE /people/(person)/custominfodata/(custominfodata)

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:

show (admissions)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)" \
-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)/custominfodata/admissions/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)',
 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)/custominfodata/admissions/(custominfodata)"), 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)/custominfodata/admissions/(custominfodata)');
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": "custom_info_data",
    "id": 15,
    "custom_info_field_id": 14,
    "academic_term_id": null,
    "value": "Vanilla",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 14,
        "name": "Favorite ice cream flavor",
        "input_type": "text_area",
        "type": "admissions",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, of the admissions type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/admissions/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (admissions)

Example code to call this method:

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

Example response:

{
    "object": "custom_info_data",
    "id": 35,
    "custom_info_field_id": 14,
    "academic_term_id": null,
    "value": "Chocolate",
    "owner_id": 12,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 14,
        "name": "Favorite ice cream flavor",
        "input_type": "text_area",
        "type": "admissions",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-02-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, of the admissions type, tied to a specified Person object.

HTTP Request

POST /people/(person)/custominfodata/admissions

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (admissions)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "Rocky Road"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => 'Rocky Road'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': 'Rocky Road'
 }
)
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)/custominfodata/admissions/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "Rocky Road"
});
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)/custominfodata/admissions/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => 'Rocky Road'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 15,
    "custom_info_field_id": 14,
    "academic_term_id": null,
    "value": "Rocky Road",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 14,
        "name": "Favorite ice cream flavor",
        "input_type": "text_area",
        "type": "admissions",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, of the admissions type, tied to a specified Person object.

HTTP Request

PUT /people/(person)/custominfodata/admissions/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (admissions)

Example code to call this method:

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

Deletes an existing CustomInfoData object, of the admissions type, tied to a specified Person object.

HTTP Request

DELETE /people/(person)/custominfodata/admissions/(custominfodata)

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:

show (campus life)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)" \
-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)/custominfodata/campuslife/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)',
 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)/custominfodata/campuslife/(custominfodata)"), 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)/custominfodata/campuslife/(custominfodata)');
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": "custom_info_data",
    "id": 20,
    "custom_info_field_id": 19,
    "academic_term_id": null,
    "value": "Tigers",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 19,
        "name": "Preferred sports team",
        "input_type": "text_area",
        "type": "campus_life",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, of the campus life type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/campuslife/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (campus life)

Example code to call this method:

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

Example response:

{
    "object": "custom_info_data",
    "id": 20,
    "custom_info_field_id": 19,
    "academic_term_id": null,
    "value": "Patriots",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 19,
        "name": "Preferred sports team",
        "input_type": "text_area",
        "type": "campus_life",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, of the campus life type, tied to a specified Person object.

HTTP Request

POST /people/(person)/custominfodata/campuslife

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (campus life)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "Hawks"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => 'Hawks'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': 'Hawks'
 }
)
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)/custominfodata/campuslife/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "Hawks"
});
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)/custominfodata/campuslife/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => 'Hawks'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 20,
    "custom_info_field_id": 19,
    "academic_term_id": null,
    "value": "Hawks",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 19,
        "name": "Preferred sports team",
        "input_type": "text_area",
        "type": "campus_life",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, of the campus life type, tied to a specified Person object.

HTTP Request

PUT /people/(person)/custominfodata/campuslife/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (campus life)

Example code to call this method:

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

Deletes an existing CustomInfoData object, of the campus life type, tied to a specified Person object.

HTTP Request

DELETE /people/(person)/custominfodata/campuslife/(custominfodata)

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:

show (financial)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)" \
-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)/custominfodata/financial/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)',
 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)/custominfodata/financial/(custominfodata)"), 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)/custominfodata/financial/(custominfodata)');
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": "custom_info_data",
    "id": 16,
    "custom_info_field_id": 16,
    "academic_term_id": null,
    "value": "Gold",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 16,
        "name": "Favorite coin",
        "input_type": "text_area",
        "type": "financial",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, of the financial type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/financial/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (financial)

Example code to call this method:

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

Example response:

{
    "object": "custom_info_data",
    "id": 33,
    "custom_info_field_id": 16,
    "academic_term_id": null,
    "value": "Silver",
    "owner_id": 12,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 16,
        "name": "Favorite coin",
        "input_type": "text_area",
        "type": "financial",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-02-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, of the financial type, tied to a specified Person object.

HTTP Request

POST /people/(person)/custominfodata/financial

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (financial)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "Gold"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => 'Gold'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': 'Gold'
 }
)
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)/custominfodata/financial/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "Gold"
});
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)/custominfodata/financial/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => 'Gold'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 16,
    "custom_info_field_id": 16,
    "academic_term_id": null,
    "value": "Gold",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 16,
        "name": "Favorite coin",
        "input_type": "text_area",
        "type": "financial",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, of the financial type, tied to a specified Person object.

HTTP Request

PUT /people/(person)/custominfodata/financial/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (financial)

Example code to call this method:

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

Deletes an existing CustomInfoData object, of the financial type, tied to a specified Person object.

HTTP Request

DELETE /people/(person)/custominfodata/financial/(custominfodata)

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:

show (financial aid)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)" \
-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)/custominfodata/financialaid/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)',
 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)/custominfodata/financialaid/(custominfodata)"), 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)/custominfodata/financialaid/(custominfodata)');
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": "custom_info_data",
    "id": 14,
    "custom_info_field_id": 15,
    "academic_term_id": null,
    "value": "Forgiven",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 15,
        "name": "Favorite kind of loan",
        "input_type": "text_area",
        "type": "financial_aid",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, of the financial aid type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/financialaid/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (financial aid)

Example code to call this method:

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

Example response:

{
    "object": "custom_info_data",
    "id": 34,
    "custom_info_field_id": 15,
    "academic_term_id": null,
    "value": "Grant",
    "owner_id": 12,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 15,
        "name": "Favorite kind of loan",
        "input_type": "text_area",
        "type": "financial_aid",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-02-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, of the financial aid type, tied to a specified Person object.

HTTP Request

POST /people/(person)/custominfodata/financialaid

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (financial aid)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "Grant"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => 'Grant'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': 'Grant'
 }
)
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)/custominfodata/financialaid/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "Grant"
});
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)/custominfodata/financialaid/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => 'Grant'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 14,
    "custom_info_field_id": 15,
    "academic_term_id": null,
    "value": "Grant",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 15,
        "name": "Favorite kind of loan",
        "input_type": "text_area",
        "type": "financial_aid",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, of the financial aid type, tied to a specified Person object.

HTTP Request

PUT /people/(person)/custominfodata/financialaid/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (financial aid)

Example code to call this method:

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

Deletes an existing CustomInfoData object, of the financial aid type, tied to a specified Person object.

HTTP Request

DELETE /people/(person)/custominfodata/financialaid/(custominfodata)

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:

generic_set

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/set" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "custom_info_field_id": 1,
    "value": "Robert"
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/set',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :custom_info_field_id => 1,
  :value => 'Robert'
 }.to_json
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/set',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'custom_info_field_id': 1,
  'value': 'Robert'
 }
)
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)/custominfodata/set"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  custom_info_field_id = 1,
  value = "Robert"
});
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)/custominfodata/set');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'custom_info_field_id' => 1,
  'value' => 'Robert'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 37,
    "custom_info_field_id": 1,
    "academic_term_id": null,
    "value": "Robert",
    "owner_id": 12,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 1,
        "name": "Dad's name",
        "input_type": "text",
        "type": "person",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2026-07-25T16:24:07+00:00",
    "added_by_id": 22,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a custom field value OR updates it if it already exists.

HTTP Request

GET /people/(person)/custominfodata/set

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

show (student)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)" \
-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)/custominfodata/student/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)',
 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)/custominfodata/student/(custominfodata)"), 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)/custominfodata/student/(custominfodata)');
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": "custom_info_data",
    "id": 12,
    "custom_info_field_id": 12,
    "academic_term_id": null,
    "value": "Mathematics",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 12,
        "name": "Favorite school subject",
        "input_type": "text_area",
        "type": "student",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, of the student type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/student/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (student)

Example code to call this method:

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

Example response:

{
    "object": "custom_info_data",
    "id": 31,
    "custom_info_field_id": 12,
    "academic_term_id": null,
    "value": "Spanish",
    "owner_id": 12,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 12,
        "name": "Favorite school subject",
        "input_type": "text_area",
        "type": "student",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-02-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, of the student type, tied to a specified Person object.

HTTP Request

POST /people/(person)/custominfodata/student

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (student)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "Mathematics"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => 'Mathematics'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': 'Mathematics'
 }
)
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)/custominfodata/student/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "Mathematics"
});
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)/custominfodata/student/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => 'Mathematics'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 12,
    "custom_info_field_id": 12,
    "academic_term_id": null,
    "value": "Mathematics",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 12,
        "name": "Favorite school subject",
        "input_type": "text_area",
        "type": "student",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, of the student type, tied to a specified Person object.

HTTP Request

PUT /people/(person)/custominfodata/student/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (student)

Example code to call this method:

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

Deletes an existing CustomInfoData object, of the student type, tied to a specified Person object.

HTTP Request

DELETE /people/(person)/custominfodata/student/(custominfodata)

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:

show (term student)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)" \
-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)/custominfodata/term/(academicterm)/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)',
 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)/custominfodata/term/(academicterm)/(custominfodata)"), 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)/custominfodata/term/(academicterm)/(custominfodata)');
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": "custom_info_data",
    "id": 17,
    "custom_info_field_id": 13,
    "academic_term_id": 8,
    "value": "Green",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 13,
        "name": "Favorite color",
        "input_type": "text_area",
        "type": "term_student",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2022-01-01T00:05:30+00:00",
    "updated_by_id": 2,
    "option_value": null,
    "sandbox": true
}

Retrieves a specific CustomInfoData object, of the term student type, tied to a specified Person object.

HTTP Request

GET /people/(person)/custominfodata/term/(academicterm)/(custominfodata)

Parameters

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

Expandable Properties

Permissions

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

create (term student)

Example code to call this method:

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

Example response:

{
    "object": "custom_info_data",
    "id": 32,
    "custom_info_field_id": 13,
    "academic_term_id": 8,
    "value": "Yellow",
    "owner_id": 12,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 13,
        "name": "Favorite color",
        "input_type": "text_area",
        "type": "term_student",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-02-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Creates a new CustomInfoData object, of the term student type, tied to a specified Person object.

HTTP Request

POST /people/(person)/custominfodata/term/(academicterm)

Parameters

Name Required Data Type Description
custom_info_field_id Yes int
value Yes text

Permissions

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

update (term student)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "value": "Blue"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :value => 'Blue'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'value': 'Blue'
 }
)
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)/custominfodata/term/(academicterm)/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  value = "Blue"
});
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)/custominfodata/term/(academicterm)/(custominfodata)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'value' => 'Blue'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "custom_info_data",
    "id": 17,
    "custom_info_field_id": 13,
    "academic_term_id": 8,
    "value": "Blue",
    "owner_id": 16,
    "import_id": null,
    "custom_info_field": {
        "object": "custom_info_field",
        "id": 13,
        "name": "Favorite color",
        "input_type": "text_area",
        "type": "term_student",
        "description": null,
        "value_permissions": "default"
    },
    "added_at": "2022-01-01T00:05:30+00:00",
    "added_by_id": 2,
    "updated_at": "2026-07-25T16:24:07+00:00",
    "updated_by_id": 22,
    "option_value": null,
    "sandbox": true
}

Updates an existing CustomInfoData object, of the term student type, tied to a specified Person object.

HTTP Request

PUT /people/(person)/custominfodata/term/(academicterm)/(custominfodata)

Parameters

Name Required Data Type Description
value Yes text

Permissions

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

delete (term student)

Example code to call this method:

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

Deletes an existing CustomInfoData object, of the term student type, tied to a specified Person object.

HTTP Request

DELETE /people/(person)/custominfodata/term/(academicterm)/(custominfodata)

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: