Students

This page describes all the APIs relating to students.

Get All Students

get
/api/v3/students

Retrieves a list of all students. Results are paginated. Use the page and per_page query parameters to control pagination.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
pageinteger · min: 1Optional

The page number of results to return.

Default: 1
per_pageinteger · min: 1 · max: 200Optional

Request for how many records to return.

Default: 50
countintegerOptional

Synonym for per_page

since_idintegerOptional

Return results with an ID greater than the specified ID.

since_datestring · date_timeOptional

Return results updated since the specified date, in UTC timezone

Example: 2025-01-01T00:00:00Z
statusstring · enumOptional

Indicates the current state in a student's life-cycle

Possible values:
status_levelstringOptional

Filter students by status level, need to provide status slug

Example: paid
enrollment_yearstringOptional

Filter students by enrollment year

Example: 2023
parent_idsstringOptional

Filter students by parent IDs

Example: 1,2,3
fieldsstringOptional

Comma-separated list of fields to include in the response. Supports nested fields using parentheses

Example: id,name,custom_fields(parent_guardians(id,email))
link_fieldsstringOptional

Comma-separated list of fields to include in the response. Supports nested fields using parentheses

Example: id,email,custom_fields(language)
Responses
200

successful

application/json
get
/api/v3/students
200

successful

Create a student

post
/api/v3/students

Create a student. Returns the unique id in the body as well as attributes if successful.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
first_namestringRequired
last_namestringRequired
emailstringOptional
student_idstring | nullableOptional

Human-readable identifier commonly used for record reconciliation across platforms. Populated and maintained by the school.

addressstring | nullableOptional
address_iistring | nullableOptional
citystring | nullableOptional
statestring | nullableOptional
postal_codestring | nullableOptional
enrollment_yearinteger | nullableOptional
birth_datestring · date | nullableOptional
statusstring · enum | nullableOptional

The state of the application

Possible values:
countrystring | nullableOptional

The ISO 3166 country name

other_namestring | nullableOptional
preferred_namestring | nullableOptional
Responses
post
/api/v3/students

Get a Student

get
/api/v3/students/{id}

Fetch an instance of a student

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idintegerRequired

Serial database ID used to refer to a unique student record in OpenApply

Query parameters
fieldsstringOptional

Comma-separated list of fields to include in the response. Supports nested fields using parentheses

Example: id,name,custom_fields(parent_guardians(id,email))
Responses
200

successful

application/json
get
/api/v3/students/{id}

Update a student

patch
/api/v3/students/{id}

Updates a student

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idintegerRequired

Serial database ID used to refer to a unique student record in OpenApply

Query parameters
fieldsstringOptional

Comma-separated list of fields to include in the response. Supports nested fields using parentheses

Example: id,name,custom_fields(parent_guardians(id,email))
Body
first_namestringOptional
last_namestringOptional
emailstringOptional
student_idstring | nullableOptional

Human-readable identifier commonly used for record reconciliation across platforms. Populated and maintained by the school.

addressstring | nullableOptional
address_iistring | nullableOptional
citystring | nullableOptional
statestring | nullableOptional
postal_codestring | nullableOptional
enrollment_yearinteger | nullableOptional
birth_datestring · date | nullableOptional
statusstring · enum | nullableOptional

The state of the application

Possible values:
countrystring | nullableOptional

The ISO 3166 country name

other_namestring | nullableOptional
preferred_namestring | nullableOptional
Responses
200

successful

application/json
patch
/api/v3/students/{id}

Update Student Status

patch
/api/v3/students/{id}/status

Update a student's status and/or status level

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idintegerRequired

Serial database ID used to refer to a unique student record in OpenApply

Body
statusstringOptional

The new status for the student

status_levelstringOptional

The new status level for the student (must be valid for the given status)

Responses
200

successful

application/json
patch
/api/v3/students/{id}/status

Get Student Status History

get
/api/v3/students/{id}/status_history

Get the application status history for a specific student

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idintegerRequired

Serial database ID used to refer to a unique student record in OpenApply

Responses
200

successful

application/json
get
/api/v3/students/{id}/status_history

Get Student Status Events

get
/api/v3/students/status_events

Returns a paginated list of student status change events.

Filterable by status updated_at (since_date_to_status) and enrollment_year.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
since_date_to_statusstring · dateOptional

Filter on status.updated_at

enrollment_yearintegerOptional

Filter on enrollment_year

pageinteger · min: 1Optional

The page number of results to return.

Default: 1
per_pageinteger · min: 1 · max: 200Optional

Request for how many records to return.

Default: 50
countintegerOptional

Synonym for per_page

Responses
200

successful

application/json
get
/api/v3/students/status_events
200

successful

Last updated

Was this helpful?