NAV
shell ruby python csharp php

TransferCredit

The TransferCredit object

The TransferCredit object looks like this in JSON:

{
    "object": "transfer_credit",
    "id": 1,
    "person_id": 1,
    "transfer_institution_id": 1,
    "description": "Spanish 1",
    "credits": 2,
    "hours": null,
    "attendance_hours": null,
    "clinical_hours": null,
    "fulfills_program_requirements": true,
    "pass_affects_gpa": true,
    "fail_affects_gpa": true,
    "pass_fail_pass_affects_gpa": true,
    "pass_fail_fail_affects_gpa": true,
    "affects_standing": true,
    "course_number": "SPAN101",
    "course_name": "Spanish 1",
    "applied_date": null,
    "effective_date": null,
    "course_group_id": null,
    "catalog_course_id": 687,
    "status": "approved",
    "status_at": null,
    "status_by_id": null,
    "organization_id": 1,
    "organization_name": "The Oxford School",
    "added_at": null,
    "added_by_id": null,
    "updated_at": null,
    "updated_by_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
person_id Yes int
transfer_institution_id Yes int
description No text (5000)
credits No decimal
hours No decimal
attendance_hours No decimal
clinical_hours No decimal
fulfills_program_requirements Yes bool
pass_affects_gpa Yes bool
fail_affects_gpa Yes bool
pass_fail_pass_affects_gpa Yes bool
pass_fail_fail_affects_gpa Yes bool
affects_standing Yes bool
course_number Yes text (50)
course_name Yes text (255)
applied_date No date
effective_date No date
course_group_id No int
catalog_course_id No int
status Yes enum (approved, pending, rejected)
status_at No datetime
status_by_id No int
organization_id No int
organization_name No text
added_at No datetime
added_by_id No int
updated_at No datetime
updated_by_id No int
sandbox No bool

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/transfercredits" \
-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)/transfercredits',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/transfercredits',
 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)/transfercredits"), 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)/transfercredits');
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": "transfer_credit",
            "id": 7,
            "person_id": 12,
            "transfer_institution_id": 3,
            "description": "Spanish 7",
            "credits": 2.6,
            "hours": null,
            "attendance_hours": null,
            "clinical_hours": null,
            "fulfills_program_requirements": true,
            "pass_affects_gpa": true,
            "fail_affects_gpa": true,
            "pass_fail_pass_affects_gpa": true,
            "pass_fail_fail_affects_gpa": true,
            "affects_standing": true,
            "course_number": "SPAN306",
            "course_name": "Spanish 6",
            "applied_date": null,
            "effective_date": null,
            "course_group_id": null,
            "catalog_course_id": 687,
            "status": "approved",
            "status_at": null,
            "status_by_id": null,
            "organization_id": 1,
            "organization_name": "The Oxford School",
            "added_at": null,
            "added_by_id": null,
            "updated_at": null,
            "updated_by_id": null
        }
    ],
    "sandbox": true
}

Retrieves all TransferCredit objects tied to a specific Person.

HTTP Request

GET /people/(person)/transfercredits

Parameters

None

Expandable Properties

Permissions

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

index (transfercredit)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/transfercredits" \
-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/transfercredits',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/transfercredits',
 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/transfercredits"), 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/transfercredits');
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": 7,
    "results": 7,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "transfer_credit",
            "id": 7,
            "person_id": 12,
            "transfer_institution_id": 3,
            "description": "Spanish 7",
            "credits": 2.6,
            "hours": null,
            "attendance_hours": null,
            "clinical_hours": null,
            "fulfills_program_requirements": true,
            "pass_affects_gpa": true,
            "fail_affects_gpa": true,
            "pass_fail_pass_affects_gpa": true,
            "pass_fail_fail_affects_gpa": true,
            "affects_standing": true,
            "course_number": "SPAN306",
            "course_name": "Spanish 6",
            "applied_date": null,
            "effective_date": null,
            "course_group_id": null,
            "catalog_course_id": 687,
            "status": "approved",
            "status_at": null,
            "status_by_id": null,
            "person_display_name": "Taylor Forest",
            "organization_id": 1,
            "organization_name": "The Oxford School",
            "catalog_course_abbrv": "LAT100",
            "catalog_course_name": "Beginning Latin",
            "course_group_name": null,
            "program_id": 1,
            "program_name": "Undergraduate",
            "grade": "98.00",
            "graded_academic_term_id": 5,
            "pass_fail": 0,
            "retake": 0,
            "previously_has_been_taken": 0,
            "catalog_course_count_retakes_as_earned": 0,
            "student_status": "ENROLLED",
            "custom_student_status_abbrv": null,
            "added_at": null,
            "added_by_id": null,
            "updated_at": null,
            "updated_by_id": null
        }
    ],
    "sandbox": true
}

Retrieves all TransferCredit objects that match given filter conditions.

HTTP Request

GET /transfercredits

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.

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
added_at datetime
affects_standing bool
applied_to choice
catalog_course object_id
course_group object id
credits decimal
custom_field custom
fail_affects_gpa bool
fulfills_program_requirements bool
graded_academic_term object_id
has_active_student_role enum (yes, no)
hours decimal
institution object_id
pass_fail_fail_affects_gpa bool
pass_fail_pass_affects_gpa bool
pass_affects_gpa bool
program object id
status enum
status_updated datetime
student object_id
student_campus object id
tag tag
transfer_course_name text
transfer_course_number text
updated_at datetime

Permissions

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

create

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "course_number": "MATH 102",
    "course_name": "Algebra II",
    "credits": "3.00",
    "catalog_course_id": 778,
    "status": "pending"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :course_number => 'MATH 102',
  :course_name => 'Algebra II',
  :status => 'pending'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'course_number': 'MATH 102',
  'course_name': 'Algebra II',
  'status': 'pending'
 }
)
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)/transferinstitutions/(transferinstitution)/transfercredits"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  course_number = "MATH 102",
  course_name = "Algebra II",
  status = "pending"
});
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)/transferinstitutions/(transferinstitution)/transfercredits');
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([
  'course_number' => 'MATH 102',
  'course_name' => 'Algebra II',
  'status' => 'pending'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "transfer_credit",
    "id": 8,
    "person_id": 12,
    "transfer_institution_id": 3,
    "description": null,
    "credits": 3,
    "hours": null,
    "attendance_hours": null,
    "clinical_hours": null,
    "fulfills_program_requirements": true,
    "pass_affects_gpa": true,
    "fail_affects_gpa": true,
    "pass_fail_pass_affects_gpa": false,
    "pass_fail_fail_affects_gpa": true,
    "affects_standing": true,
    "course_number": "MATH 102",
    "course_name": "Algebra II",
    "applied_date": null,
    "effective_date": null,
    "course_group_id": null,
    "catalog_course_id": 778,
    "status": "pending",
    "status_at": null,
    "status_by_id": null,
    "added_at": "2026-07-25T16:24:10+00:00",
    "added_by_id": 22,
    "updated_at": "2026-07-25T16:24:10+00:00",
    "updated_by_id": 22,
    "sandbox": true
}

Creates a new TransferCredit object.

HTTP Request

POST /people/(person)/transferinstitutions/(transferinstitution)/transfercredits

Parameters

Name Required Data Type Description
course_number Yes text (50)
course_name Yes text (255)
credits No decimal
hours No decimal
clinical_hours No decimal
attendance_hours No decimal
fulfills_program_requirements No bool Default is true
pass_affects_gpa No bool Default is true
fail_affects_gpa No bool Default is true
pass_fail_pass_affects_gpa No bool Default is false
pass_fail_fail_affects_gpa No bool Default is true
affects_standing No bool Default is true
catalog_course_id No int
course_group_id No int
effective_date No date
status Yes enum (approved, pending, rejected)
description No text (5000)

Action Parameters

Name Data Type Description
applies_to_all_programs bool Default is true

Permissions

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

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)" \
-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)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)',
 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)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)"), 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)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)');
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": "transfer_credit",
    "id": 7,
    "person_id": 12,
    "transfer_institution_id": 3,
    "description": "Spanish 7",
    "credits": 2.6,
    "hours": null,
    "attendance_hours": null,
    "clinical_hours": null,
    "fulfills_program_requirements": true,
    "pass_affects_gpa": true,
    "fail_affects_gpa": true,
    "pass_fail_pass_affects_gpa": true,
    "pass_fail_fail_affects_gpa": true,
    "affects_standing": true,
    "course_number": "SPAN306",
    "course_name": "Spanish 6",
    "applied_date": null,
    "effective_date": null,
    "course_group_id": null,
    "catalog_course_id": 687,
    "status": "approved",
    "status_at": null,
    "status_by_id": null,
    "added_at": null,
    "added_by_id": null,
    "updated_at": null,
    "updated_by_id": null,
    "sandbox": true
}

Retrieves a specific TransferCredit object.

HTTP Request

GET /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)

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:

update

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "course_group_id": 1
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)',
 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)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "transfer_credit",
    "id": 8,
    "person_id": 12,
    "transfer_institution_id": 3,
    "description": null,
    "credits": 3,
    "hours": null,
    "attendance_hours": null,
    "clinical_hours": null,
    "fulfills_program_requirements": true,
    "pass_affects_gpa": true,
    "fail_affects_gpa": true,
    "pass_fail_pass_affects_gpa": false,
    "pass_fail_fail_affects_gpa": true,
    "affects_standing": true,
    "course_number": "MATH 102",
    "course_name": "Algebra II",
    "applied_date": null,
    "effective_date": null,
    "course_group_id": 1,
    "catalog_course_id": null,
    "status": "pending",
    "status_at": null,
    "status_by_id": null,
    "added_at": "2026-07-25T16:24:10+00:00",
    "added_by_id": 22,
    "updated_at": "2026-07-25T16:24:10+00:00",
    "updated_by_id": 22,
    "sandbox": true
}

Updates an existing TransferCredit object.

HTTP Request

PUT /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)

Parameters

Name Required Data Type Description
course_number No text (50)
course_name No text (255)
credits No decimal
hours No decimal
clinical_hours No decimal
attendance_hours No decimal
fulfills_program_requirements No bool
pass_affects_gpa No bool
fail_affects_gpa No bool
pass_fail_pass_affects_gpa No bool
pass_fail_fail_affects_gpa No bool
affects_standing No bool
catalog_course_id No int
course_group_id No int
effective_date No date
status No enum (approved, pending, rejected)
description No text (5000)

Permissions

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

delete

Example code to call this method:

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

Deletes an existing TransferCredit object.

HTTP Request

DELETE /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)

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: