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.
1
Request for how many records to return.
50
Synonym 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:00Z
Indicates the current state in a student's life-cycle
Filter students by status level, need to provide status slug
paid
Filter students by enrollment year
2023
Filter students by parent IDs
1,2,3
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
GET /api/v3/students HTTP/1.1
Host: api.openapply.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
successful
{
"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": "2025-10-06",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"status_level": "text",
"status_changed_at": "2025-10-06T10:27:23.456Z",
"updated_at": "2025-10-06T10:27:23.456Z",
"latest_activity_date": "2025-10-06T10:27:23.456Z",
"nationality": "text",
"grade": "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": "2025-10-06T10:27:23.456Z",
"enrolled_at": "2025-10-06T10:27:23.456Z",
"inquired_date": "2025-10-06T10:27:23.456Z",
"inquired_at": "2025-10-06T10:27:23.456Z",
"applied_date": "2025-10-06T10:27:23.456Z",
"admitted_date": "2025-10-06T10:27:23.456Z",
"wait_listed_date": "2025-10-06T10:27:23.456Z",
"declined_date": "2025-10-06T10:27:23.456Z",
"enrolled_date": "2025-10-06T10:27:23.456Z",
"withdrawn_date": "2025-10-06T10:27:23.456Z",
"graduated_date": "2025-10-06T10:27:23.456Z",
"representative": "text",
"enrollment_date": "2025-10-06",
"source_campaign": "text",
"contact_date": "2025-10-06",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2025-10-06",
"ree_status_changed_at": "2025-10-06T10:27:23.456Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
],
"meta": {
"pages": 1,
"per_page": 1,
"count": 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 state of the application
The ISO 3166 country name
successful
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: 288
{
"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": "2025-10-06",
"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": "2025-10-06",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"status_level": "text",
"status_changed_at": "2025-10-06T10:27:23.456Z",
"updated_at": "2025-10-06T10:27:23.456Z",
"latest_activity_date": "2025-10-06T10:27:23.456Z",
"nationality": "text",
"grade": "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": "2025-10-06T10:27:23.456Z",
"enrolled_at": "2025-10-06T10:27:23.456Z",
"inquired_date": "2025-10-06T10:27:23.456Z",
"inquired_at": "2025-10-06T10:27:23.456Z",
"applied_date": "2025-10-06T10:27:23.456Z",
"admitted_date": "2025-10-06T10:27:23.456Z",
"wait_listed_date": "2025-10-06T10:27:23.456Z",
"declined_date": "2025-10-06T10:27:23.456Z",
"enrolled_date": "2025-10-06T10:27:23.456Z",
"withdrawn_date": "2025-10-06T10:27:23.456Z",
"graduated_date": "2025-10-06T10:27:23.456Z",
"representative": "text",
"enrollment_date": "2025-10-06",
"source_campaign": "text",
"contact_date": "2025-10-06",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2025-10-06",
"ree_status_changed_at": "2025-10-06T10:27:23.456Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
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
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": "2025-10-06",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"status_level": "text",
"status_changed_at": "2025-10-06T10:27:23.456Z",
"updated_at": "2025-10-06T10:27:23.456Z",
"latest_activity_date": "2025-10-06T10:27:23.456Z",
"nationality": "text",
"grade": "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": "2025-10-06T10:27:23.456Z",
"enrolled_at": "2025-10-06T10:27:23.456Z",
"inquired_date": "2025-10-06T10:27:23.456Z",
"inquired_at": "2025-10-06T10:27:23.456Z",
"applied_date": "2025-10-06T10:27:23.456Z",
"admitted_date": "2025-10-06T10:27:23.456Z",
"wait_listed_date": "2025-10-06T10:27:23.456Z",
"declined_date": "2025-10-06T10:27:23.456Z",
"enrolled_date": "2025-10-06T10:27:23.456Z",
"withdrawn_date": "2025-10-06T10:27:23.456Z",
"graduated_date": "2025-10-06T10:27:23.456Z",
"representative": "text",
"enrollment_date": "2025-10-06",
"source_campaign": "text",
"contact_date": "2025-10-06",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2025-10-06",
"ree_status_changed_at": "2025-10-06T10:27:23.456Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
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 state of the application
The ISO 3166 country name
successful
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: 288
{
"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": "2025-10-06",
"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": "2025-10-06",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"status_level": "text",
"status_changed_at": "2025-10-06T10:27:23.456Z",
"updated_at": "2025-10-06T10:27:23.456Z",
"latest_activity_date": "2025-10-06T10:27:23.456Z",
"nationality": "text",
"grade": "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": "2025-10-06T10:27:23.456Z",
"enrolled_at": "2025-10-06T10:27:23.456Z",
"inquired_date": "2025-10-06T10:27:23.456Z",
"inquired_at": "2025-10-06T10:27:23.456Z",
"applied_date": "2025-10-06T10:27:23.456Z",
"admitted_date": "2025-10-06T10:27:23.456Z",
"wait_listed_date": "2025-10-06T10:27:23.456Z",
"declined_date": "2025-10-06T10:27:23.456Z",
"enrolled_date": "2025-10-06T10:27:23.456Z",
"withdrawn_date": "2025-10-06T10:27:23.456Z",
"graduated_date": "2025-10-06T10:27:23.456Z",
"representative": "text",
"enrollment_date": "2025-10-06",
"source_campaign": "text",
"contact_date": "2025-10-06",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2025-10-06",
"ree_status_changed_at": "2025-10-06T10:27:23.456Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
Update a student's status and/or status level
Serial database ID used to refer to a unique student record in OpenApply
The new status for the student
The new status level for the student (must be valid for the given status)
successful
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: 39
{
"status": "text",
"status_level": "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": "2025-10-06",
"status": "pending",
"country": "text",
"other_name": "text",
"preferred_name": "text",
"name": "text",
"gender": "Male",
"status_level": "text",
"status_changed_at": "2025-10-06T10:27:23.456Z",
"updated_at": "2025-10-06T10:27:23.456Z",
"latest_activity_date": "2025-10-06T10:27:23.456Z",
"nationality": "text",
"grade": "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": "2025-10-06T10:27:23.456Z",
"enrolled_at": "2025-10-06T10:27:23.456Z",
"inquired_date": "2025-10-06T10:27:23.456Z",
"inquired_at": "2025-10-06T10:27:23.456Z",
"applied_date": "2025-10-06T10:27:23.456Z",
"admitted_date": "2025-10-06T10:27:23.456Z",
"wait_listed_date": "2025-10-06T10:27:23.456Z",
"declined_date": "2025-10-06T10:27:23.456Z",
"enrolled_date": "2025-10-06T10:27:23.456Z",
"withdrawn_date": "2025-10-06T10:27:23.456Z",
"graduated_date": "2025-10-06T10:27:23.456Z",
"representative": "text",
"enrollment_date": "2025-10-06",
"source_campaign": "text",
"contact_date": "2025-10-06",
"checklist_state": "text",
"passport_id": "text",
"enrollment_grade": "text",
"parent_ids": [
1
],
"sibling_ids": [
1
],
"student_flags": [
"text"
],
"reenrollments": [
{
"ree_year": "text",
"ree_grade": "text",
"ree_status": "text",
"ree_decision_date": "2025-10-06",
"ree_status_changed_at": "2025-10-06T10:27:23.456Z"
}
],
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
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": "2025-10-06",
"created_at": "2025-10-06T10:27:23.456Z",
"updated_at": "2025-10-06T10:27:23.456Z",
"status_level": {
"id": 1,
"name": "text",
"created_at": "2025-10-06T10:27:23.456Z",
"updated_at": "2025-10-06T10:27:23.456Z"
}
}
]
}
}
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.
1
Request for how many records to return.
50
Synonym 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": "2025-10-06",
"created_at": "2025-10-06"
},
"status_level": {
"id": 1,
"name": "text",
"updated_at": "2025-10-06",
"created_at": "2025-10-06"
}
},
"from": {
"status": {
"id": 1,
"name": "text",
"display_name": "text",
"updated_at": "2025-10-06",
"created_at": "2025-10-06"
},
"status_level": {
"id": 1,
"name": "text",
"updated_at": "2025-10-06",
"created_at": "2025-10-06"
}
}
}
],
"meta": {
"pages": 1,
"per_page": 1,
"total_entries": 1,
"total_pages": 1
}
}
Was this helpful?