List students.
Returns one page at a time, covering every student account at the institution — both
registered and prospective. Search with q: it splits on spaces and matches each
term against first name, last name, or email. Filter with student_id to look a
student up by the number the institution assigned; numbers are not guaranteed unique, so
the match can return more than one student.
Assistant capability: springiq_list_students. Required permission: Users (applies when called on behalf of a signed-in person).
Authentication
Query parameters
Free-text search (?q=): splits on spaces and matches each term against first name, last name, or email, case-insensitively.
Institution-assigned student number (?student_id=): exact, case-insensitive
match. Student numbers are not guaranteed unique, so this can return more than one student.
Page size. Defaults to 25. Values outside 1–100 are clamped rather than rejected.
Opaque cursor. Pass the next_cursor from the previous page to page forward. Mutually exclusive with ending_before; if both are supplied, starting_after wins.
Opaque cursor. Pass the previous_cursor from the current page to page backward.
Optional extras to add to the response, comma-separated. total_count is the only supported value: it adds total_count, the number of records that match this request across all pages. The count is taken fresh at the moment of each request, so it can change while you page; ask for it on the first page. Without it, total_count is left out of the response. Asking or not never invalidates a cursor. Any other value returns 400 validation_failed.
Response
Discriminator constant. Always "list", mirroring Stripe’s list objects.
The request path this collection was served from (e.g. /api/v1/scholarships).
Opaque cursor for the next page (pass as starting_after). Null when there is none.
Opaque cursor for the previous page (pass as ending_before). Null when there is none.
The number of records that match the request across all pages, counted fresh on each
request. Present only when the request includes include=total_count; otherwise the
key is omitted.