Skip to main content

roster.list

Read the roster of an organization

Request
GET/api/v1/organizations/{organizationSlug}/roster
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_list
Environment
Live and sandbox alike.
Request body
JSON.

What it does

One line per applicant member: the cohorts they are in, the boards they have shared, how their applications are spread across the funnel, how many interviews are coming up, and why each one might need a word. An applicant who has shared nothing still gets a line, carrying zeroes and a `no_share` reason — they are exactly the person a coach needs to notice. Narrow to one cohort with `cohortId=coh_…`, or to the applicants in none with `cohortId=none`. Staff only, and an organization over its seat limit is refused with 403 until an owner adds seats or removes applicants. The same rows as a spreadsheet are `roster.export`.

Parameters

Parameters this endpoint accepts, where each one goes, and whether it is required
NameSent inRequirementAccepts
organizationSlugpathRequiredstring
cohortIdqueryOptionalstring
limitqueryOptionalinteger
cursorqueryOptionalstring

Response

data
array of object, required
applicantDisplayName
string or null, required
applicantEmail
string, required
cohorts
array of object, required
departureReason
one of: completed, placed, withdrew, removed or null, required
id
string, required
joinedAt
string, required
leftAt
string or null, required
name
string, required
joinedAt
string, required
lastActivityAt
string or null, required
needsAttention
array of one of: no_share, no_activity_14_days, no_applications_7_days, interview_without_feedback, required
shares
array of object, required
applicationCount
integer, required
boardId
string, required
boardName
string, required
isActive
boolean, required
lastActivityAt
string or null, required
shareId
string, required
totals
object, required
accepted
integer, required
applications
integer, required
applied
integer, required
interviewing
integer, required
offers
integer, required
rejected
integer, required
upcomingInterviews
integer, required
hasMore
boolean, required
nextCursor
string or null, required

Examples

The spring intake, newest member first

The spring intake, newest member first — request
curl -s https://www.jobapplicationtracking.com/api/v1/organizations/northside-career-center/roster?cohortId=coh_12 \
  -H "Authorization: Bearer $JAT_KEY"
The spring intake, newest member first — response
{
  "data": [
    {
      "applicantEmail": "student@northside.example",
      "applicantDisplayName": "Sam Okafor",
      "joinedAt": "2026-01-06T12:00:00.000Z",
      "cohorts": [
        {
          "id": "coh_12",
          "name": "Spring 2026 intake",
          "joinedAt": "2026-01-06T12:00:00.000Z",
          "leftAt": null,
          "departureReason": null
        }
      ],
      "shares": [
        {
          "shareId": "shr_31",
          "boardId": "brd_7",
          "boardName": "Spring search",
          "isActive": true,
          "applicationCount": 12,
          "lastActivityAt": "2026-02-11T17:05:00.000Z"
        }
      ],
      "totals": {
        "applications": 12,
        "applied": 7,
        "interviewing": 3,
        "offers": 1,
        "accepted": 0,
        "rejected": 1
      },
      "upcomingInterviews": 2,
      "lastActivityAt": "2026-02-11T17:05:00.000Z",
      "needsAttention": []
    }
  ],
  "hasMore": false,
  "nextCursor": null
}

Related operations