Students
This page describes all the APIs relating to students.
Retrieves a list of all students. Results are paginated. Use the page and per_page query parameters to control pagination.
The page number of results to return.
1Request for how many records to return.
50Synonym for per_page
Return results with an ID greater than the specified ID.
Return results updated since the specified date, in UTC timezone
2025-01-01T00:00:00ZIndicates the current state in a student's life-cycle
Filter students by status level, need to provide status slug
paidFilter students by enrollment year
2023Filter students by parent IDs
1,2,3Filter students by archived status. True returns only archived students, false returns only non-archived students. Omitting this parameter returns both.
trueFilter students by the Application form(s) they are currently attached to. Accepts a single form id or a comma-separated list (OR-combined); when the parameter is sent, any blank, non-numeric or empty-slot value is rejected with a 400 rather than ignored. For schools with one Application form per academic year this reproduces the admin Import/Export population; discover form ids via GET /api/v3/forms (applicable_academic_years maps years to form ids only for per-year form versions; for standalone multi-year forms use GET /api/v3/students/applied).
12,34Comma-separated list of fields to include in the response. Supports nested fields using parentheses
id,name,custom_fields(parent_guardians(id,email))Comma-separated list of fields to include in the response. Supports nested fields using parentheses
id,email,custom_fields(language)successful
blank or malformed application_form_id
GET /api/v3/students HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 1,
"first_name": "text",
"last_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"grade": "text",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"custom_status_name": "text",
"status_level": "text",
"status_changed_at": "2026-01-01T00:00:00.000Z",
"status_level_changed_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"latest_activity_date": "2026-01-01T00:00:00.000Z",
"nationality": "text",
"serial_number": 1,
"agent_id": 1,
"managebac_student_id": 1,
"mb_id": "text",
"campus_id": 1,
"campus": "text",
"custom_id": "text",
"applicant_id": "text",
"tags": [
"text"
],
"applied_at": "2026-01-01T00:00:00.000Z",
"enrolled_at": "2026-01-01T00:00:00.000Z",
"inquired_date": "2026-01-01T00:00:00.000Z",
"inquired_at": "2026-01-01T00:00:00.000Z",
"applied_date": "2026-01-01T00:00:00.000Z",
"admitted_date": "2026-01-01T00:00:00.000Z",
"wait_listed_date": "2026-01-01T00:00:00.000Z",
"declined_date": "2026-01-01T00:00:00.000Z",
"enrolled_date": "2026-01-01T00:00:00.000Z",
"withdrawn_date": "2026-01-01T00:00:00.000Z",
"graduated_date": "2026-01-01T00:00:00.000Z",
"representative": "text",
"enrollment_date": "2026-01-01",
"source_campaign": "text",
"contact_date": "2026-01-01",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"sis_ids": [
{
"name": "text",
"value": "text"
}
],
"application_form": {
"id": 1,
"academic_year": 1
},
"application_history": [
{
"academic_year": 1,
"applied_date": "2026-01-01"
}
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2026-01-01",
"ree_status_changed_at": "2026-01-01T00:00:00.000Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"archived": true,
"archived_on": "2026-01-01",
"has_invalid_status_history": true
}
],
"linked": {
"parents": [
{
"id": 1,
"first_name": "text",
"last_name": "text",
"other_name": "text",
"preferred_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"passport_id": "text",
"gender": "Male",
"country": "text",
"serial_number": 1,
"custom_id": "text",
"name": "text",
"parent_id": "text",
"prefix": "text",
"phone": "text",
"mobile_phone": "text",
"parent_role": "text",
"full_address": "text",
"managebac_parent_id": "text",
"mb_id": "text",
"profile_photo": "text",
"profile_photo_updated_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"child_ids": [
1
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
]
},
"meta": {
"page": 1,
"pages": 1,
"per_page": 1
}
}Create a student. Returns the unique id in the body as well as attributes if successful.
Human-readable identifier commonly used for record reconciliation across platforms. Populated and maintained by the school.
The grade label (e.g. 'Grade 9', 'K'). Must match a valid grade configured for the school.
The state of the application
The ISO 3166 country name
successful
Serial database ID that uniquely identifies the student record
Human-readable identifier commonly used for record reconciliation across platforms. Populated and maintained by the school.
The grade
The state of the application
The ISO 3166 country name
The school-specific display name for the current status
A more specific classification under the parent status, used to indicate the detailed sub-status of the student.
When the current status_level was last assigned or changed. null when the student has no status level.
The ID of the agent this student is associated to
Synonym for mb_id
Internal reference ID maintained by Faria SyncHub for integration with ManageBac
The name of the campus this student is associated to
Synonym for student_id
Array of parent ID of parents associated with this student.
Whether the student is archived (typically Graduated or Withdrawn)
The date when the student was archived
Whether the student's application status history is internally inconsistent
unprocessable entity
POST /api/v3/students HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 303
{
"first_name": "text",
"last_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"grade": "text",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text"
}{
"id": 1,
"first_name": "text",
"last_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"grade": "text",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"custom_status_name": "text",
"status_level": "text",
"status_changed_at": "2026-01-01T00:00:00.000Z",
"status_level_changed_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"latest_activity_date": "2026-01-01T00:00:00.000Z",
"nationality": "text",
"serial_number": 1,
"agent_id": 1,
"managebac_student_id": 1,
"mb_id": "text",
"campus_id": 1,
"campus": "text",
"custom_id": "text",
"applicant_id": "text",
"tags": [
"text"
],
"applied_at": "2026-01-01T00:00:00.000Z",
"enrolled_at": "2026-01-01T00:00:00.000Z",
"inquired_date": "2026-01-01T00:00:00.000Z",
"inquired_at": "2026-01-01T00:00:00.000Z",
"applied_date": "2026-01-01T00:00:00.000Z",
"admitted_date": "2026-01-01T00:00:00.000Z",
"wait_listed_date": "2026-01-01T00:00:00.000Z",
"declined_date": "2026-01-01T00:00:00.000Z",
"enrolled_date": "2026-01-01T00:00:00.000Z",
"withdrawn_date": "2026-01-01T00:00:00.000Z",
"graduated_date": "2026-01-01T00:00:00.000Z",
"representative": "text",
"enrollment_date": "2026-01-01",
"source_campaign": "text",
"contact_date": "2026-01-01",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"sis_ids": [
{
"name": "text",
"value": "text"
}
],
"application_form": {
"id": 1,
"academic_year": 1
},
"application_history": [
{
"academic_year": 1,
"applied_date": "2026-01-01"
}
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2026-01-01",
"ree_status_changed_at": "2026-01-01T00:00:00.000Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"archived": true,
"archived_on": "2026-01-01",
"has_invalid_status_history": true
}Lists students who applied for the given academic year, keyed on their Applied status events rather than the live enrollment_year tag or the current application-form attachment. This is stable across form setups and re-applies, so per-year application counts reconcile with the Conversion Funnel's application stage. Use match=first to keep only students whose first-ever application was for that year. The response shape matches GET /api/v3/students, and each student carries their year-by-year application_history.
The academic year the student applied for (4-digit start year).
2026any (default) matches students with an Applied event for the year; first narrows to students whose earliest application was for that year.
anyPossible values: The page number of results to return.
1Request for how many records to return.
50Synonym for per_page
Comma-separated list of fields to include in the response. Supports nested fields using parentheses
id,name,custom_fields(parent_guardians(id,email))Comma-separated list of fields to include in the response. Supports nested fields using parentheses
id,email,custom_fields(language)successful
missing or malformed academic_year
GET /api/v3/students/applied?academic_year=2026 HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 1,
"first_name": "text",
"last_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"grade": "text",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"custom_status_name": "text",
"status_level": "text",
"status_changed_at": "2026-01-01T00:00:00.000Z",
"status_level_changed_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"latest_activity_date": "2026-01-01T00:00:00.000Z",
"nationality": "text",
"serial_number": 1,
"agent_id": 1,
"managebac_student_id": 1,
"mb_id": "text",
"campus_id": 1,
"campus": "text",
"custom_id": "text",
"applicant_id": "text",
"tags": [
"text"
],
"applied_at": "2026-01-01T00:00:00.000Z",
"enrolled_at": "2026-01-01T00:00:00.000Z",
"inquired_date": "2026-01-01T00:00:00.000Z",
"inquired_at": "2026-01-01T00:00:00.000Z",
"applied_date": "2026-01-01T00:00:00.000Z",
"admitted_date": "2026-01-01T00:00:00.000Z",
"wait_listed_date": "2026-01-01T00:00:00.000Z",
"declined_date": "2026-01-01T00:00:00.000Z",
"enrolled_date": "2026-01-01T00:00:00.000Z",
"withdrawn_date": "2026-01-01T00:00:00.000Z",
"graduated_date": "2026-01-01T00:00:00.000Z",
"representative": "text",
"enrollment_date": "2026-01-01",
"source_campaign": "text",
"contact_date": "2026-01-01",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"sis_ids": [
{
"name": "text",
"value": "text"
}
],
"application_form": {
"id": 1,
"academic_year": 1
},
"application_history": [
{
"academic_year": 1,
"applied_date": "2026-01-01"
}
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2026-01-01",
"ree_status_changed_at": "2026-01-01T00:00:00.000Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"archived": true,
"archived_on": "2026-01-01",
"has_invalid_status_history": true
}
],
"linked": {
"parents": [
{
"id": 1,
"first_name": "text",
"last_name": "text",
"other_name": "text",
"preferred_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"passport_id": "text",
"gender": "Male",
"country": "text",
"serial_number": 1,
"custom_id": "text",
"name": "text",
"parent_id": "text",
"prefix": "text",
"phone": "text",
"mobile_phone": "text",
"parent_role": "text",
"full_address": "text",
"managebac_parent_id": "text",
"mb_id": "text",
"profile_photo": "text",
"profile_photo_updated_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"child_ids": [
1
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
]
},
"meta": {
"page": 1,
"pages": 1,
"per_page": 1
}
}Fetch an instance of a student
Serial database ID used to refer to a unique student record in OpenApply
Comma-separated list of fields to include in the response. Supports nested fields using parentheses
id,name,custom_fields(parent_guardians(id,email))successful
Serial database ID that uniquely identifies the student record
Human-readable identifier commonly used for record reconciliation across platforms. Populated and maintained by the school.
The grade
The state of the application
The ISO 3166 country name
The school-specific display name for the current status
A more specific classification under the parent status, used to indicate the detailed sub-status of the student.
When the current status_level was last assigned or changed. null when the student has no status level.
The ID of the agent this student is associated to
Synonym for mb_id
Internal reference ID maintained by Faria SyncHub for integration with ManageBac
The name of the campus this student is associated to
Synonym for student_id
Array of parent ID of parents associated with this student.
Whether the student is archived (typically Graduated or Withdrawn)
The date when the student was archived
Whether the student's application status history is internally inconsistent
student not found
GET /api/v3/students/{id} HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": 1,
"first_name": "text",
"last_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"grade": "text",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"custom_status_name": "text",
"status_level": "text",
"status_changed_at": "2026-01-01T00:00:00.000Z",
"status_level_changed_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"latest_activity_date": "2026-01-01T00:00:00.000Z",
"nationality": "text",
"serial_number": 1,
"agent_id": 1,
"managebac_student_id": 1,
"mb_id": "text",
"campus_id": 1,
"campus": "text",
"custom_id": "text",
"applicant_id": "text",
"tags": [
"text"
],
"applied_at": "2026-01-01T00:00:00.000Z",
"enrolled_at": "2026-01-01T00:00:00.000Z",
"inquired_date": "2026-01-01T00:00:00.000Z",
"inquired_at": "2026-01-01T00:00:00.000Z",
"applied_date": "2026-01-01T00:00:00.000Z",
"admitted_date": "2026-01-01T00:00:00.000Z",
"wait_listed_date": "2026-01-01T00:00:00.000Z",
"declined_date": "2026-01-01T00:00:00.000Z",
"enrolled_date": "2026-01-01T00:00:00.000Z",
"withdrawn_date": "2026-01-01T00:00:00.000Z",
"graduated_date": "2026-01-01T00:00:00.000Z",
"representative": "text",
"enrollment_date": "2026-01-01",
"source_campaign": "text",
"contact_date": "2026-01-01",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"sis_ids": [
{
"name": "text",
"value": "text"
}
],
"application_form": {
"id": 1,
"academic_year": 1
},
"application_history": [
{
"academic_year": 1,
"applied_date": "2026-01-01"
}
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2026-01-01",
"ree_status_changed_at": "2026-01-01T00:00:00.000Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"archived": true,
"archived_on": "2026-01-01",
"has_invalid_status_history": true
}Updates a student
Serial database ID used to refer to a unique student record in OpenApply
Comma-separated list of fields to include in the response. Supports nested fields using parentheses
id,name,custom_fields(parent_guardians(id,email))Human-readable identifier commonly used for record reconciliation across platforms. Populated and maintained by the school.
The grade label (e.g. 'Grade 9', 'K'). Must match a valid grade configured for the school.
The state of the application
The date when the status change became effective (YYYY-MM-DD format only). Only used when status is being changed. If omitted, defaults to the later of today's date or the latest status history's effective date, in the school's configured timezone.
2025-09-01Pattern: ^\d{4}-\d{2}-\d{2}$The ISO 3166 country name
successful
Serial database ID that uniquely identifies the student record
Human-readable identifier commonly used for record reconciliation across platforms. Populated and maintained by the school.
The grade
The state of the application
The ISO 3166 country name
The school-specific display name for the current status
A more specific classification under the parent status, used to indicate the detailed sub-status of the student.
When the current status_level was last assigned or changed. null when the student has no status level.
The ID of the agent this student is associated to
Synonym for mb_id
Internal reference ID maintained by Faria SyncHub for integration with ManageBac
The name of the campus this student is associated to
Synonym for student_id
Array of parent ID of parents associated with this student.
Whether the student is archived (typically Graduated or Withdrawn)
The date when the student was archived
Whether the student's application status history is internally inconsistent
student not found
unprocessable entity
PATCH /api/v3/students/{id} HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 331
{
"first_name": "text",
"last_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"grade": "text",
"status": "pending",
"effective_on": "2025-09-01",
"country": "text",
"other_name": "text",
"preferred_name": "text"
}{
"id": 1,
"first_name": "text",
"last_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"grade": "text",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"custom_status_name": "text",
"status_level": "text",
"status_changed_at": "2026-01-01T00:00:00.000Z",
"status_level_changed_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"latest_activity_date": "2026-01-01T00:00:00.000Z",
"nationality": "text",
"serial_number": 1,
"agent_id": 1,
"managebac_student_id": 1,
"mb_id": "text",
"campus_id": 1,
"campus": "text",
"custom_id": "text",
"applicant_id": "text",
"tags": [
"text"
],
"applied_at": "2026-01-01T00:00:00.000Z",
"enrolled_at": "2026-01-01T00:00:00.000Z",
"inquired_date": "2026-01-01T00:00:00.000Z",
"inquired_at": "2026-01-01T00:00:00.000Z",
"applied_date": "2026-01-01T00:00:00.000Z",
"admitted_date": "2026-01-01T00:00:00.000Z",
"wait_listed_date": "2026-01-01T00:00:00.000Z",
"declined_date": "2026-01-01T00:00:00.000Z",
"enrolled_date": "2026-01-01T00:00:00.000Z",
"withdrawn_date": "2026-01-01T00:00:00.000Z",
"graduated_date": "2026-01-01T00:00:00.000Z",
"representative": "text",
"enrollment_date": "2026-01-01",
"source_campaign": "text",
"contact_date": "2026-01-01",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"sis_ids": [
{
"name": "text",
"value": "text"
}
],
"application_form": {
"id": 1,
"academic_year": 1
},
"application_history": [
{
"academic_year": 1,
"applied_date": "2026-01-01"
}
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2026-01-01",
"ree_status_changed_at": "2026-01-01T00:00:00.000Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"archived": true,
"archived_on": "2026-01-01",
"has_invalid_status_history": true
}Update a student's status and/or status level
Serial database ID used to refer to a unique student record in OpenApply
successful
Serial database ID that uniquely identifies the student record
Human-readable identifier commonly used for record reconciliation across platforms. Populated and maintained by the school.
The grade
The state of the application
The ISO 3166 country name
The school-specific display name for the current status
A more specific classification under the parent status, used to indicate the detailed sub-status of the student.
When the current status_level was last assigned or changed. null when the student has no status level.
The ID of the agent this student is associated to
Synonym for mb_id
Internal reference ID maintained by Faria SyncHub for integration with ManageBac
The name of the campus this student is associated to
Synonym for student_id
Array of parent ID of parents associated with this student.
Whether the student is archived (typically Graduated or Withdrawn)
The date when the student was archived
Whether the student's application status history is internally inconsistent
student not found
unprocessable entity
PATCH /api/v3/students/{id}/status HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 79
{
"student": {
"status": "text",
"status_level": "text",
"effective_on": "2025-09-01"
}
}{
"id": 1,
"first_name": "text",
"last_name": "text",
"email": "text",
"student_id": "text",
"address": "text",
"address_ii": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"enrollment_year": 1,
"birth_date": "2026-01-01",
"grade": "text",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"custom_status_name": "text",
"status_level": "text",
"status_changed_at": "2026-01-01T00:00:00.000Z",
"status_level_changed_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"latest_activity_date": "2026-01-01T00:00:00.000Z",
"nationality": "text",
"serial_number": 1,
"agent_id": 1,
"managebac_student_id": 1,
"mb_id": "text",
"campus_id": 1,
"campus": "text",
"custom_id": "text",
"applicant_id": "text",
"tags": [
"text"
],
"applied_at": "2026-01-01T00:00:00.000Z",
"enrolled_at": "2026-01-01T00:00:00.000Z",
"inquired_date": "2026-01-01T00:00:00.000Z",
"inquired_at": "2026-01-01T00:00:00.000Z",
"applied_date": "2026-01-01T00:00:00.000Z",
"admitted_date": "2026-01-01T00:00:00.000Z",
"wait_listed_date": "2026-01-01T00:00:00.000Z",
"declined_date": "2026-01-01T00:00:00.000Z",
"enrolled_date": "2026-01-01T00:00:00.000Z",
"withdrawn_date": "2026-01-01T00:00:00.000Z",
"graduated_date": "2026-01-01T00:00:00.000Z",
"representative": "text",
"enrollment_date": "2026-01-01",
"source_campaign": "text",
"contact_date": "2026-01-01",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"sis_ids": [
{
"name": "text",
"value": "text"
}
],
"application_form": {
"id": 1,
"academic_year": 1
},
"application_history": [
{
"academic_year": 1,
"applied_date": "2026-01-01"
}
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2026-01-01",
"ree_status_changed_at": "2026-01-01T00:00:00.000Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"archived": true,
"archived_on": "2026-01-01",
"has_invalid_status_history": true
}Get the application status history for a specific student
Serial database ID used to refer to a unique student record in OpenApply
successful
student not found
GET /api/v3/students/{id}/status_history HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"student": {
"id": 1,
"serial_number": "text",
"custom_id": "text",
"applicant_id": "text",
"application_history": [
{
"status": {
"id": 1,
"name": "text",
"custom_name": "text",
"code": "text"
},
"enrollment_year": "text",
"effective_on": "2026-01-01",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"status_level": {
"id": 1,
"name": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
}
]
}
}Returns a paginated list of student status change events.
Filterable by status updated_at (since_date_to_status) and enrollment_year.
Filter on status.updated_at
Filter on enrollment_year
The page number of results to return.
1Request for how many records to return.
50Synonym for per_page
successful
GET /api/v3/students/status_events HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
successful
{
"students": [
{
"student": {
"id": 1,
"custom_id": "text",
"enrollment_year": 1
},
"to": {
"status": {
"id": 1,
"name": "text",
"display_name": "text",
"updated_at": "2026-01-01",
"created_at": "2026-01-01"
},
"status_level": {
"id": 1,
"name": "text",
"updated_at": "2026-01-01",
"created_at": "2026-01-01"
}
},
"from": {
"status": {
"id": 1,
"name": "text",
"display_name": "text",
"updated_at": "2026-01-01",
"created_at": "2026-01-01"
},
"status_level": {
"id": 1,
"name": "text",
"updated_at": "2026-01-01",
"created_at": "2026-01-01"
}
}
}
],
"meta": {
"pages": 1,
"per_page": 1,
"total_entries": 1,
"total_pages": 1
}
}Updates student custom fields by field ID.
Student ID
successful
student not found
unprocessable entity
PATCH /api/v3/students/{id}/custom_fields HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 56
{
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}{
"student": {
"id": 1,
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}
}Delete a grouped custom-field record from a student.
Student ID
Group field ID
Grouped record ID
deleted
minimum group size violation
DELETE /api/v3/students/{id}/custom_fields/{field_id}/records/{record_id} HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"message": "Record deleted"
}Last updated