latestOpenAPI 3.1.02026-08-1182263351.1 KB

f8025de20169

Students

Update students

Update up to DEFAULT_BATCH_MAX_ITEMS students in a single request.

Replaces single-resource PATCH /v2/students/{id}/ from ACCEL-256 — never publicly released.

Each item identifies a student via id (preferred) or attributes.email (fallback). The email field is read-only — it serves as the lookup identifier when id is absent, or as confirmation when id is present. It cannot be changed via this endpoint. Updatable attributes: first_name, last_name, is_inactive.

Each item is processed independently — failures on one row do not abort the rest. Response is 200 if all items succeed, 207 if any fail, 400 if the request envelope is empty or over the cap.

Per-item failure code is one of:

  • not_found — student missing in this org
  • validation_error — anonymized/SSO/inactive guard rejected the update, or email confirmation did not match the student's current email

To reactivate AND modify other fields, send two PATCHes:

  1. First PATCH: {"data": [{"id": "...", "attributes": {"is_inactive": false}}]}
  2. Second PATCH: {"data": [{"id": "...", "attributes": {"first_name": "..."}}]}

See api_v2/docs/batch-responses.md for the envelope shape.

Required OAuth scope: students:write

patch/v2/students/

Request body

Response

OK