The Integrations Team has released additional functionality for its Public API V3, including new endpoints and expanded datasets. Note that these improvements are only available in Version 3, as Version 1 has been deprecated.
Entity | Endpoint | Comment |
---|---|---|
Fees | Get all Fees | Renamed from "Get all Payments; identical functionality |
Fees | Create a fee for a student | New endpoint to create a payment associated to a student |
Fees | Update a fee for a student | New endpoint to update previously created fee |
Fees | Get all Fee Templates | New endpoint that supports custom fees |
Contacts | Update Contacts with expanded fields | Existing endpoint now supports all fields |
Contacts | Create Contacts with expanded fields | Existing endpoint now supports all fields |
Contacts | Get Contacts includes expanded fields | Existing endpoint now supports all fields |
Get all Fees
This endpoint, GET /v3/fees
, returns all fee records, including details about the associated student, invoice information, payment method, amount, and due dates.
Example record:
{
"id": 72030,
"student": {
"id": 123,
"custom_id": "ABC"
},
"invoice_status": "Late",
"type": "Application",
"invoice_number": 1005,
"amount": "0.0",
"issue_date": "2017-09-18",
"due_date": "2017-10-02",
"payment_method": null,
"payment_date": null
}
This endpoint supports polling using the since_date
query parameter to retrieve delta records, enabling efficient synchronization with external systems.
"Get all Payments" Renamed to "Get all Fees"
Due to functionality enhancement, our previous list endpoint "Get all Payments" is now renamed to "Get all Fees." They are the same endpoint, with the following exceptions:
Item | Payments | Fees |
---|---|---|
Path | /api/v3/payments/ |
/api/v3/fees |
Response root key | {"payments": []} |
{"fees": []} |
Response records | Identical | Identical |
The endpoint previously known as “Get all Payments” is still available, but is now deprecated It has been renamed to “Get all Fees” to reflect broader functionality. Aside from the path and root key change, the response records remain identical.
Create a fee for a student
Use POST /v3/students/{student_id}/fees
to create a fee. The custom_fee_id
must match an existing template retrieved from the "Get all Fee Templates" endpoint. The status field should use documented enum values.
Example payload:
{
"custom_fee_id": 4,
"status": 20,
"payment_date": "2025-02-05",
"payment_method": "credit_card",
"payment_reminder_sent_at": null,
"check_number": null,
"last4": "ABCD"
}
The value for custom_fee_id
will need to be obtained from the "Get all Fee Templates" endpoint.
Update a fee for a student
Use PATCH /v3/students/{student_id}/fees
to update an existing fee.
{
"fee": {
"id": 523,
"invoice_status": "Paid",
"type": "Application",
"invoice_number": 1472,
"amount": "49.0",
"issue_date": "2024-12-24",
"due_date": "2025-01-13",
"payment_method": "credit_card",
"payment_date": "2024-12-30"
}
}
Get all Fee Templates
Use GET /v3/fees/templates
to retrieve all custom fee templates. The id from each template can be used in the "Create a Fee for a Student" endpoint.
{
"templates": [{
"id": 423,
"name": "Application Fee",
"detail": "Includes ...",
"kind": "application",
"currency": "USA",
"amount": "500.0",
"name_translation": null,
"detail_translation": ""
}]
}