PendingCharge
The PendingCharge object
The PendingCharge object looks like this in JSON:
{
"object": "pending_charge",
"id": 7753,
"pending_charge_batch_id": null,
"academic_term_id": 130,
"person_id": 1038,
"status": "active",
"item_type": "fee",
"item_id": 9,
"amount": 1000,
"source": "automatic",
"source_type": null,
"source_id": null,
"description": null,
"added_because_description": null,
"added_at": "2020-06-08T20:14:45+00:00",
"added_by_id": null,
"sandbox": true
}
| Attribute | Required | Data Type |
|---|---|---|
| id | Yes | int |
| pending_charge_batch_id | No | int |
| academic_term_id | No | int |
| person_id | Yes | int |
| status | Yes | enum (active, replaced, deleted, invoiced) |
| item_type | Yes | enum (tuition, fee, room_plan, meal_plan, bookstore) |
| item_id | Yes | int |
| amount | Yes | decimal |
| source | Yes | enum (manual, automatic, edit) |
| source_type | No | enum (payment_plan_student) |
| source_id | No | int |
| description | No | text (1000) |
| added_because_description | No | text (1000) |
| added_at | No | datetime |
| added_by_id | No | int |
| sandbox | No | bool |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/pendingcharges" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"description","value":{"type":"CONTAINS","text":"blah"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/pendingcharges',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/pendingcharges',
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/pendingcharges"), 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/pendingcharges');
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": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "pending_charge",
"id": 8000,
"pending_charge_batch_id": null,
"academic_term_id": null,
"person_id": 16,
"status": "active",
"item_type": "fee",
"item_id": 9,
"amount": 1000,
"source": "automatic",
"source_type": null,
"source_id": null,
"description": null,
"added_because_description": null,
"added_at": "2020-06-08T20:14:45+00:00",
"added_by_id": null,
"report_data": {
"firstname": "Abby",
"lastname": "Admin",
"middlename": "",
"academic_term_name": null,
"dummyid": "20220xx001",
"added_by_name": null,
"item_name": "Parking Tickets!",
"row_id": 8000
}
}
],
"sandbox": true
}
Retrieves all PendingCharge objects that match given filter conditions.
HTTP Request
GET /pendingcharges
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
- batch
- courses
Filter Condition Parameters
These conditions can be used to narrow the results returned.
| Name | Type |
|---|---|
| student | object_id |
| student_campus | object id |
| tag | tag |
| academic_term | object_id |
| academic_term_type | academic_term_type |
| type | enum |
| charge | charge |
| description | text |
| amount | decimal |
| custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Aid
- Financial Auditor
- Financial Admin
- Student Billing
index (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/pendingcharges" \
-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)/pendingcharges',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/pendingcharges',
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)/pendingcharges"), 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)/pendingcharges');
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": "pending_charge",
"id": 8001,
"pending_charge_batch_id": null,
"academic_term_id": null,
"person_id": 12,
"status": "active",
"item_type": "fee",
"item_id": 9,
"amount": 1000,
"source": "automatic",
"source_type": null,
"source_id": null,
"description": null,
"added_because_description": null,
"added_at": "2020-06-08T20:14:45+00:00",
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all PendingCharge objects tied to a specific Person.
HTTP Request
GET /people/(person)/pendingcharges
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Aid
- Financial Auditor
- Financial Admin
- Student Billing
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/pendingcharges/(pendingcharge)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/pendingcharges/(pendingcharge)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/pendingcharges/(pendingcharge)',
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/pendingcharges/(pendingcharge)"), 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/pendingcharges/(pendingcharge)');
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": "pending_charge",
"id": 8001,
"pending_charge_batch_id": null,
"academic_term_id": null,
"person_id": 12,
"status": "active",
"item_type": "fee",
"item_id": 9,
"amount": 1000,
"source": "automatic",
"source_type": null,
"source_id": null,
"description": null,
"added_because_description": null,
"added_at": "2020-06-08T20:14:45+00:00",
"added_by_id": null,
"sandbox": true
}
Retrieves a specific PendingCharge object.
HTTP Request
GET /pendingcharges/(pendingcharge)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- batch
- courses
Permissions
One of the following roles is required to call this method:
- Financial Aid
- Financial Auditor
- Financial Admin
- Student Billing
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/pendingcharges" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"amount": 450.25,
"item_type": "fee",
"item_id": 9
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/pendingcharges',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:amount => 450.25,
:item_type => 'fee',
:item_id => 9
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/pendingcharges',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'amount': 450.25,
'item_type': 'fee',
'item_id': 9
}
)
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)/pendingcharges"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
amount = 450.25,
item_type = "fee",
item_id = 9
});
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)/pendingcharges');
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([
'amount' => 450.25,
'item_type' => 'fee',
'item_id' => 9
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "pending_charge",
"id": 8002,
"pending_charge_batch_id": null,
"academic_term_id": null,
"person_id": 12,
"status": "active",
"item_type": "fee",
"item_id": 9,
"amount": 450.25,
"source": "manual",
"source_type": null,
"source_id": null,
"description": null,
"added_because_description": null,
"added_at": "2026-07-25T16:24:06+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new PendingCharge object.
HTTP Request
POST /people/(person)/pendingcharges
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| amount | Yes | decimal | |
| item_type | Yes | enum (tuition, fee, room_plan, meal_plan, bookstore) | |
| item_id | Yes | int | |
| academic_term_id | No | int | |
| description | No | text (1000) |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing
invoice
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/pendingcharges/invoice" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"posted_date": "2023-12-30",
"due_date": "2024-02-05"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/pendingcharges/invoice',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/pendingcharges/invoice',
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)/pendingcharges/invoice"), Method.Post);
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)/pendingcharges/invoice');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "invoice",
"id": 101,
"actor_type": "person",
"actor_id": 12,
"number": 9,
"description": null,
"transaction_id": 103,
"amount": 1450.25,
"due_on": "2024-02-05",
"status": "paid",
"marked_uncollectible_on": null,
"posted_on": "2023-12-30",
"academic_term_id": null,
"items": [
{
"object": "invoice_item",
"id": 7,
"invoice_id": 101,
"item_type": "fee",
"item_id": 9,
"name": "Parking Tickets!",
"amount": 1000,
"description": null
},
{
"object": "invoice_item",
"id": 8,
"invoice_id": 101,
"item_type": "fee",
"item_id": 9,
"name": "Parking Tickets!",
"amount": 450.25,
"description": null
}
],
"sandbox": true
}
HTTP Request
POST /people/(person)/pendingcharges/invoice
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| academic_term_id | No | int | |
| posted_date | No | date | Default is today |
| due_date | No | date | |
| fee_id | No | int | |
| pending_charge_ids | No | array of PendingCharge ids |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing