Skip to main content
POST
Record daily attendance for many students

Authorizations

Authorization
string
header
required

Bearer access token from POST /oauth/token (OAuth 2.0 client credentials; the OneRoster /ims/oneroster/v1p1/token and /v1p2/token URLs are aliases). Send it as Authorization: Bearer <access_token>. Tokens expire after 1 hour and carry your API client's granted scopes — an endpoint outside them returns 403.

Body

application/json
Required array length: 1 - 200 elements
studentId
string
required

The student the record is for. Accepts the OneRoster identifier (student number), the state identifier (e.g. SSID), or the Scout student id (OneRoster sourcedId).

date
string
required

The school day, as YYYY-MM-DD. Must not be in the future.

attendanceCode
string
required

The day's attendance status. Accepts Scout status names (case-insensitive) — Present, Late, ExcusedLate, Absent, ExcusedAbsence, LeftEarly — or common letter codes: P, T/L (tardy), A, E/EA (excused absence), ET/TE (excused tardy), LE (left early).

arrivalTime
string | null

When the student arrived, as 24-hour local time (HH:mm or HH:mm:ss) on the record's date, read as Pacific time. Stored as a timestamp and returned by the attendance reads; also used as the attendance log description when no comment is given. Not used to compute late minutes.

comment
string | null

Free-text note, stored as the attendance log description.

Response

Every record was recorded, updated, or already current.

Outcome of a bulk daily-attendance request.

summary
object
required

Count of records by outcome.

results
object[]
required

One result per request record, in request order.