Overview
The@timeback/oneroster package provides a TypeScript client for the OneRoster 1.2 API, supporting:
- Rostering: Users, orgs, schools, courses, classes, enrollments
- Gradebook: Categories, line items, results, score scales
- Assessment: Assessment line items and results
- Resources: Learning resources linked to courses
Installation
Quick Start
Rostering
Users
| Method | Returns | Description |
|---|---|---|
list() | PageResult | List users (supports where filter) |
first() | User | undefined | Get first matching user |
listAll() | User[] | Fetch all pages |
get() | User | Get user by ID |
create() | CreateResponse | Create user (returns sourcedIdPairs) |
update() | void | Update user |
delete() | void | Delete user |
Scoped User Operations
Access user-specific data using the callable pattern:Students & Teachers
Dedicated read-only resources for role-specific queries:Schools & Organizations
Courses & Classes
Enrollments
Gradebook
Pagination
Alllist() methods return PageResult<T> with { data, hasMore, total, nextOffset }.
| Method | Returns | Description |
|---|---|---|
list() | PageResult<T> | Single page with pagination info |
listAll() | T[] | Auto-fetches all pages |
stream() | AsyncIterable<T> | Memory-efficient streaming iterator |
Filtering
Use thewhere parameter to filter results: