Students

Students are child users who use ManageBac to learn

Update Student Avatar

put

This endpoint allows to update student's avatar.

Authorizations
Path parameters
idintegerRequired

Unique identifier for a student.

Body
avatarany ofOptional
or
Responses
200

Success

application/json
put
PUT /v2/students/{id}/avatar HTTP/1.1
Host: api.managebac.com
auth-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 37

{
  "avatar": {
    "remote_file_url": "text"
  }
}
{
  "status": "ok"
}

Delete Student Avatar

delete

This endpoint allows to delete student's avatar.

Authorizations
Path parameters
idintegerRequired

Unique identifier for a student.

Responses
200

Success

application/json
delete
DELETE /v2/students/{id}/avatar HTTP/1.1
Host: api.managebac.com
auth-token: YOUR_API_KEY
Accept: */*
200

Success

{
  "status": "ok"
}

Get all Students

get

This endpoint retrieves all students. It returns personal details and program as well as any School-defined values.

Authorizations
Query parameters
ids[]integer[]Optional

Return only records with the given IDs.

archivedbooleanOptional

Return only archived (1) or only active (0) students. If value is not specified, all students are returned.

statusstringOptional

Return students by status. Available statuses: enrolled, withdrawn, graduated. If value is not specified, all students are returned.

modified_sincestringOptional

A timestamp to filter the modification date of results.

year_group_idsinteger[]Optional

An integer list of year group ids to filter by.

year_group_ids[]integer[]Optional

An integer list of year group ids to filter by.

homeroom_advisor_idsinteger[]Optional

An integer list of homeroom advisor ids to filter by.

homeroom_advisor_ids[]integer[]Optional

An integer list of homeroom advisor ids to filter by.

pagestringOptional

An integer defining which page to display.

per_pagestringOptional

An integer defining the number of records to display per page.

deleted_sincestringOptional

A timestamp to filter the deletion date of results.

qstringOptional

A string to search across the following fields: first_name, last_name, middle_name, nickname, other_name, email, student_id.

Responses
200

Success

application/json
get
GET /v2/students HTTP/1.1
Host: api.managebac.com
auth-token: YOUR_API_KEY
Accept: */*
200

Success

{
  "students": [
    {
      "id": 2054,
      "email": "[email protected]",
      "first_name": "Kevin",
      "last_name": "Williams",
      "archived": false,
      "ui_language": "en",
      "created_at": "2021-06-28T12:40:05.000Z",
      "updated_at": "2021-06-28T12:40:05.000Z",
      "student_id": "AA1001",
      "identifier": "AA1001",
      "gender": "Male",
      "timezone": "Europe/Kyiv",
      "parent_ids": [],
      "street_address": "81856 Upham Place",
      "city": "San Diego",
      "state": "56981",
      "zipcode": "82211",
      "country": "SI",
      "nationalities": [],
      "languages": [],
      "role": "Student"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 100
  }
}

Create New Student

post

This endpoint creates a new student record. The Content-Type header must be set to application/json, and the request body should contain the field structure as a JSON payload. Only users with admin role are able to create new student records.

Authorizations
Body
studentall ofRequired
and
anyOptional

Fields for create student.

Responses
201

Success

application/json
post
POST /v2/students HTTP/1.1
Host: api.managebac.com
auth-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 744

{
  "student": {
    "email": "[email protected]",
    "first_name": "Richard",
    "middle_name": "David",
    "password": "qwerty9876",
    "last_name": "Chandler",
    "nickname": "Ricky",
    "other_name": "",
    "identifier": "AA1001",
    "gender": "Male",
    "birthday": "1972-10-24",
    "phone_number": "977 840-2231",
    "mobile_phone_number": "977 840-2231",
    "street_address": "301 Massachusetts Ave",
    "street_address_ii": "",
    "city": "Lunenburg",
    "state": "Virginia",
    "zipcode": "1462",
    "country": "United States",
    "nationalities": [
      "US",
      "GB"
    ],
    "languages": [
      "ENG"
    ],
    "timezone": "Europe/Kyiv",
    "id": 123,
    "sb_id": "123",
    "oa_id": "123",
    "graduated_on": "2018-12-11",
    "withdrawn_on": "1998-09-23",
    "student_id": "AA1001",
    "homeroom_advisor_id": 10752544,
    "year_group_id": 10209272,
    "graduating_year": 2018,
    "parent_ids": [
      12334,
      3114
    ]
  }
}
201

Success

{
  "student": {
    "id": 2063,
    "email": "[email protected]",
    "first_name": "Kevin",
    "last_name": "Epelbaum",
    "archived": false,
    "ui_language": "en",
    "created_at": "2021-06-28T12:40:10.000Z",
    "updated_at": "2021-06-28T12:40:10.000Z",
    "student_id": "AA1001",
    "identifier": "AA1001",
    "parent_ids": [],
    "nationalities": [],
    "languages": []
  }
}

Get a Student

get

This endpoint retrieves a single student as specified by ID. It returns personal details, including the IDs of parents. Depending on the value of the status field (withdrawn or graduated), the related date field will have a different name.

Authorizations
Path parameters
idintegerRequired

Unique identifier for a student.

Responses
200

Success

application/json
get
GET /v2/students/{id} HTTP/1.1
Host: api.managebac.com
auth-token: YOUR_API_KEY
Accept: */*
200

Success

{
  "student": {
    "id": 2057,
    "email": "[email protected]",
    "first_name": "Jessica",
    "last_name": "Ortiz",
    "archived": false,
    "ui_language": "en",
    "created_at": "2021-06-28T12:40:06.000Z",
    "updated_at": "2021-06-28T12:40:06.000Z",
    "student_id": "AA1001",
    "identifier": "AA1001",
    "gender": "Male",
    "timezone": "Australia/Adelaide",
    "ee_advisor_id": 456,
    "parent_ids": [],
    "street_address": "709 Fieldstone Plaza",
    "city": "Pinole",
    "state": "54245",
    "zipcode": "39977",
    "country": "NI",
    "nationalities": [],
    "languages": [],
    "role": "Student"
  }
}

Update a Student

patch

This endpoint updates a student record as specified by student ID. The Content-Type header must be set to application/json, and the request body should contain the fields you want to update as a JSON payload. Only users with admin role are able to update students.

Authorizations
Path parameters
idintegerRequired

Unique identifier for a student.

Body
studentall ofOptional
and
anyOptional

Fields for create student.

Responses
200

Success

application/json
patch
PATCH /v2/students/{id} HTTP/1.1
Host: api.managebac.com
auth-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 744

{
  "student": {
    "email": "[email protected]",
    "first_name": "Richard",
    "middle_name": "David",
    "password": "qwerty9876",
    "last_name": "Chandler",
    "nickname": "Ricky",
    "other_name": "",
    "identifier": "AA1001",
    "gender": "Male",
    "birthday": "1972-10-24",
    "phone_number": "977 840-2231",
    "mobile_phone_number": "977 840-2231",
    "street_address": "301 Massachusetts Ave",
    "street_address_ii": "",
    "city": "Lunenburg",
    "state": "Virginia",
    "zipcode": "1462",
    "country": "United States",
    "nationalities": [
      "US",
      "GB"
    ],
    "languages": [
      "ENG"
    ],
    "timezone": "Europe/Kyiv",
    "id": 123,
    "sb_id": "123",
    "oa_id": "123",
    "graduated_on": "2018-12-11",
    "withdrawn_on": "1998-09-23",
    "student_id": "AA1001",
    "homeroom_advisor_id": 10752544,
    "year_group_id": 10209272,
    "graduating_year": 2018,
    "parent_ids": [
      12334,
      3114
    ]
  }
}
200

Success

{
  "student": {
    "id": 2070,
    "email": "[email protected]",
    "first_name": "Kevin",
    "last_name": "Epelbaum",
    "archived": false,
    "ui_language": "en",
    "created_at": "2021-06-28T12:40:12.000Z",
    "updated_at": "2021-06-28T12:40:12.000Z",
    "student_id": "AA1002",
    "identifier": "AA1002",
    "gender": "Male",
    "timezone": "Atlantic/Cape_Verde",
    "parent_ids": [],
    "street_address": "9 Aberg Drive",
    "city": "Fowler",
    "state": "70059-4573",
    "zipcode": "93186",
    "country": "PT",
    "nationalities": [],
    "languages": []
  }
}

Archive a Student

put

This endpoint archives the student record as specified by student ID. This effectively removes the record from classes, groups, etc. Either the withdrawl date or graduation date must be supplied to provide a reason for the archiving.

Authorizations
Path parameters
idintegerRequired

Unique identifier for a student.

Body
any ofOptional
or
Responses
200

Success

application/json
put
PUT /v2/students/{id}/archive HTTP/1.1
Host: api.managebac.com
auth-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "withdrawn_on": "text"
}
200

Success

{
  "status": "ok"
}

Unarchive a Student

put

This endpoint reverses the archive operation on a student record as specified by ID. This effectively restores the student in classes, groups, etc.

Authorizations
Path parameters
idintegerRequired

Unique identifier for a student.

Responses
200

Success

application/json
put
PUT /v2/students/{id}/unarchive HTTP/1.1
Host: api.managebac.com
auth-token: YOUR_API_KEY
Accept: */*
200

Success

{
  "status": "ok"
}

Was this helpful?