REST API Reference

Blackboard API

an interface to make Blackboard REST API calls on a session basis.

class blackboard.api.BlackboardSession(url: str, *, cookies: RequestsCookieJar)

Represents a user session in Blackboard.

download(response: Any) Any

Download the contents of a Content Item.

Parameters:
  • course_id – The course or organization ID.

  • content_id – The Content ID.

  • attachment_id

download_attempt_file_metadata(response: Any) Any

Download the contents of the file for a Student Submission.

Parameters:
  • course_id – The course or organization ID.

  • attempt_id

  • attempt_file_id

download_webdav(response: Response) Response

Downloads an arbitrary webdav file

fetch_announcements(response: Any) Any

Return a list of System Announcements.

Parameters:

announcement_id – Get a System Announcement.

fetch_associated_nodes(response: Any) Any

Obtain a list of nodes to which a given course is directly associated.

Parameters:

course_id – The course or organization ID.

fetch_attempt_file_metadata(response: Any) Any

Get the list of file metadata for a Submission associated to the course and attempt.

Get the file metadata for a Student Submission associated to the course and attempt.

Parameters:
  • course_id – The course or organization ID.

  • attempt_id

  • attempt_file_id

fetch_attendance_data_download_url(response: Any) Any

Generate Download URL for Attendance Data.

Parameters:

course_id – The course or organization ID.

fetch_attendance_records_by_meeting_id(response: Any) Any

Return a Course Meeting Attendance information for the given meeting and user Id.

Parameters:
  • course_id – The course or organization ID.

  • meeting_id

  • user_id – The user ID.

fetch_attendance_records_by_user_id(response: Any) Any

Return a list of Course Meeting Attendance for a given user regardless of courses and meetings.

Parameters:
  • course_id – The course or organization ID.

  • user_id – The user ID.

fetch_avatar(response: Any) Any

Get a user avatar image.

The response: Any is an HTTP redirect rather than image raw data. It is up to the caller of the api to follow the redirect and download the image.

Not yet implemented. :param user_id: The user ID.

fetch_calendar(response: Any) Any

Get the list of calendars viewable by the user.

All users can request a list of calendars viewable to them.

fetch_calendar_items(response: Any) Any

Get a course calendar item.

Parameters:
  • calendar_item_type – One of (Course, GradebookColumn, Institution, OfficeHours, Personal).

  • calendar_item_id

fetch_categories(response: Any) Any

Get categories associated with the provided course.

Parameters:

course_id – The course or organization ID.

fetch_category(response: Any) Any

Return a list of categories of the provided type (course or organization). / Return the category corresponding the provided type (course or organization) and ID.

Parameters:
  • category_type – One of (Course, Organization).

  • category_id

fetch_child_categories(response: Any) Any

Return a list of categories which are children of the category corresponding to the provided type (course or organization) and Id

Parameters:
  • category_type – One of (Course, Organization).

  • parent_id

fetch_column_attempts(response: Any) Any

Return a list of attempts associated with the specified grade column / Load the grade column attempt for the specified id.

Parameters:
  • course_id – The course or organization ID.

  • column_id – The grade column ID.

  • attempt_id

fetch_column_grade_last_changed(response: Any) Any

Load the grade column grade with the maximum change index.

Parameters:
  • course_id – The course or organization ID.

  • column_id – The grade column ID.

fetch_column_grades(response: Any) Any

Return a list of grades associated with the specified grade column.

/ Load the grade column grade for a specific user.

Parameters:
  • course_id – The course or organization ID.

  • column_id – The grade column ID.

  • user_id – The user ID.

fetch_content_children(response: Any) list[BBCourseContent]

List all child content items directly beneath another content item.

This is only valid for content items that are allowed to have children.

Parameters:
  • course_id – The course or organization ID.

  • content_id – The Content ID.

fetch_content_groups(response: Any) Any

Return a list of content group associations for the specified content.

Parameters:
  • course_id – The course or organization ID.

  • content_id – The Content ID.

  • group_id – The group ID.

fetch_contents(response: Any) list[BBCourseContent]

List top-level content items in a course.

Parameters:
  • course_id – The course or organization ID.

  • content_id – The Content ID.

fetch_course_announcements(response: Any) Any

Return a list of Course Announcements or Get a Course Announcement.

Parameters:
  • course_id – The course or organization ID.

  • announcement_id

fetch_course_children(response: Any) Any

Return a list of course cross-listings.

/ Load a specific course cross-listing.

Parameters:
  • course_id – The course or organization ID.

  • child_course_id – The course or organization ID.

fetch_course_meeting(response: Any) Any

Return a Course Meeting for the given meeting Id.

Parameters:
  • course_id – The course or organization ID.

  • meeting_id

fetch_course_meetings(response: Any) Any

Return a list of course meetings for a given course id.

Parameters:

course_id – The course or organization ID.

fetch_course_memberships(response: Any) Any

Return a list of user memberships for the specified course or organization.

/ Load a user membership in the specified course.

Parameters:
  • course_id – The course or organization ID.

  • user_id – The user ID.

fetch_course_resource_children(response: Any) Any

Return a list of Course Resources that are children of the specified Resource.

Parameters:
  • course_id – The course or organization ID.

  • resource_id – The xythos resource ID.

fetch_course_resources(response: Any) Any

Return a list of the top-level course resources.

or Load a Course Resource by Id.

Parameters:
  • course_id – The course or organization ID.

  • resource_id – The xythos resource ID.

fetch_course_roles(response: Any) Any

Return a list of course roles. / Return a single course role.

Parameters:

role_id – The course role ID.

fetch_courses(response: Any) BBCourse | list[BBCourse]

Return a list of courses and organizations.

/ Loads a specific course or organization.

Parameters:

course_id – The course or organization ID.

fetch_cross_list_set(response: Any) Any

Return the course cross-listing set for the specified course.

This will return any and all parent/child associations regardless of the specified course being a parent or child course. The result will be empty if the specified course is not cross-listed.

Parameters:

course_id – The course or organization ID.

fetch_current_active_user(response: Any) Any

Display active session information for a specific user.

Parameters:

user_id – The user ID.

fetch_data_sources(response: Any) Any

Return a list of data sources.

Parameters:

data_source_id – The data source ID.

fetch_domain_config(response: Any) Any

Return the list of LTI domain configs. / This endpoint returns the LTI domain config with the specified Id.

Parameters:

domain_id

fetch_file_attachments(response: Any) list[BBAttachment] | BBAttachment

Get the file attachment meta data associated to the Content Item.

or Get the file attachment meta data by an attachment ID.

Parameters:
  • course_id – The course or organization ID.

  • content_id – The Content ID.

  • attachment_id

fetch_grade_columns(response: Any) Any

Return a list of grade columns. / Load a specific grade column.

Parameters:
  • course_id – The course or organization ID.

  • column_id – The grade column ID.

fetch_grade_notations(response: Any) Any

Return a list of grade notations. / Return a specific grade notation.

Parameters:

course_id – The course or organization ID.

Grade_notation_id:

fetch_grade_schemas(response: Any) Any

Return a list of grade schemas associated with the specified course. / Load the grade schema associated with the specified course and schema Id.

Parameters:
  • course_id – The course or organization ID.

  • schema_id – The grade schema ID.

fetch_gradebook_categories(response: Any) Any

Return a list of gradebook categories in a particular course.

/ Return the details of a gradebook category.

Parameters:
  • course_id – The course or organization ID.

  • category_id – the ID of the category to return

fetch_grading_periods(response: Any) Any

Return a list of grading periods. / Return a specific grading period.

Parameters:
  • course_id – The course or organization ID.

  • period_id

fetch_group_memberships(response: Any) Any

Return a list of group memberships objects for the specified group.

/ Loads a group membership in the specified group.

Parameters:
  • course_id – The course or organization ID.

  • group_id – The group ID.

  • user_id – The user ID.

fetch_group_set_children(response: Any) Any

Return a list of all groups within a groupset.

Parameters:
  • course_id – The course or organization ID.

  • group_id – The group ID.

fetch_group_sets(response: Any) Any

Return a list of all groupsets / Load a groupset in the specified course.

Parameters:
  • course_id – The course or organization ID.

  • group_id – The group ID.

fetch_groups(response: Any) Any

Return a list of all top-level groups in the specified course.

/ Load a group in the specified course.

Parameters:
  • course_id – The course or organization ID.

  • group_id – The group ID.

fetch_institution_roles(response: Any) Any

Return a list of institution roles. / Load a specific institution role.

Parameters:

role_id – The institution role ID.

fetch_memberships(response: Any) Any

Get courses associated with the provided category.

Parameters:
  • category_type – One of (Course, Organization).

  • category_id

fetch_node_children(response: Any) Any

Return the children of the institutional hierarchy node corresponding…

to the provided ID.

Parameters:

node_id – The node ID.

fetch_node_course_associations(response: Any) Any

Return a list of node-course relationships for the specified node.

Parameters:

node_id – The node ID.

fetch_nodes(response: Any) Any

Return the Top-level institutional hierarchy nodes. / Return the institutional hierarchy node corresponding the provided ID.

Parameters:

node_id – The node ID.

fetch_observees(response: Any) Any

Return a list of users being observed by a given user.

Parameters:

user_id – The user ID.

fetch_observers(response: Any) Any

Return a list of users observing a given user.

Parameters:

user_id – The user ID.

fetch_performance_review_status(response: Any) Any

List the content review statuses for all the users enrolled in a course.

Parameters:

course_id – The course or organization ID.

fetch_placements(response: Any) Any

Return a list of LTI placements.

/ Returns the LTI placement with the specified Id.

Parameters:

placement_id

fetch_policies(response: Any) Any

Return the links to the Blackboard and Institution privacy policies.

fetch_proctoring_services(response: Any) Any

Return a list of proctoring service.

/ Return the proctoring service with the specified Id.

Parameters:

service_id

fetch_questions(response: Any) Any

Get the list of questions for an Ultra Assessment or Get a question by Id from it.

Parameters:
  • course_id – The course or organization ID.

  • assessment_id

  • question_id

fetch_review_status(response: Any) Any

Obtain the review status for a content item.

This endpoint will only fetch the reviewStatus if the corresponding content was previously marked as reviewable.

Parameters:
  • course_id – The course or organization ID.

  • content_id – The Content ID.

  • user_id – The user ID.

fetch_sessions(response: Any) Any

List active user sessions in Learn.

fetch_sis_logs(response: Any) Any

Return a list of SIS Integration logs.

Parameters:

id – dataSetUid of the integration

fetch_system_roles(response: Any) Any

Return a list of system roles. / Get a specific system role by roleId.

Parameters:

role_id – The System Role ID.

fetch_system_task(response: Any) Any

Get the background task by the given task Id.

Parameters:

task_id

fetch_task(response: Any) Any

Check the status of a queued task associated with a Course.

Returns 200 unless task is complete.

Parameters:
  • course_id – The course or organization ID.

  • task_id

fetch_terms(response: Any) Any

Return a list of terms. / Load a term.

Parameters:

term_id – The term ID.

fetch_user_grades(response: Any) Any

Load the course grades for a specific user.

Parameters:
  • course_id – The course or organization ID.

  • user_id – The user ID.

fetch_user_memberships(response: Any) list[BBMembership]

Return a list of course and organization memberships for the specified user.

Parameters:

user_id – The user ID.

fetch_users(response: Any) Any

Return a list of users. / Load a user.

Properties returned will depend on the caller’s entitlements.

Parameters:

user_id – The user ID.

fetch_version(response: Any) Any

Get the current Learn server version.

property instance_url: str

Base URL of instance as provided.

property url: str

API URL.

property user_id: str

User id field used for API requests.