roster.export
Export the roster as a spreadsheet
- Request
- GET
/api/v1/organizations/{organizationSlug}/roster/export - Scope required
organizations:read- Effect
- Reads only. Safe to retry and safe for an agent to call unprompted.
- Acts on
- Acts on an organization, and names it in the path.
- MCP tool
roster_export- Environment
- Live and sandbox alike.
- Request body
- JSON.
- Downloads
- Also answers text/csv as a file. Ask for one or the other with the format parameter, or with an Accept header. An MCP tool call always receives the JSON shape.
What it does
Builds the roster as a CSV file. Over REST it arrives as a download; ask for `?format=json` and the same file comes back inside the JSON response instead, which is how a tool call receives it. Narrow it to one cohort with `cohortId=coh_…`, or to the applicants in none with `cohortId=none`. Owners and admins only, and the seat lock applies. Taking a copy of every applicant's progress is recorded in the organization's audit log as `roster_exported`, naming you and the number of applicants covered — read `roster.list` instead when you only need the figures.
Parameters
| Name | Sent in | Requirement | Accepts |
|---|---|---|---|
| organizationSlug | path | Required | string |
| cohortId | query | Optional | string |
| format | query | Optional | one of: json, csv |
Response
- applicantCount
- integer, required
- content
- string, required
- contentType
- string, required
- fileName
- string, required
Examples
Take the whole roster away as a spreadsheet
curl -s https://www.jobapplicationtracking.com/api/v1/organizations/northside-career-center/roster/export \
-H "Authorization: Bearer $JAT_KEY"{
"fileName": "northside-career-center-roster-2026-02-11.csv",
"contentType": "text/csv; charset=utf-8",
"applicantCount": 18,
"content": "Applicant,Email,Cohorts\nSam Okafor,student@northside.example,Spring 2026 intake\n"
}