Blackboard API Reference
Blackboard REST API
REST API call parameters must be specified in keyword form.
Blackboard API.
an interface to make Blackboard REST API calls on a session basis
- class blackboard_sync.blackboard.api.BlackboardSession(base_url: str, cookies: RequestsCookieJar)[source]
Represents a user session in Blackboard.
- download(response)[source]
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)[source]
Download the contents of the file for a Student Submission.
- Parameters:
course_id – The course or organization ID.
attempt_id –
attempt_file_id –
- fetch_announcements(response)[source]
Return a list of System Announcements.
- Parameters:
announcement_id – Get a System Announcement.
- fetch_associated_nodes(response)[source]
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)[source]
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)[source]
Generate Download URL for Attendance Data.
- Parameters:
course_id – The course or organization ID.
- fetch_attendance_records_by_meeting_id(response)[source]
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)[source]
Return a list of Course Meeting Attendance for a given user id regardless of courses and meetings.
- Parameters:
course_id – The course or organization ID.
user_id – The user ID.
- fetch_avatar(response)[source]
Get a user avatar image.
The response 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)[source]
Get the list of calendars. This endpoint will return all calendars viewable by the user.
All users can request a list of calendars viewable to them.
- fetch_calendar_items(response)[source]
Get a course calendar item.
- Parameters:
calendar_item_type – One of (Course, GradebookColumn, Institution, OfficeHours, Personal).
calendar_item_id –
- fetch_categories(response)[source]
Get categories associated with the provided course.
- Parameters:
course_id – The course or organization ID.
- fetch_category(response)[source]
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)[source]
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)[source]
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)[source]
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)[source]
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) list[BBContentChild] [source]
List all child content items directly beneath another content item.
This is only valid for content items that are allowed to have children (e.g. Folders).
- Parameters:
course_id – The course or organization ID.
content_id – The Content ID.
- fetch_content_groups(response)[source]
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) list[BBCourseContent] [source]
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)[source]
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)[source]
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)[source]
Return a Course Meeting for the given meeting Id.
- Parameters:
course_id – The course or organization ID.
meeting_id –
- fetch_course_meetings(response)[source]
Return a list of course meetings for a given course id.
- Parameters:
course_id – The course or organization ID.
- fetch_course_memberships(response)[source]
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)[source]
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)[source]
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)[source]
Return a list of course roles. / Return a single course role.
- Parameters:
role_id – The course role ID.
- fetch_courses(response) BBCourse | list[BBCourse] [source]
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)[source]
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)[source]
Display active session information for a specific user.
- Parameters:
user_id – The user ID.
- fetch_data_sources(response)[source]
Return a list of data sources.
- Parameters:
data_source_id – The data source ID.
- fetch_domain_config(response)[source]
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) list[BBAttachment] | BBAttachment [source]
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)[source]
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)[source]
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)[source]
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)[source]
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)[source]
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)[source]
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)[source]
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)[source]
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)[source]
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)[source]
Return a list of institution roles. / Load a specific institution role.
- Parameters:
role_id – The institution role ID.
- fetch_memberships(response)[source]
Get courses associated with the provided category.
- Parameters:
category_type – One of (Course, Organization).
category_id –
- fetch_node_children(response)[source]
Return the children of the institutional hierarchy node corresponding…
to the provided ID.
- Parameters:
node_id – The node ID.
- fetch_node_course_associations(response)[source]
Return a list of node-course relationships for the specified node.
- Parameters:
node_id – The node ID.
- fetch_nodes(response)[source]
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)[source]
Return a list of users being observed by a given user.
- Parameters:
user_id – The user ID.
- fetch_observers(response)[source]
Return a list of users observing a given user.
- Parameters:
user_id – The user ID.
- fetch_performance_review_status(response)[source]
List the content review statuses for all the users enrolled in a course.
- Parameters:
course_id – The course or organization ID.
- fetch_placements(response)[source]
Return a list of LTI placements.
/ Returns the LTI placement with the specified Id.
- Parameters:
placement_id –
- fetch_policies(response)[source]
Return the links to the Blackboard and Institution privacy policies.
- fetch_proctoring_services(response)[source]
Return a list of proctoring service.
/ Return the proctoring service with the specified Id.
- Parameters:
service_id –
- fetch_questions(response)[source]
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)[source]
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_sis_logs(response)[source]
Return a list of SIS Integration logs.
- Parameters:
id – dataSetUid of the integration
- fetch_system_roles(response)[source]
Return a list of system roles. / Get a specific system role by roleId.
- Parameters:
role_id – The System Role ID.
- fetch_system_task(response)[source]
Get the background task by the given task Id.
- Parameters:
task_id –
- fetch_task(response)[source]
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)[source]
Return a list of terms. / Load a term.
- Parameters:
term_id – The term ID.
- fetch_user_grades(response)[source]
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) list[BBMembership] [source]
Return a list of course and organization memberships for the specified user.
- Parameters:
user_id – The user ID.
- fetch_users(response)[source]
Return a list of users. / Load a user.
Properties returned will depend on the caller’s entitlements.
- Parameters:
user_id – The user ID.
- get(version: int = 1, use_api: bool = True, json: bool = True, **g_kwargs)[source]
Return a decorator (needed to use fancy notation).
- Parameters:
endpoint (string) – Endpoint to make API call to, including placeholders
version (int) – Version of the BB API used at endpoint (used as part of url)
json (bool) – If false, returns raw requests response, otherwise returns JSON Object
g_kwargs (dict) – Any argument in this parameter will be passed on to the requests call
- property logger
Logger for Blackboard API, set at level DEBUG.
Blackboard Data Classes
Blackboard Model Classes
- class blackboard_sync.blackboard.blackboard.BBAttachment(*, id: str | None = None, fileName: str | None = None, mimeType: str | None = None)[source]
Blackboard File Attachment.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'fileName': FieldInfo(annotation=Union[str, NoneType], required=False), 'id': FieldInfo(annotation=Union[str, NoneType], required=False), 'mimeType': FieldInfo(annotation=Union[str, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blackboard_sync.blackboard.blackboard.BBAvailability(*, available: BBAvailable | None = None, allowGuests: bool = False, adaptiveRelease: dict = {}, duration: BBDuration | None = None)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- available: BBAvailable | None
- duration: BBDuration | None
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'adaptiveRelease': FieldInfo(annotation=dict, required=False, default={}), 'allowGuests': FieldInfo(annotation=bool, required=False, default=False), 'available': FieldInfo(annotation=Union[BBAvailable, NoneType], required=False), 'duration': FieldInfo(annotation=Union[BBDuration, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blackboard_sync.blackboard.blackboard.BBAvailable(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
- Disabled = 'Disabled'
- No = 'No'
- Other = '__blackboardsync_other'
- PartiallyVisible = 'PartiallyVisible'
- Term = 'Term'
- Yes = 'Yes'
- class blackboard_sync.blackboard.blackboard.BBContentChild(*, id: str | None = None, title: str | None = None, body: str | None = None, created: datetime | None = None, modified: datetime | None = None, position: int = 0, hasChildren: bool = False, launchInNewWindow: bool = False, reviewable: bool = False, availability: BBAvailability | None = None, contentHandler: BBContentHandler | None = None, links: list[BBLink] = [], hasGradebookColumns: bool = False, hasAssociatedGroups: bool = False, parentId: str | None = None)[source]
Blackboard Content Child.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'availability': FieldInfo(annotation=Union[BBAvailability, NoneType], required=False), 'body': FieldInfo(annotation=Union[str, NoneType], required=False), 'contentHandler': FieldInfo(annotation=Union[BBContentHandler, NoneType], required=False), 'created': FieldInfo(annotation=Union[datetime, NoneType], required=False), 'hasAssociatedGroups': FieldInfo(annotation=bool, required=False, default=False), 'hasChildren': FieldInfo(annotation=bool, required=False, default=False), 'hasGradebookColumns': FieldInfo(annotation=bool, required=False, default=False), 'id': FieldInfo(annotation=Union[str, NoneType], required=False), 'launchInNewWindow': FieldInfo(annotation=bool, required=False, default=False), 'links': FieldInfo(annotation=list[BBLink], required=False, default=[]), 'modified': FieldInfo(annotation=Union[datetime, NoneType], required=False), 'parentId': FieldInfo(annotation=Union[str, NoneType], required=False), 'position': FieldInfo(annotation=int, required=False, default=0), 'reviewable': FieldInfo(annotation=bool, required=False, default=False), 'title': FieldInfo(annotation=Union[str, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blackboard_sync.blackboard.blackboard.BBContentHandler(*, id: BBResourceType | None = None, url: str | None = None, file: BBFile | None = None, gradeColumnId: str | None = None, groupContent: bool | None = None, targetId: str | None = None, targetType: str | None = None, placementHandle: str | None = None, assessmentId: str | None = None, proctoring: BBProctoring | None = None)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- id: BBResourceType | None
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'assessmentId': FieldInfo(annotation=Union[str, NoneType], required=False), 'file': FieldInfo(annotation=Union[BBFile, NoneType], required=False), 'gradeColumnId': FieldInfo(annotation=Union[str, NoneType], required=False), 'groupContent': FieldInfo(annotation=Union[bool, NoneType], required=False), 'id': FieldInfo(annotation=Union[BBResourceType, NoneType], required=False), 'placementHandle': FieldInfo(annotation=Union[str, NoneType], required=False), 'proctoring': FieldInfo(annotation=Union[BBProctoring, NoneType], required=False), 'targetId': FieldInfo(annotation=Union[str, NoneType], required=False), 'targetType': FieldInfo(annotation=Union[str, NoneType], required=False), 'url': FieldInfo(annotation=Union[str, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- proctoring: BBProctoring | None
- class blackboard_sync.blackboard.blackboard.BBCourse(*, id: str | None = None, courseId: str | None = None, name: str | None = None, description: str | None = None, modified: datetime | None = None, organization: bool = False, ultraStatus: str | None = None, closedComplete: bool = False, availability: BBAvailability | None = None, enrollment: BBEnrollment | None = None, locale: BBLocale | None = None, externalAccessUrl: str | None = None)[source]
BlackboardCourse. Represents an academic course.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- availability: BBAvailability | None
- enrollment: BBEnrollment | None
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'availability': FieldInfo(annotation=Union[BBAvailability, NoneType], required=False), 'closedComplete': FieldInfo(annotation=bool, required=False, default=False), 'courseId': FieldInfo(annotation=Union[str, NoneType], required=False), 'description': FieldInfo(annotation=Union[str, NoneType], required=False), 'enrollment': FieldInfo(annotation=Union[BBEnrollment, NoneType], required=False), 'externalAccessUrl': FieldInfo(annotation=Union[str, NoneType], required=False), 'id': FieldInfo(annotation=Union[str, NoneType], required=False), 'locale': FieldInfo(annotation=Union[BBLocale, NoneType], required=False), 'modified': FieldInfo(annotation=Union[datetime, NoneType], required=False), 'name': FieldInfo(annotation=Union[str, NoneType], required=False), 'organization': FieldInfo(annotation=bool, required=False, default=False), 'ultraStatus': FieldInfo(annotation=Union[str, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blackboard_sync.blackboard.blackboard.BBCourseContent(*, id: str | None = None, title: str | None = None, body: str | None = None, created: datetime | None = None, modified: datetime | None = None, position: int = 0, hasChildren: bool = False, launchInNewWindow: bool = False, reviewable: bool = False, availability: BBAvailability | None = None, contentHandler: BBContentHandler | None = None, links: list[BBLink] = [], hasGradebookColumns: bool = False, hasAssociatedGroups: bool = False)[source]
Blackboard Content.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- availability: BBAvailability | None
- contentHandler: BBContentHandler | None
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'availability': FieldInfo(annotation=Union[BBAvailability, NoneType], required=False), 'body': FieldInfo(annotation=Union[str, NoneType], required=False), 'contentHandler': FieldInfo(annotation=Union[BBContentHandler, NoneType], required=False), 'created': FieldInfo(annotation=Union[datetime, NoneType], required=False), 'hasAssociatedGroups': FieldInfo(annotation=bool, required=False, default=False), 'hasChildren': FieldInfo(annotation=bool, required=False, default=False), 'hasGradebookColumns': FieldInfo(annotation=bool, required=False, default=False), 'id': FieldInfo(annotation=Union[str, NoneType], required=False), 'launchInNewWindow': FieldInfo(annotation=bool, required=False, default=False), 'links': FieldInfo(annotation=list[BBLink], required=False, default=[]), 'modified': FieldInfo(annotation=Union[datetime, NoneType], required=False), 'position': FieldInfo(annotation=int, required=False, default=0), 'reviewable': FieldInfo(annotation=bool, required=False, default=False), 'title': FieldInfo(annotation=Union[str, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blackboard_sync.blackboard.blackboard.BBDuration(*, type: str | None = None)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class blackboard_sync.blackboard.blackboard.BBDurationType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Blackboard Course Duration Type.
- class blackboard_sync.blackboard.blackboard.BBEnrollment(*, type: str | None = None)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class blackboard_sync.blackboard.blackboard.BBFile(*, fileName: str | None = None)[source]
Blackboard File.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class blackboard_sync.blackboard.blackboard.BBLink(*, href: str | None = None, rel: str | None = None, title: str | None = None, type: str | None = None)[source]
Blackboard Link.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'href': FieldInfo(annotation=Union[str, NoneType], required=False), 'rel': FieldInfo(annotation=Union[str, NoneType], required=False), 'title': FieldInfo(annotation=Union[str, NoneType], required=False), 'type': FieldInfo(annotation=Union[str, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blackboard_sync.blackboard.blackboard.BBLocale(*, force: bool = False)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class blackboard_sync.blackboard.blackboard.BBMembership(*, id: str | None = None, userId: str | None = None, courseId: str | None = None, dataSourceId: str | None = None, created: datetime | None = None, modified: datetime | None = None, availability: BBAvailability | None = None, courseRoleId: str | None = None, lastAccessed: datetime | None = None, childCourseId: str | None = None)[source]
Blackboard Membership. Represents relation between student and course.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- availability: BBAvailability | None
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'availability': FieldInfo(annotation=Union[BBAvailability, NoneType], required=False), 'childCourseId': FieldInfo(annotation=Union[str, NoneType], required=False), 'courseId': FieldInfo(annotation=Union[str, NoneType], required=False), 'courseRoleId': FieldInfo(annotation=Union[str, NoneType], required=False), 'created': FieldInfo(annotation=Union[datetime, NoneType], required=False), 'dataSourceId': FieldInfo(annotation=Union[str, NoneType], required=False), 'id': FieldInfo(annotation=Union[str, NoneType], required=False), 'lastAccessed': FieldInfo(annotation=Union[datetime, NoneType], required=False), 'modified': FieldInfo(annotation=Union[datetime, NoneType], required=False), 'userId': FieldInfo(annotation=Union[str, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blackboard_sync.blackboard.blackboard.BBProctoring(*, secureBrowserRequiredToTake: bool = False, secureBrowserRequiredToReview: bool = False, webcamRequired: bool = False)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'secureBrowserRequiredToReview': FieldInfo(annotation=bool, required=False, default=False), 'secureBrowserRequiredToTake': FieldInfo(annotation=bool, required=False, default=False), 'webcamRequired': FieldInfo(annotation=bool, required=False, default=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class blackboard_sync.blackboard.blackboard.BBResourceType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Different resource types on Blackboard.
- asmt_test_link = 'x-bb-asmt-test-link'
- assignment = 'x-bb-assignment'
- blankpage = 'x-bb-blankpage'
- bltiplacement_portal = 'x-bb-bltiplacement-Portal'
- courselink = 'x-bb-courselink'
- document = 'x-bb-document'
- externallink = 'x-bb-externallink'
- file = 'x-bb-file'
- folder = 'x-bb-folder'
- lesson = 'x-bb-lesson'
- other = '__blackboardsync_other'
- syllabus = 'x-bb-syllabus'
- toollink = 'x-bb-toollink'
- turnitin_assignment = 'x-turnitin-assignment'
- class blackboard_sync.blackboard.blackboard.ImmutableModel[source]
Model with const attributes.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].