Import reunification roster data
Imports a reunification roster as JSON. This is the API equivalent of the in-app CSV upload and writes to the same roster.
Every call replaces the whole roster. Records you send are created or updated, and anything you leave out is deleted. Only records that came from this API or the in-app CSV upload are replaced.
Deleting someone revokes the Coram access an earlier import gave them. Access granted by hand survives. Revocation is also skipped when a previous import has not finished creating accounts yet, and when more than half of a provisioned roster of 10 or more people would lose access at once, which stops a truncated upload locking out a school.
Send every key on every call. The one you may omit is staff, and omitting it deletes every staff member.
The import aborts and leaves the old roster intact if two schools map to the same Coram location, if a location id does not exist, or if a student or teacher repeats a school id in school_ids after the first one. Repeating a student_id, teacher_id or staff_id returns 400 before any work starts.
The order of the top level arrays does not matter.
The import runs in the background and is cancelled after one hour. The 202 carries the initial status. Poll GET /v1/reunification/imports/status. One import runs per organization at a time and the in-app CSV upload counts as one, so a second request returns 409.
Requires write:* scope and an admin creator role, and the feature must be enabled for your organization. The status endpoint needs read:*, so a write-only key can start an import but never see whether it worked. Requests are limited to an average of 5 per second with a short burst allowance, and the body to 32 MiB.
Request body
Response
Import accepted and processing started
Changes
No recorded changes to this endpoint across all 6 revisions of this API.