Terrago

14 endpoints

GET /v3/portal/children/bulk-upload/options #
bearer admin_web device credential

Query parameters

NameTypeConstraints
school_idstring | nulloptional

Response

Returns { "data": WebChildBulkUploadOptions }.

FieldTypeConstraints
schoolsobject[]required
GET /v3/portal/school #
bearer admin_web device credential

Query parameters

NameTypeConstraints
qstring | nulloptionalmax length 100
statusstring | nulloptionalactive suspended archived
stagestring | nulloptionalprospect signed provisioning live
regionstring | nulloptionalmax length 80
cursorstring | nulloptionalmax length 200
per_pageinteger | nulloptionalmin 1 · max 500

Response

Returns { "data": [WebSchool] } with meta.next_cursor for the next page.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
codestringrequired
statusstringrequired
is_activebooleanrequired
onboarding_stagestringrequired
citystring | nullrequired
regionstring | nullrequired
contact_namestring | nullrequired
contact_phonestring | nullrequired
contact_emailstring | nullrequired
student_countintegerrequired
parent_countintegerrequired
band_countintegerrequired
device_countintegerrequired
group_idstring | nullrequired
group_namestring | nullrequired
row_versionintegerrequired
created_atstring (date-time)required
POST /v3/portal/school #
bearer admin_web device credential

onboard a school. Platform operators only (route group).

Request body

FieldTypeConstraints
namestringrequiredmin length 2 · max length 160
codestring | nulloptionalmin length 2 · max length 40
country_codestring | nulloptionalmin length 2 · max length 2
default_currencystring | nulloptionalmin length 3 · max length 3
onboarding_stagestring | nulloptionalprospect signed provisioning live
citystring | nulloptionalmax length 80
regionstring | nulloptionalmax length 80
contact_namestring | nulloptionalmax length 120
contact_phonestring | nulloptionalmax length 20
contact_emailstring | nulloptionalmax length 160
admin_passwordstring | nulloptionalmin length 10 · max length 255
notesstring | nulloptionalmax length 2000
student_capinteger | nulloptionalmin 1 · max 100000

Response

Returns { "data": WebSchoolDetail }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
codestringrequired
statusstringrequired
is_activebooleanrequired
onboarding_stagestringrequired
country_codestringrequired
default_currencystringrequired
student_capinteger | nullrequired
citystring | nullrequired
regionstring | nullrequired
contact_namestring | nullrequired
contact_phonestring | nullrequired
contact_emailstring | nullrequired
notesstring | nullrequired
student_countintegerrequired
parent_countintegerrequired
band_countintegerrequired
device_countintegerrequired
group_idstring | nullrequired
group_namestring | nullrequired
row_versionintegerrequired
created_atstring (date-time)required
GET /v3/portal/school-group #
bearer admin_web device credential

Response

Returns { "data": [WebSchoolGroup] } with meta.next_cursor for the next page.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
notesstring | nullrequired
campus_countintegerrequired
campusesobject[]required
row_versionintegerrequired
created_atstring (date-time)required
POST /v3/portal/school-group #
bearer admin_web device credential

Request body

FieldTypeConstraints
namestringrequiredmin length 2 · max length 160
notesstring | nulloptionalmax length 2000
school_idsstring (uuid)[]optionalmax items 100

Response

Returns { "data": WebSchoolGroup }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
notesstring | nullrequired
campus_countintegerrequired
campusesobject[]required
row_versionintegerrequired
created_atstring (date-time)required
DELETE /v3/portal/school-group/{group} #
bearer admin_web device credential

DELETE — the group goes, its campuses are ungrouped and otherwise untouched.

Path parameters

NameTypeNotes
groupstring

Response

Returns { "data": Ack }.

FieldTypeConstraints
okbooleanrequired
GET /v3/portal/school-group/{group} #
bearer admin_web device credential

Path parameters

NameTypeNotes
groupstring

Response

Returns { "data": WebSchoolGroup }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
notesstring | nullrequired
campus_countintegerrequired
campusesobject[]required
row_versionintegerrequired
created_atstring (date-time)required
PATCH /v3/portal/school-group/{group} #
bearer admin_web device credential

Path parameters

NameTypeNotes
groupstring

Request body

FieldTypeConstraints
update_maskstring[]requiredmin items 1
expected_row_versionintegerrequiredmin 1
namestringoptionalmin length 2 · max length 160
notesstring | nulloptionalmax length 2000

Response

Returns { "data": WebSchoolGroup }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
notesstring | nullrequired
campus_countintegerrequired
campusesobject[]required
row_versionintegerrequired
created_atstring (date-time)required
POST /v3/portal/school-group/{group}/member #
bearer admin_web device credential

POST .../member — merge campuses in. A school in another group moves.

Path parameters

NameTypeNotes
groupstring

Request body

FieldTypeConstraints
school_idsstring (uuid)[]requiredmin items 1 · max items 100

Response

Returns { "data": WebSchoolGroup }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
notesstring | nullrequired
campus_countintegerrequired
campusesobject[]required
row_versionintegerrequired
created_atstring (date-time)required
DELETE /v3/portal/school-group/{group}/member/{school} #
bearer admin_web device credential

Path parameters

NameTypeNotes
groupstring
schoolstring

Response

Returns { "data": WebSchoolGroup }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
notesstring | nullrequired
campus_countintegerrequired
campusesobject[]required
row_versionintegerrequired
created_atstring (date-time)required
DELETE /v3/portal/school/{school} #
bearer admin_web device credential

ARCHIVE. A school's taps and money are history, so the row is never erased; it stops being active (§11.18).

Path parameters

NameTypeNotes
schoolstring

Response

Returns { "data": WebSchoolDetail }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
codestringrequired
statusstringrequired
is_activebooleanrequired
onboarding_stagestringrequired
country_codestringrequired
default_currencystringrequired
student_capinteger | nullrequired
citystring | nullrequired
regionstring | nullrequired
contact_namestring | nullrequired
contact_phonestring | nullrequired
contact_emailstring | nullrequired
notesstring | nullrequired
student_countintegerrequired
parent_countintegerrequired
band_countintegerrequired
device_countintegerrequired
group_idstring | nullrequired
group_namestring | nullrequired
row_versionintegerrequired
created_atstring (date-time)required
GET /v3/portal/school/{school} #
bearer admin_web device credential

the operator's account view (§11.18).

Path parameters

NameTypeNotes
schoolstring

Response

Returns { "data": WebSchoolDetail }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
codestringrequired
statusstringrequired
is_activebooleanrequired
onboarding_stagestringrequired
country_codestringrequired
default_currencystringrequired
student_capinteger | nullrequired
citystring | nullrequired
regionstring | nullrequired
contact_namestring | nullrequired
contact_phonestring | nullrequired
contact_emailstring | nullrequired
notesstring | nullrequired
student_countintegerrequired
parent_countintegerrequired
band_countintegerrequired
device_countintegerrequired
group_idstring | nullrequired
group_namestring | nullrequired
row_versionintegerrequired
created_atstring (date-time)required
PATCH /v3/portal/school/{school} #
bearer admin_web device credential

the §1 mask + row-version grammar.

Path parameters

NameTypeNotes
schoolstring

Request body

FieldTypeConstraints
update_maskstring[]requiredmin items 1
expected_row_versionintegerrequiredmin 1
namestringoptionalmin length 2 · max length 160
statusstringoptionalactive suspended archived
onboarding_stagestringoptionalprospect signed provisioning live
citystring | nulloptionalmax length 80
regionstring | nulloptionalmax length 80
contact_namestring | nulloptionalmax length 120
contact_phonestring | nulloptionalmax length 20
contact_emailstring | nulloptionalmax length 160
notesstring | nulloptionalmax length 2000
student_capinteger | nulloptionalmin 1 · max 100000
default_currencystringoptionalmin length 3 · max length 3

Response

Returns { "data": WebSchoolDetail }.

FieldTypeConstraints
idstring (uuid)required
namestringrequired
codestringrequired
statusstringrequired
is_activebooleanrequired
onboarding_stagestringrequired
country_codestringrequired
default_currencystringrequired
student_capinteger | nullrequired
citystring | nullrequired
regionstring | nullrequired
contact_namestring | nullrequired
contact_phonestring | nullrequired
contact_emailstring | nullrequired
notesstring | nullrequired
student_countintegerrequired
parent_countintegerrequired
band_countintegerrequired
device_countintegerrequired
group_idstring | nullrequired
group_namestring | nullrequired
row_versionintegerrequired
created_atstring (date-time)required
GET /v3/portal/setup-progress #
bearer admin_web device credential

Response

Returns { "data": SetupProgress }.

FieldTypeConstraints
school_locationbooleanrequired
create_locationsbooleanrequired
add_fleetbooleanrequired
plan_routesbooleanrequired
trip_planbooleanrequired
invite_staffbooleanrequired
register_peoplebooleanrequired
required_completebooleanrequired
completebooleanrequired
trips_blockedbooleanrequired