v1

latestOpenAPI 3.0.02026-08-042710098.2 KB
reunification

Import reunification roster data

Bulk-imports reunification roster data — schools, students (with their guardians), teachers, and staff — as JSON. The programmatic equivalent of the in-app CSV upload.

This is a full roster replace, not a partial update. Each call replaces the organization's entire reunification roster: every person and school you send is inserted or updated, and anything you omit is removed. To keep someone, include them in every import; to remove someone, send a roster without them. Always send the complete roster — sending only students, for example, would delete all schools, teachers, and sections. To guard against that, the schools, students, teachers, and sections keys are required to be present (they may be empty arrays); staff is optional. This mirrors the in-app CSV upload, which requires every file.

List each student, teacher, and staff member once. To place a person in multiple schools, put every school id in school_ids on that single object — a repeated student_id/teacher_id/staff_id is rejected (400), not merged.

Cross-references are resolved against the ids in this same payload, so list an entity before you reference it. A school_id, student_id, or teacher_id that doesn't resolve to something in the payload is silently skipped — the surrounding record is still imported, just without that link — so a mistyped id quietly drops a school membership or section rather than failing the import.

Processing runs asynchronously and respects the same Auth0 rate limits as the in-app flow; only one import per organization runs at a time — a request made while one is already running returns 409. The 202 response is the initial in-progress status — poll GET /reunification/imports/status for completion and partial-success counts.

school_location_mappings maps each school_id in the payload to a Coram location ID. Requires write:* scope and an admin creator role; the feature must be enabled for the organization.

post/v1/reunification/imports

Request body

school_location_mappingsobject required

Maps each school_id in the payload to a Coram location ID.

Response

Import accepted and processing started

idstring required
status'in_progress' | 'completed' | 'failed' required
synced_schoolsinteger
total_schoolsinteger
synced_studentsinteger
total_studentsinteger
synced_teachersinteger
total_teachersinteger
synced_staffinteger
total_staffinteger
synced_guardiansinteger
total_guardiansinteger
succeeded_usersinteger
failed_usersinteger
error_messagestring
started_atstring date-time
completed_atstring date-time