Stellic provides a RESTful interface that enables you to export data on demand. It offers secure endpoints for programmatic access to Stellic resources, complementing other integration methods to deliver near real-time data to your users.
There are few things to keep in mind when using the bulk export endpoints:
You must have superadmin permissions to access these endpoints.
All date/time fields use UTC timezone by default.
The bulk export process will vary depending on the volume of data requested
Small volumes of data may be exported via a single synchronous request.
Larger data exports must be performed via an asynchronous process that requires multiple steps.
Parameters and structure
The base URL for the export API is as follows:
https://{hostname}/exports/export_data/{data_type}?output_format={output_format}&delivery_channel={delivery_channel}
The URL has three main parameters:
data_type
[Required]This parameter defines what data type you wish to be exported
This is a URL parameter and is included in the path of the URL
See below for a list of the data types we currently support
output_format
[Required]This parameter defines how the exported data will be formatted
This is a query parameter. The only value supported at this time is: csv
delivery_channel
[Optional]This parameter controls whether data is exported via a synchronous or asynchronous flow. See the Synchronous and asynchronous bulk export flows section for more information
If this parameter is omitted, the endpoint will default to the synchronous flow
This is a query parameter and the currently supported values are:
http_file which requests the synchronous flow
s3 which requests the asynchronous flow
Sample API URL: https://{hostname}/exports/export_data/bulk_exceptions_detailed?output_format=csv&delivery_channel=s3
Note: if
delivery_channel
is not specified, a Stellic internal method will determine whether the export should run asynchronously instead of the synchronous default. For async exports, the requester will receive in-app notifications on progress, including scheduled, completed.
Synchronous and asynchronous bulk export flows
All bulk export endpoints support two modes of operation: synchronous and asynchronous. You can control which mode is used by setting the optional delivery_channel
query parameter.
The synchronous flow
When the delivery_channel
parameter is omitted or set to http_file, the endpoint uses the synchronous flow.
For synchronous exports, the process requires just a single API call, making it simpler but unsuitable for large data volumes. Attempting to export extensive datasets synchronously will result in request failures.
The asynchronous flow
When the delivery_channel parameter is set to s3, the endpoint uses the asynchronous flow.
In order to export larger volumes of data, you must use the asynchronous flow. The asynchronous flow requires several steps as follows:
1. Initiate the export
Navigate to your formatted url:
https://{hostname}/exports/export_data/{data_type}?output_format=csv&delivery_channel=s3
Example url:
https://{hostname}/exports/export_data/plan_courses?output_format=csv&delivery_channel=s3
This starts the export process, and should respond with data that looks like:
{
"success": true,
"data": {
"name": "Plan courses",
"bg_task": {
"name": "async_export",
"description": "Exports a report asynchronously",
"status": "not_started",
"start_time": null,
"end_time": null,
"task_id": "7df0a737-c2ca-4fba-847c-dba72085d071",
"created_time": "2025-04-08 18:20:33.229534+00:00"
},
"status": "not_started",
"file_name": "plan_courses-20250408_182033Z-9aQXvxxy.csv",
"requested_on": "2025-04-08 18:20:33.236624+00:00",
"file_expiry": "2025-04-11 18:20:33.236624+00:00"
}
}
Take note of the value under the data -> file_name key, in this case it is: plan_courses-20250408_182033Z-9aQXvxxy.csv
2. Check if the exported data is ready
Navigate to your formatted url:
https://{hostname}/exports/get_export_url/?file_name={file_name_from_step_1}
Using the response from the previous step, the url would be:
https://{hostname}/exports/get_export_url/?file_name=plan_courses-20250408_182033Z-9aQXvxxy.csv
You will see a response that looks like the following:
{
"success": true,
"status": "started",
"url": null
}
Reload the page until the response changes to something like the following:
{
"success": true,
"status": "completed",
"url": "https://stellicuni.s3.amazonaws.com/export/plan_courses-20250408_182033Z-9aQXvxxy.csv?AWSAccessKeyId={long_string}&Signature={another_long_string}&Expries=1744139034"
}
Take note of the value under the url key, in this case it is:
https://stellicuni.s3.amazonaws.com/export/plan_courses-20250408_182033Z-9aQXvxxy.csv?AWSAccessKeyId={long_string}&Signature={another_long_string}&Expries=174413903
3. Download the export data
Navigate to the URL from step 2 to download the report.
Data types and sample URLs
Data Type | Description and Sample URL |
| Exports basic details about all audits (name, status, scope, etc.)
Sample API URL: https://{hostname}/exports/export_data/audit_data?output_format=csv |
| Exports all the requirements of an audit along with the constraints on each requirement.
Sample API URL: https://{hostname}/exports/export_data/audit_requirements?output_format=csv&for_ext_ids=false |
| This endpoint provides a comprehensive export of all exceptions in the system, including those that have been canceled or denied.
Sample API URL: https://{hostname}/exports/export_data/bulk_exceptions_detailed?output_format=csv&school_shortname=IA&include_all=false |
| Exports data of all pathways.
Sample API URL: https://{hostname}/exports/export_data/bulk_pathways?output_format=csv&include_placeholders=true&include_extracurriculars=true |
| Exports membership details for a specified dynamic group This endpoint allows users to export all membership details for any dynamic group in the system. The export includes user information such as first name, last name, email, the dynamic group name, and program/department/school affiliation.
Parameters:
Sample API URL: https://{hostname}/exports/export_data/dynamic_group_entities?output_format=csv&dynamic_group={dynamic_group_name} |
| Exports all the requests of a specified workflow.
Sample API URL: https://{hostname}/exports/export_data/export_workflow_responses?output_format=csv&workflow_id=1 |
| Exports a list of students along with their audit applications' details, and whether the audit applied to a student's program matches the expected audit version; also identifies if an audit was manually applied to a student.
Sample API URL: https://{hostname}/exports/export_data/incorrect_audit_applications?output_format=csv |
| Exports course information for students based on the mode parameter selected in the query.
Sample API URL: https://{hostname}/exports/export_data/plan_courses?output_format=csv&mode=unmatched&course_filter=registered |
| Exports number of enrollments in courses by term.
Sample API URL: https://{hostname}/exports/export_data/plancourse_enrollment_by_term?output_format=csv&years=[2020,2021,2022,2023]&school_name=Divinity School |
| Exports all programs which do not have an audit.
Sample API URL: https://{hostname}/exports/export_data/programs_without_audits?output_format=csv |
| Exports details about the courses each student has pre-registered for in a specific semester and year.
Note: This export is specific to institutions who use Stellic for pre-registration course requesting processes.
Sample API URL: https://{hostname}/exports/export_data/registration_details?output_format=csv&semester=winter&year=2023×tamp=2023-01-17 01:53&all_students=True |
| Exports courses and requirements from course sections that are counting towards requirements.
Note: This operation is performed in the background and exported in csv format.
Sample API URL: For Exporting Data of a Single Term: https://{hostname}/exports/export_data/audit_coursesection_requirement_count?output_format=csv&usem_ids=2434 For Exporting Data of Multiple Terms: https://{hostname}/exports/export_data/audit_coursesection_requirement_count?output_format=csv&usem_ids=2434&usem_ids=3435 |
| Exports details about general requirements applied to students
Sample API URL: https://{hostname}/exports/export_data/student_geneds?output_format=csv |
| Exports all the notes with tag X along with information about the linked student and the note creator.
Sample API URL: https://{hostname}/exports/export_data/tagged_notes?output_format=csv&tag=2023FANeverAttended |
| Exports a list of all available user groups
Sample API URL: https://{hostname}/exports/export_data/user_groups?output_format=csv |