Problem: With OpenApply, schools can create an unlimited amount of custom fields that can be populated with valuable data. While OpenApply also supports extensive exporting features, in order to automate processes, how to use the API to help manage our data workflows?
Solution: This article shows how to find information in custom fields using the OpenApply API with v3 authentication. The students endpoint includes all the custom fields and their values, if they are present for that student. In addition, you can use a search endpoint to retrieve the students whose custom values match a string.
The Steps below uses V3, for more information on setting this up, please find more guidance about using APIs in this FAQ on ManageBac and OpenApply APIs.
These endpoints have a list of field names in the UI:
GET https://{{subdomain)).openapply.{{tld}}/api/{{version}}/parents/searchable_keys
GET https://{{subdomain}}.openapply.{{tld}}/api/{{version}}/students/searchable_keys
For example:
GET https://f1.openapply.com/api/v3/parents/searchable_keys
GET https://f1.openapply.cn/api/v3/students/searchable_keys
Each response includes an ID and various names:
“Label” is how the Field appears in the UI
“Name” is the Short Name assigned to the field (short name is assigned in the UI for custom fields and can be edited from the UI)
“Slug” is the key to search by in the API
“Wildcard” should be used as the searchable key for the API when doing a wildcard search * This is always in the format “slug_wildcard”
{ "id": 63, "label": "Last Name", "name": "Last Name", "slug": "last_name", "wildcard": "last_name_wildcard" }
Copy the slug for the custom field you want to search by into the parameters for the parent or student search request (as required).
GET https://{{subdomain}}.openapply.{{tld}}/api/{{version}}/parents/search?parent[last_name]=Birch
GET https://{{subdomain}}.openapply.{{tld}}/api/{{version}}/students/search?student[last_name]=Birch
For example:
GET https://f1.openapply.com/api/v3/parents/search?parent[last_name]=Birch
Searching with regular expressions
Perform a search by passing a regular expression, where you can specify an OR operation. Note that because it's expecting a regular expression, be sure to start with `/` and end with `/`:
For example:
GET https://f1.openapply.com/api/v3/students/search?student[enrollment_year_wildcard]=/2023|2024/