Skip to main content

Released Learn APIs

Learn APIs (3900.65.0)

Download OpenAPI specification:Download

oauth

Authorization Code

Requests an OAuth 2 authorization code. Use of PKCE standard is optional, but highly recommended.

Since: 3200.7.0

Authorizations:
bearer
query Parameters
redirect_uri
string

the redirectUri to send the end user to once an authorization code response is made in Oauth2 Authorization Code Workflow

response_type
string

Required. The response_type expected which must to be set to "code"

client_id
string

Required. The client identifier for the registered application.

scope
string

the space delimited scope(s) being requested for this authorization. Example value: "read write offline"

state
string

Opaque value used by client to maintain state between request and callback. Used to prevent cross-site request forgery.

code_challenge
string

A code challenge to verify credentials along with the granted authorization code. It is used with the PKCE standard.

Since: 3700.4.0

code_challenge_method
string

This is the method used to verify the code challenge using the PKCE standard. Blackboard only supports s256 as the code challenge method.

Since: 3700.4.0

one_time_session_token
string

Token used to retrieve the session that generated this Oauth2 Code request. Used when session cookies are not sent due to privacy settings of the browser.

Since: 3900.13.0

Responses

Request Token

Requests an OAuth 2 access token.

Since: 2015.11.0

Authorizations:
basic
query Parameters
grant_type
string
Enum: "client_credentials" "authorization_code" "refresh_token"

The Grant Type. Acceptable values include: 'client_credentials', 'authorization_code' (since 3200.7.0), or 'refresh_token' (since 3200.7.0).

code
string

The authorization code granted by an end user for use by an application in Oauth2 Authorization Code Workflow

redirect_uri
string

The redirectUri to send the end user to once an access token response is made in Oauth2 Authorization Code Workflow

Since: 3200.7.0

refresh_token
string

The refresh token granted for use by an application in Oauth2 Refresh Token Workflow

Since: 3200.7.0

code_verifier
string

The code_verifier to be passed along with authorization code if PKCE standard was used to grant the authorization code.

Since: 3700.4.0

Responses

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "token_type": "string",
  • "expires_in": 0,
  • "refresh_token": "string",
  • "scope": "string",
  • "user_id": "string"
}

Get Token Info

Requests an OAuth 2 access token info.

Since: 3700.6.0

Authorizations:
bearer
query Parameters
access_token
required
string

The application key and secret, encoded using RFC 2617 Basic authentication.

Responses

Response samples

Content type
application/json
{
  • "application_id": "string",
  • "scope": "string"
}

adaptive release

Get Rules

Get all the adaptive release rules associated with the given content in the specified course. Users with all the following entitlements may access this resource:

  • course.content.VIEW
  • course.adaptiverelease.VIEW

Since: 3900.23.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc)" Supported fields are:

  • id
  • title

Since: 3900.23.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Rule

Create a new adaptive release rule with the given title. Users with all the following entitlements may access this resource:

  • course.content.availability.MODIFY
  • course.adaptiverelease.CREATE

Since: 3900.23.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
courseId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
required
string <= 100 characters

Title given to the adaptive release rule

Responses

Request samples

Content type
application/json
{
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string"
}

Get Rule

Get the adaptive release rule associated with the given content in the specified course corresponding to the rule id. Users with all the following entitlements may access this resource:

  • course.content.VIEW
  • course.adaptiverelease.VIEW

Since: 3900.23.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string"
}

Delete Rule

Delete an adaptive release rule. Users with all the following entitlements may access this resource:

  • course.content.availability.MODIFY
  • course.adaptiverelease.DELETE

Since: 3900.28.0

Authorizations:
bearer
path Parameters
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Rule

Updates an adaptive release rule. Users with all the following entitlements may update this resource:

  • course.content.availability.MODIFY
  • course.adaptiverelease.MODIFY The requesting user must also be enroled in the course, or have the system.course.MODIFY entitlement in order to update adaptive release rules.

Since: 3900.28.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
string <= 100 characters

Title given to the adaptive release rule

Responses

Request samples

Content type
application/json
{
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string"
}

Get Criteria

Get the criteria list from the adaptive release rule associated with the given content in the specified course corresponding to the rule id Users with all of the following entitlements may access this resource:

  • course.content.VIEW
  • course.adaptiverelease.VIEW Note: ACL criteria is not fully supported by this API.

Since: 3900.23.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc)" Supported fields are:

  • id

Since: 3900.23.0

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Adaptive Release Rule Criteria

Create a new adaptive release rule criteria. Users with the following entitlements may create resources. For each criteria type the corresponding entitlement is checked:

  • course.adaptiverelease.CREATE
  • course.content.availability.MODIFY
  • course.adaptiverelease.acl.CREATE
  • course.adaptiverelease.dates.CREATE
  • course.adaptiverelease.performance.CREATE Note: ACL criteria is not fully supported by this API.

Since: 3900.23.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "GradeRange"
}

Get Adaptive Release Rule Criterion

Get a single criterion by the specified Id, from the adaptive release rule associated to the given content Users with all of the following entitlements may access this resource:

  • course.content.VIEW
  • course.adaptiverelease.VIEW Note: ACL criteria is not fully supported by this API.

Since: 3900.23.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "GradeRange"
}

Delete Adaptive Release Rule Criterion

Delete a single criterion by the specified Id, from the adaptive release rule associated to the given content. Users with the following entitlements may delete the resource:

  • system.course.MODIFY

  • course.adaptiverelease.DELETE

  • course.content.availability.MODIFY User may need one of the following entitlements depending on the criterion being deleted:

  • course.adaptiverelease.acl.DELETE

  • course.adaptiverelease.dates.DELETE

  • course.adaptiverelease.performance.DELETE

Since: 3900.28.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Adaptive Release Rule Criterion

Update a single criterion by the specified Id, from the adaptive release rule associated to the given content. Users with the following entitlements may update the resource:

  • system.course.MODIFY

  • course.adaptiverelease.MODIFY

  • course.content.availability.MODIFY User may need one of the following entitlements depending on the criterion being updated:

  • course.adaptiverelease.acl.MODIFY

  • course.adaptiverelease.dates.MODIFY

  • course.adaptiverelease.performance.MODIFY For updating criteria of type blackboard.data.content.avlrule.GradeCompletedCriteria, user may need any one of the following entitlements:

  • course.gradebook-metadata.VIEW

  • course.gradebook.MODIFY DateRange and DateRange criteria will behave differently if any of the range defining values are set to null, explicitly. For GradeRange criteria:

  • If maxScore is set to null, it will be understood as 'minScore or higher'.

  • minScore cannot be set to null, regardless of maxScore's value. For DateRange criteria:

  • If startDate is set to null, it will be understood as 'before endDate'.

  • If endDate is set to null, it will be understood as 'after startDate'.

  • At least one date must be valid.

Since: 3900.28.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "GradeRange"
}

Get Adaptive Release ACL Group Predicates

Retrieve the list of groups included in the specified Membership criterion. Users with all the following entitlements may access this resource:

  • course.content.VIEW
  • course.adaptiverelease.VIEW The requesting user must also be enroled in the course, or have the system.course.MODIFY entitlement.

Since: 3900.32.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "groupId(desc)" Supported fields are:

  • groupId

Since: 3900.32.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Set Group Predicate List

Sets the list of group predicates associated with this criterion. The list must not exceed a size of 100. Groups not included in this list will be removed. Groups which are in the list and already associated will remain unchanged. A new association will be created for Groups which are in this list but not associated with the criterion. Users with all the following entitlements may access this resource:

  • course.adaptiverelease.acl.modify Note: The specified criterion must be of type Memberships.

Since: 3900.34.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
Request Body schema: application/json
Array
groupId
required
string

The Group ID.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Group Predicate

Create an association between the specified group and Membership criterion. A single criterion can hold up to a maximum of 100 group associations. Users with all the following entitlements may access this resource:

  • course.adaptiverelease.acl.modify Note: The specified criterion must be of type Memberships.

Since: 3900.32.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "criterionId": "string",
  • "groupId": "string"
}

Delete Group Predicate

Delete the association between the specified group and Membership criterion. Users with all the following entitlements may access this resource:

  • course.adaptiverelease.acl.modify Note: The specified criterion must be of type Memberships.

Since: 3900.32.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Adaptive Release ACL User Predicates

Retrieve a list of users who are included in the specified Membership criterion. Users with all the following entitlements may access this resource:

  • course.content.VIEW
  • course.adaptiverelease.VIEW The requesting user must also be enroled in the course, or have the system.course.MODIFY entitlement.

Since: 3900.32.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "userId(desc)" Supported fields are:

  • userId

Since: 3900.32.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Set Adaptive Release ACL Users Predicates List

Sets the list of user predicates associated with the specified criterion. Users not included in this list will be removed. Users which are in this list and associated with the criterion will remain unchanged. Users which are in this list but not associated with the criterion will be added. Users with all the following entitlements may use this endpoint:

  • course.adaptiverelease.acl.modify The specified users must be enroled in the course with a role that is neither "Guest" nor treated as "Instructor". The requesting user must also be enroled in the course, or have the system.course.MODIFY entitlement.

Since: 3900.34.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
Request Body schema: application/json
Array
userId
required
string

The User ID.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Adaptive Release ACL User Predicate

Create an association between the specified user and Membership criterion. A single criterion can hold up to a maximum of 100 user associations. Users with all the following entitlements may access this resource:

  • course.adaptiverelease.acl.modify The specified user must be enroled in the course with a role that is neither "Guest" nor treated as "Instructor". The requesting user must also be enroled in the course, or have the system.course.MODIFY entitlement.

Since: 3900.32.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "criterionId": "string",
  • "userId": "string"
}

Delete ACL User Predicate

Delete association between user and Membership criterion. The following entitlements are required

  • course.adaptiverelease.acl.modify

Since: 3900.32.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
ruleId
required
string

The rule ID. This should be the primary ID.

ID type Example
primary _123_1
criterionId
required
string

The adaptive release criterion ID. This should be the primary ID.

ID type Example
primary _123_1
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

announcements

Get Announcements

Return a list of System Announcements. Users with the 'system.announcements.VIEW' entitlement can view 'available' System Announcements. Users with the 'system.announcements.admin.VIEW' entitlement can view 'available' & 'unavailable' System Announcements.

Since: 3100.7.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Announcement

Create a System Announcement. Users with the 'system.announcements.CREATE' entitlement can create System Announcements.

Since: 3100.7.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
required
string

The title of this System Announcement.

body
string <BbML>

The message body of the System Announcement. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the System Announcement.

showAtLogin
boolean

Whether this System Announcement should be displayed on the login page.

showInCourses
boolean

Whether this System Announcement should be displayed on courses.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "showAtLogin": true,
  • "showInCourses": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "showAtLogin": true,
  • "showInCourses": true,
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

Get Announcement

Get a System Announcement. Users with the 'system.announcements.VIEW' entitlement can view 'available' System Announcements. Users with the 'system.announcements.admin.VIEW' entitlement can view 'available' & 'unavailable' System Announcements.

Since: 3100.7.0

Authorizations:
bearer
path Parameters
announcementId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "showAtLogin": true,
  • "showInCourses": true,
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

Delete Announcement

Delete a System Announcement. Users with the 'system.announcements.DELETE' entitlement can delete System Announcements.

Since: 3100.7.0

Authorizations:
bearer
path Parameters
announcementId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Announcement

Update a System Announcement. Users with the 'system.announcements.MODIFY' entitlement can update System Announcements.

Since: 3100.7.0

Authorizations:
bearer
path Parameters
announcementId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
string

The title of this System Announcement.

body
string <BbML>

The message body of the System Announcement. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the System Announcement.

showAtLogin
boolean

Whether this System Announcement should be displayed on the login page.

showInCourses
boolean

Whether this System Announcement should be displayed on courses.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "showAtLogin": true,
  • "showInCourses": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "showAtLogin": true,
  • "showInCourses": true,
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

attempt receipt

Get Attempt Receipt

Get the attempt receipt associated with the @param attemptReceiptIdParam

Users with all the following entitlements may access this resource:

  • GradebookEntitlement.ViewAttempts

Since: 3900.37.0

Authorizations:
bearer
path Parameters
attemptReceiptId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "receiptId": "string",
  • "submissionDate": "2019-08-24T14:15:22Z",
  • "submissionTotalSize": 0,
  • "courseId": "string",
  • "gradableItemId": "string",
  • "attemptId": "string",
  • "userId": "string",
  • "groupAttemptId": "string",
  • "groupId": "string",
  • "responseStatus": "ReceiptAndAttemptExist"
}

attendance

Get Course Meetings

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

The "course.attendance.VIEW" entitlement is required to view a Course Meeting.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Course Meeting

Creates a new Course Meeting within the provided Course/Organization Id. An attendance grade book column will automatically be generated if one does not exist.

The "course.attendance.CREATE" entitlement is required to create a Course Meeting.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

courseId
required
string

The primary ID of the course.

title
required
string

The title of the meeting

description
required
string

The description of the meeting

start
required
string <date-time>

The start time of meeting

end
required
string <date-time>

The end time of meeting

externalLink
string

The externalLink of course meeting

Responses

Request samples

Content type
application/json
{
  • "courseId": "string",
  • "title": "string",
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "externalLink": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "courseId": "string",
  • "title": "string",
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "externalLink": "string"
}

Delete All Meetings In Course

Deletes all course meetings in the course for the given course Id.

The 'course.attendance.DELETE' entitlement is required to delete Course Meetings.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Generate Attendance Data Download Url

Generate Download URL for Attendance Data.

The "course.attendance.CREATE" entitlement is required to generate download URL for attendance data.

Since: ????

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "downloadUrl": "string"
}

Get Attendance Records By User Id

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

The "course.attendance.VIEW" entitlement is required to view a Course Meeting attendance.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Delete All Attendance Records By Course And User Id

Deletes all attendance records for the user in specific course.

The 'course.attendance.DELETE' entitlement is required to delete attendance records.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Delete All Attendance By User Id

Deletes all attendance records for the user. It will delete meeting attendance regardless of course.

The 'course.attendance.DELETE' entitlement is required to delete attendance records.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Course Meeting

Returns a Course Meeting for the given meeting Id.

The "course.attendance.VIEW" entitlement is required to view a Course Meeting.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "courseId": "string",
  • "title": "string",
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "externalLink": "string"
}

Delete Course Meeting

Delete the Course Meeting for the given course meeting Id.

The 'course.attendance.DELETE' entitlement is required to delete Course Meetings.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Course Meeting

Update the Course Meeting for the given Course/Organization.

The "course.attendance.MODIFY" entitlement is required to update a Course Meeting. The "course.attendance.VIEW" entitlement is required to view a Course Meeting.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

courseId
string

The primary ID of the course.

title
string

The title of the meeting

description
string

The description of the meeting

start
string <date-time>

The start time of meeting

end
string <date-time>

The end time of meeting

externalLink
string

The externalLink of course meeting

Responses

Request samples

Content type
application/json
{
  • "courseId": "string",
  • "title": "string",
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "externalLink": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "courseId": "string",
  • "title": "string",
  • "description": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "externalLink": "string"
}

Get Attendance Records By Meeting Id

Returns a list of Course Meeting Attendance for a given meeting id.

The "course.attendance.VIEW" entitlement is required to view a Course Meeting attendance.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Attendance Record

Creates a new Course Meeting Attendance within the provided Course/Organization Id.

The "course.attendance.CREATE" entitlement is required to create a Course Meeting Attendance.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

meetingId
required
string

The primary id of the meeting.

userId
required
string

The learn external id of the user.

status
required
string
Enum: "Absent" "Late" "Present" "Excused"

The attendance status of the user.

Type Description
Absent
Late
Present
Excused

Responses

Request samples

Content type
application/json
{
  • "meetingId": "string",
  • "userId": "string",
  • "status": "Absent"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "meetingId": "string",
  • "userId": "string",
  • "status": "Absent"
}

Delete All Records In Meeting

Deletes all attendance records in the course meeting for a given meeting Id.

The 'course.attendance.DELETE' entitlement is required to delete attendance records.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Attendance Records

Creates or updates attendance records for the meeting for all users in the course.

User required both of the entitlements below. If the user does not have the required entitlements,no records are created or modified. Entitlement | User Access ------------|----------- course.attendance.CREATE | Create Course/Organization Course Meeting Attendance course.attendance.MODIFY | Update Course/Organization Meeting Attendance

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

meetingId
required
string

The primary id of the meeting.

userId
required
string

The learn external id of the user.

status
required
string
Enum: "Absent" "Late" "Present" "Excused"

The attendance status of the user.

Type Description
Absent
Late
Present
Excused

Responses

Request samples

Content type
application/json
{
  • "meetingId": "string",
  • "userId": "string",
  • "status": "Absent"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Attendance Record

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

The "course.attendance.VIEW" entitlement is required to view a Course Meeting Attendance.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "meetingId": "string",
  • "userId": "string",
  • "status": "Absent"
}

Delete Attendance Record

Delete attendance record for meeting.It will delete meeting attendance within a course meeting.

The 'course.attendance.DELETE' entitlement is required to delete Attendance Record.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Attendance Record

Update the Course Meeting Attendance data for the given Course/Organization.

The "course.attendance.MODIFY" entitlement is required to update a Course Meeting Attendance. The "course.attendance.VIEW" entitlement is required to view a Course Meeting attendance.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
meetingId
required
string
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

meetingId
string

The primary id of the meeting.

userId
string

The learn external id of the user.

status
string
Enum: "Absent" "Late" "Present" "Excused"

The attendance status of the user.

Type Description
Absent
Late
Present
Excused

Responses

Request samples

Content type
application/json
{
  • "meetingId": "string",
  • "userId": "string",
  • "status": "Absent"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "meetingId": "string",
  • "userId": "string",
  • "status": "Absent"
}

calendar

Get Calendars

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.

Since: 3400.9.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Calendar Items

Get the list of calendar items. This endpoint will return all types of CalendarItems viewable by the user unless a specific type is specified as a query parameter.

If since and since are not provided this endpoint will default to the upcoming two week timeframe from now.

If only since is provided this endpoint will default the until parameter two weeks after since.

If only until is provided this endpoint will default the since parameter two prior to until.

Maximum timespan between since and until is 16 weeks.

CalendarItems of type GradebookColumn are a representation of a specific gradable item and therefore read-only. Modifications to GradebookColumn items performed via the Gradebook Column endpoints will be reflected in the CalendarItems endpoints.

The CalendarItem id can be used as the columnId on the Gradebook Column endpoints found here: /learn/api/public/v2/courses/{courseId}/gradebook/columns/{columnId}.

Example requests:

  • GET ../items?since=2018-01-01T00:00:00.000Z&until2018-02-01T00:00:00.000Z // all calendar items for a given timeframe

  • GET ../items?since=2018-01-01T00:00:00.000Z&until2018-02-01T00:00:00.000Z&courseId=_123_1 // all calendar items for a given course (including Course, OfficeHours, GradebookColumn types)

  • GET ../items?since=2018-01-01T00:00:00.000Z&until2018-02-01T00:00:00.000Z&courseId=_123_1&type=GradebookColumn // all GradebookColumn items for a course

  • GET ../items?since=2018-01-01T00:00:00.000Z&until2018-02-01T00:00:00.000Z&courseId=_123_1&type=OfficeHours // all OfficeHours for a course

  • GET ../items?since=2018-01-01T00:00:00.000Z&until2018-02-01T00:00:00.000Z&type=GradebookColumn // all gradebook columns due within the given timeframe

  • GET ../items?since=2018-01-01T00:00:00.000Z&until2018-02-01T00:00:00.000Z&type=OfficeHours // all OfficeHours available to current user for a given timeframe The following must be true in order to view the following calendar item types:

  • Institution

  • All users can view Institution calendar items

  • Personal

  • Any user may view their own calendar items, but not other user's calendar items

  • Course

  • The user must be enrolled in the course

  • The user must have the 'course.calendar-entry.VIEW' entitlement

  • The course calendar must be enabled for the course the calendar item is associated with

  • GradebookColumn

  • The user must be enrolled in the course

  • The user must have the 'course.calendar-entry.VIEW' entitlement

  • The course calendar must be enabled for the course the GradebookColumn is associated with

  • OfficeHours

  • If the OfficeHours are created for a course calendar (calendarId = a course id) the user must be enrolled in the course

  • If the OfficeHours are created for a all courses (calendarId = PERSONAL) the user must be enrolled in any course that the user owning the OfficeHours is also enrolled in

  • In either case above the course calendar must be enabled

Since: 3400.9.0

Authorizations:
bearer
query Parameters
courseId
string

Specifies only calendar items associated with 'courseId' are to be returned.

Since: 3400.9.0

type
string
Enum: "Course" "GradebookColumn" "Institution" "OfficeHours" "Personal"

Specifies only calendar items with the given type.

Since: 3400.9.0

Type Description
Course
GradebookColumn Read only.
Institution
OfficeHours
Personal
since
string <date-time>

Specifies only calendar items after the 'since' date (inclusive) are to be returned. Maximum of 16 weeks after the 'since' date will be returned. ISO-8601 date-time format is expected: [yyyy-MM-dd|yyyyMMdd][T(hh:mm[:ss[.sss]]|hhmm[ss[.sss]])]?[Z|[+-]hh:mm]]

Since: 3400.9.0

until
string <date-time>

Specifies only calendar items before the 'until' date (inclusive) are to be returned. Maximum of 16 weeks prior to the 'until' date will be returned. ISO-8601 date-time format is expected: [yyyy-MM-dd|yyyyMMdd][T(hh:mm[:ss[.sss]]|hhmm[ss[.sss]])]?[Z|[+-]hh:mm]]

Since: 3400.9.0

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc),start" Supported fields are:

  • id
  • calendarId
  • title
  • start
  • end
  • modified

Since: 3400.9.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Calendar Item

Create a calendar item. Calendar items may be single or recurring.

CalendarItems of type OfficeHours will be assigned to the current user.

The following must be true in order to create a calendar item:

  • Institution

  • The user must have the 'system.calendar-item.EXECUTE' entitlement

  • Personal

  • Any user may create their own calendar items

  • Course

  • The user must be enrolled in the course

  • The user must have the 'course.calendar-entry.CREATE' entitlement

  • The specified courseId must not be for an organization

  • The course calendar must be enabled for the specified course

  • GradebookColumn

  • GradebookColumns must be created using the Gradebook API endpoint: POST /learn/api/public/v2/courses/{courseId}/gradebook/columns

  • OfficeHours

  • The user must have the 'course.calendar-entry.CREATE' entitlement

  • If calendarId = a course id the user must be enrolled in the course and the calendar must be enabled

  • Note: To create for all enrolled courses calendarId must be set to PERSONAL

Since: 3400.9.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
type
required
string
Enum: "Course" "GradebookColumn" "Institution" "OfficeHours" "Personal"

The type of this Calendar Item.

Type Description
Course
GradebookColumn Read only.
Institution
OfficeHours
Personal
calendarId
required
string

Calendar source identifier which indicates the calendar on which the calendar item was created. Examples of possible values : "PERSONAL", "INSTITUTION", and course id in the format of "_3_1".

title
string

Title of the calendar item. Title length cannot exceed 255 characters.

description
string

Description of the calendar item.

location
string

Location of the calendar item and it cannot exceed 1024 characters.

start
string <date-time>

Start date of the calendar item either in the past if the calendar item is for an event that's already started OR in the future if it's for an event to start in the future. This is always set and should occur before the end date.

end
string <date-time>

End date of the calendar item either in the past if the calendar item is for an event that's already end OR in the future if it's for an event to end in the future. This is always set and should occur after the start date.

disableResizing
boolean

Whether resizing of the calendar item should NOT be allowed.

object (CalendarItemRecurrence)

Responses

Request samples

Content type
application/json
{
  • "type": "Course",
  • "calendarId": "string",
  • "title": "string",
  • "description": "string",
  • "location": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "disableResizing": true,
  • "recurrence": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "Course",
  • "calendarId": "string",
  • "calendarName": "string",
  • "title": "string",
  • "description": "string",
  • "location": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "color": "string",
  • "disableResizing": true,
  • "createdByUserId": "string",
  • "dynamicCalendarItemProps": {
    },
  • "recurrence": {
    }
}

Get Calendar Item

Get a course calendar item.

CalendarItems of type GradebookColumn are a representation of a specific gradable item and therefore read-only. Modifications to GradebookColumn items performed via the Gradebook Column endpoints will be reflected in the CalendarItems endpoints.

The CalendarItem id can be used as the columnId on the Gradebook Column endpoints found here: /learn/api/public/v2/courses/{courseId}/gradebook/columns/{columnId}.

The following must be true in order to view the following calendar items types:

  • Institution

  • All users can view Institution calendar items

  • Personal

  • Any user may view their own calendar items, but not other user's calendar items

  • Course

  • The user must be enrolled in the course

  • The user must have the 'course.calendar-entry.VIEW' entitlement

  • The course calendar must be enabled for the course the calendar item is associated with

  • GradebookColumn

  • The user must be enrolled in the course

  • The user must have the 'course.calendar-entry.VIEW' entitlement

  • The course calendar must be enabled for the course the GradebookColumn is associated with

  • OfficeHours

  • If the OfficeHours are created for a course calendar (calendarId = a course id) the user must be enrolled in the course

  • If the OfficeHours are created for a all courses (calendarId = PERSONAL) the user must be enrolled in any course that the user owning the OfficeHours is also enrolled in

  • In either case above the course calendar must be enabled

Since: 3400.9.0

Authorizations:
bearer
path Parameters
calendarItemType
required
string
Enum: "Course" "GradebookColumn" "Institution" "OfficeHours" "Personal"
calendarItemId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "Course",
  • "calendarId": "string",
  • "calendarName": "string",
  • "title": "string",
  • "description": "string",
  • "location": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "color": "string",
  • "disableResizing": true,
  • "createdByUserId": "string",
  • "dynamicCalendarItemProps": {
    },
  • "recurrence": {
    }
}

Delete Calendar Item

Delete a calendar item or series.

The following must be true in order to delete a calendar item:

  • Institution

  • The user must have the 'system.calendar-item.EXECUTE' entitlement

  • Personal

  • Any user may delete their own calendar items

  • Course

  • The user must be enrolled in the course

  • The user must have the 'course.calendar-entry.MODIFY' entitlement

  • The course calendar must be enabled for the specified course

  • GradebookColumn

  • GradebookColumns must be deleted using the Gradebook API endpoint: DELETE /learn/api/public/v2/courses/{courseId}/gradebook/columns/{columnId}

  • OfficeHours

  • The user must have the 'course.calendar-entry.MODIFY' entitlement

  • The user must own the calendarItem

  • The calendar must be enabled if the calendarItem is associated with a course calendar.

Since: 3400.9.0

Authorizations:
bearer
path Parameters
calendarItemType
required
string
Enum: "Course" "GradebookColumn" "Institution" "OfficeHours" "Personal"
calendarItemId
required
string
query Parameters
deleteSeries
boolean

delete the series calendar items or just one calendar item. true - delete the series, false - delete one calendar item. Defaults to false.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Calendar Item

Update a calendar item or series.

When updating the series the existing CalendarItems will be removed and a new set of CalendarItems will be created. This is the same behavior as experienced via the UI.

The following must be true in order to update a calendar item:

  • Institution

  • The user must have the 'system.calendar-item.EXECUTE' entitlement

  • Personal

  • Any user may update their own calendar items

  • Course

  • The user must be enrolled in the course

  • The user must have the 'course.calendar-entry.MODIFY' entitlement

  • The course calendar must be enabled for the specified course

  • GradebookColumn

  • GradebookColumns must be updated using the Gradebook API endpoint: PATCH /learn/api/public/v2/courses/{courseId}/gradebook/columns/{columnId}

  • OfficeHours

  • The user must have the 'course.calendar-entry.MODIFY' entitlement

  • If calendarId = a course id the user must be enrolled in the course and the calendar must be enabled

Since: 3400.9.0

Authorizations:
bearer
path Parameters
calendarItemType
required
string
Enum: "Course" "GradebookColumn" "Institution" "OfficeHours" "Personal"
calendarItemId
required
string
query Parameters
updateSeries
boolean

update the series calendar items or just one calendar item. true - update the entire series, false - update a single calendar item. Defaults to false. When updating an entire series the full recurrence object must be populated just as if creating a new calendar series. If updating a single calendar entry the recurrence must not be specified.

Request Body schema: application/json
title
string

Title of the calendar item. Title length cannot exceed 255 characters.

description
string

Description of the calendar item.

location
string

Location of the calendar item and it cannot exceed 1024 characters.

start
string <date-time>

Start date of the calendar item either in the past if the calendar item is for an event that's already started OR in the future if it's for an event to start in the future. This is always set and should occur before the end date.

end
string <date-time>

End date of the calendar item either in the past if the calendar item is for an event that's already end OR in the future if it's for an event to end in the future. This is always set and should occur after the start date.

disableResizing
boolean

Whether resizing of the calendar item should NOT be allowed.

object (CalendarItemRecurrence)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "location": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "disableResizing": true,
  • "recurrence": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "Course",
  • "calendarId": "string",
  • "calendarName": "string",
  • "title": "string",
  • "description": "string",
  • "location": "string",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "color": "string",
  • "disableResizing": true,
  • "createdByUserId": "string",
  • "dynamicCalendarItemProps": {
    },
  • "recurrence": {
    }
}

content

Get Contents

List top-level content items in a course.

Users with at least one of the following entitlements may access any content item:

  • course.adaptiverelease.CREATE
  • course.adaptiverelease.DELETE
  • course.adaptiverelease.MODIFY
  • course.adaptiverelease.VIEW
  • course.configure-areas.EXECUTE
  • course.content-item.copy.EXECUTE
  • course.content.DELETE
  • course.content.MODIFY
  • course.learningstandards.alignment.CREATE
  • course.performance.dashboard.VIEW

For other users, permission to view the content item will depend on the availability settings of the course and the content item. The following fields will be filtered out:

  • availability.available
  • availability.allowGuests
  • availability.adaptiveRelease

Since: 3000.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

recursive
boolean

Search for child content recursively. A value of 'true' indicates that search results should include all content descendants within the hierarchy of the specified parent. A value of 'false' indicates results should be limited to immediate children only. Not setting this field defaults to 'false' behavior; only including immediate children.

Since: 3100.2.0

title
string

Search for content title. Will return all Content items whose title contains the supplied search value.

Since: 3900.10.0

contentHandler
string

Search for the specific content handler. Not setting this field will return all content handlers.

Since: 3400.5.0

created
string <date-time>

Search for contents with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3700.1.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3700.1.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for contents with a modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3700.4.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3700.4.0

Type Description
lessThan
greaterOrEqual
reviewable
boolean

Search contents by whether they are reviewable or not.

Since: 3700.15.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Content

Create a new top-level content item. Currently only folders may be created as top-level content items in a Classic course. For Ultra courses any content item is allowed and will be placed under the ROOT folder. Entitlement "course.content.CREATE" required to create Course Content.

Since: 3000.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
allowChildCourseContent
boolean

By default, child courses of a cross listed course can not have their contents modified. The allowChildCourseContent parameter can be sent as true in order to bypass this validation.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
parentId
string

The ID of the content's parent. Note that top-level contents do not have parents. The 'parentId' field is a writable field as of the Bb Learn 3200.6.0 release. Specifying a new value in PATCH requests allows the Content object to be moved from one parent to another.

title
required
string

The title or name of this content. Typically shown as the main text to click in the course outline when accessing the content.

body
string <BbML>

The body text associated with this content. This field supports BbML; see here for more information.

description
string <= 750 characters

The short description of this content.

This field is not used in Classic courses. For Ultra courses this is used to show information directly on the course outline.

position
integer <int32>

The position of this content within its parent folder. Position values are zero-based (the first element has a position value of zero, not one). Default position is last in the list of child contents under the parent.

launchInNewWindow
boolean

Indicates whether the content is going to open in a new window.

Since: 3800.10.0

reviewable
boolean

Indicates whether Review Status is enabled for this content. Content items with review status enabled can be marked as reviewed by students in classic courses and content items with review status enabled in Ultra are either in a Forced Sequence or content that should be counted towards the progress tracking feature as of 3900.19 This can be used to track performance and in Adaptive Release rules to control the release of other content.

Since: 3700.15.0

object (Availability)

Settings controlling availability of the content to students.

object (ContentHandler)

Responses

Request samples

Content type
application/json
{
  • "parentId": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "description": "string",
  • "position": 0,
  • "launchInNewWindow": true,
  • "reviewable": true,
  • "availability": {
    },
  • "contentHandler": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "parentId": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "hasChildren": true,
  • "hasGradebookColumns": true,
  • "hasAssociatedGroups": true,
  • "launchInNewWindow": true,
  • "reviewable": true,
  • "availability": {
    },
  • "contentHandler": {
    },
  • "links": [
    ]
}

Create Assignment

Create assignment content, grade column and file attachments in one POST. Any files specified with assignment creation must be previously uploaded using the uploads endpoint. Ultra courses supported since 3300.9.0 Classic courses supported since 3400.9.0

For Ultra courses, this will create:

  • A content item with a contentHandler.id = resource/x-bb-asmt-test-link

  • A gradebook column with contentId = id of the new content

  • An assessment question with questionHandler.type = presentation that includes the instructions as the question text

  • An assessment question with questionHandler.type = presentation for each given file attachment

    The following entitlements are required to create an Ultra assignment:
  • course.content.CREATE

  • course.assessment.CREATE

  • course.content.assessment.deploy.EXECUTE

  • course.gradebook.MODIFY

  • course.assessment.MODIFY, if instructions or files are specified

    For Classic courses, this will create:
  • A content item with contentHandler.id = resource/x-bb-assignment

  • A gradebook column with contentId = id of the new content

  • A file attachment for each given file attachment id The following entitlements are required to create a Classic assignment:

  • course.content.CREATE

  • course.gradebook.MODIFY

  • course.content.MODIFY, if files are specified

Since: 3300.9.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
allowChildCourseContent
boolean

By default, child courses of a cross listed course can not have their contents modified. The allowChildCourseContent parameter can be sent as true in order to bypass this validation.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
parentId
string

The id of the parent content for the created assignment.

title
required
string

The title used for the created assignment content and gradebook column. Typically shown as the main text to click in the course outline when accessing the assignment.

instructions
string <BbML>

The text instructions to use when creating the assignment content. This field supports BbML; see here for more information.

description
string

The description to use when creating the assignment content.

position
integer <int32>

The position of the created assignment within the other other content of its parent. Position values are zero-based (the first element has a position value of zero, not one). Default position is last in the list of child contents under the parent.

fileUploadIds
Array of strings
object (Availability)
object (Grading)
object (Score)
object (OriginalityReportingTool)

Responses

Request samples

Content type
application/json
{
  • "parentId": "string",
  • "title": "string",
  • "instructions": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "description": "string",
  • "position": 0,
  • "fileUploadIds": [
    ],
  • "availability": {
    },
  • "grading": {
    },
  • "score": {
    },
  • "originalityReportingTool": { }
}

Response samples

Content type
application/json
{
  • "contentId": "string",
  • "gradeColumnId": "string",
  • "assessmentId": "string",
  • "questionIds": [
    ],
  • "attachmentIds": [
    ]
}

Get Content

Load a specific content item from a course.

Users with at least one of the following entitlements may access any content item:

  • course.adaptiverelease.CREATE
  • course.adaptiverelease.DELETE
  • course.adaptiverelease.MODIFY
  • course.adaptiverelease.VIEW
  • course.configure-areas.EXECUTE
  • course.content-item.copy.EXECUTE
  • course.content.DELETE
  • course.content.MODIFY
  • course.learningstandards.alignment.CREATE
  • course.performance.dashboard.VIEW

For other users, permission to view the content item will depend on the availability settings of the course and the content item. The following fields will be filtered out:

  • availability.available
  • availability.allowGuests
  • availability.adaptiveRelease

Since: 3000.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "parentId": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "hasChildren": true,
  • "hasGradebookColumns": true,
  • "hasAssociatedGroups": true,
  • "launchInNewWindow": true,
  • "reviewable": true,
  • "availability": {
    },
  • "contentHandler": {
    },
  • "links": [
    ]
}

Delete Content

Delete a content item.

The 'course.content.DELETE' entitlement is required.

Since: 3000.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
query Parameters
allowChildCourseContent
boolean

By default, child courses of a cross listed course can not have their contents modified. The allowChildCourseContent parameter can be sent as true in order to bypass this validation.

deleteGrades
boolean

If true and there is a grade column associated with this content, that grade column will be marked as deleted. All attempts and grades will also be removed. If false, the grade column will not be marked as deleted. Attempts will not be deleted and grades will be converted to manually entered grades. Defaults to false.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Content

Update a content item.

The 'course.content.MODIFY' entitlement is required.

Since: 3000.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
query Parameters
allowChildCourseContent
boolean

By default, child courses of a cross listed course can not have their contents modified. The allowChildCourseContent parameter can be sent as true in order to bypass this validation.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
parentId
string

The ID of the content's parent. Note that top-level contents do not have parents. The 'parentId' field is a writable field as of the Bb Learn 3200.6.0 release. Specifying a new value in PATCH requests allows the Content object to be moved from one parent to another.

title
string

The title or name of this content. Typically shown as the main text to click in the course outline when accessing the content.

body
string <BbML>

The body text associated with this content. This field supports BbML; see here for more information.

description
string <= 750 characters

The short description of this content.

This field is not used in Classic courses. For Ultra courses this is used to show information directly on the course outline.

position
integer <int32>

The position of this content within its parent folder. Position values are zero-based (the first element has a position value of zero, not one). Default position is last in the list of child contents under the parent.

launchInNewWindow
boolean

Indicates whether the content is going to open in a new window.

Since: 3800.10.0

reviewable
boolean

Indicates whether Review Status is enabled for this content. Content items with review status enabled can be marked as reviewed by students in classic courses and content items with review status enabled in Ultra are either in a Forced Sequence or content that should be counted towards the progress tracking feature as of 3900.19 This can be used to track performance and in Adaptive Release rules to control the release of other content.

Since: 3700.15.0

object (Availability)

Settings controlling availability of the content to students.

object (ContentHandler)

Responses

Request samples

Content type
application/json
{
  • "parentId": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "description": "string",
  • "position": 0,
  • "launchInNewWindow": true,
  • "reviewable": true,
  • "availability": {
    },
  • "contentHandler": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "parentId": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "hasChildren": true,
  • "hasGradebookColumns": true,
  • "hasAssociatedGroups": true,
  • "launchInNewWindow": true,
  • "reviewable": true,
  • "availability": {
    },
  • "contentHandler": {
    },
  • "links": [
    ]
}

Get Content Children

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).

Users with at least one of the following entitlements may access all child contents from a content item:

  • course.adaptiverelease.CREATE

  • course.adaptiverelease.DELETE

  • course.adaptiverelease.MODIFY

  • course.adaptiverelease.VIEW

  • course.configure-areas.EXECUTE

  • course.content-item.copy.EXECUTE

  • course.content.DELETE

  • course.content.MODIFY

  • course.learningstandards.alignment.CREATE

  • course.performance.dashboard.VIEW In any of the following cases, the user may also get the child contents from a content item.

  • The user has a role in the course other than guest or observer, and doesn't have any of the previously mentioned entitlements.

  • The user has the role of observer, and both the course and the underlying content allow observer access.

  • The user accesses the course as guest, both the course and the underlying content allow guest access, further, the course content menu allows guest access as well for the original courses. For other users, permission to view the content item will depend on the availability settings of the course and the content item. The following fields will be filtered out:

  • availability.available

  • availability.allowGuests

  • availability.adaptiveRelease

Since: 3000.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

recursive
boolean

Search for child content recursively. A value of 'true' indicates that search results should include all content descendants within the hierarchy of the specified parent. A value of 'false' indicates results should be limited to immediate children only. Not setting this field defaults to 'false' behavior; only including immediate children.

Since: 3100.2.0

title
string

Search for content title. Will return all Content items whose title contains the supplied search value.

Since: 3900.10.0

contentHandler
string

Search for the specific content handler. Not setting this field will return all content handlers.

Since: 3400.5.0

created
string <date-time>

Search for contents with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3700.1.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3700.1.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for contents with a modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3700.4.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3700.4.0

Type Description
lessThan
greaterOrEqual
reviewable
boolean

Search contents by whether they are reviewable or not.

Since: 3700.15.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Child

Create a new child content item beneath an existing content item. This is only valid for content items that are allowed to have children (e.g. Folders). Entitlement "course.content.CREATE" required to create Course Content.

Since: 3000.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
query Parameters
allowChildCourseContent
boolean

By default, child courses of a cross listed course can not have their contents modified. The allowChildCourseContent parameter can be sent as true in order to bypass this validation.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
parentId
string

The ID of the content's parent. Note that top-level contents do not have parents. The 'parentId' field is a writable field as of the Bb Learn 3200.6.0 release. Specifying a new value in PATCH requests allows the Content object to be moved from one parent to another.

title
required
string

The title or name of this content. Typically shown as the main text to click in the course outline when accessing the content.

body
string <BbML>

The body text associated with this content. This field supports BbML; see here for more information.

description
string <= 750 characters

The short description of this content.

This field is not used in Classic courses. For Ultra courses this is used to show information directly on the course outline.

position
integer <int32>

The position of this content within its parent folder. Position values are zero-based (the first element has a position value of zero, not one). Default position is last in the list of child contents under the parent.

launchInNewWindow
boolean

Indicates whether the content is going to open in a new window.

Since: 3800.10.0

reviewable
boolean

Indicates whether Review Status is enabled for this content. Content items with review status enabled can be marked as reviewed by students in classic courses and content items with review status enabled in Ultra are either in a Forced Sequence or content that should be counted towards the progress tracking feature as of 3900.19 This can be used to track performance and in Adaptive Release rules to control the release of other content.

Since: 3700.15.0

object (Availability)

Settings controlling availability of the content to students.

object (ContentHandler)

Responses

Request samples

Content type
application/json
{
  • "parentId": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "description": "string",
  • "position": 0,
  • "launchInNewWindow": true,
  • "reviewable": true,
  • "availability": {
    },
  • "contentHandler": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "parentId": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "hasChildren": true,
  • "hasGradebookColumns": true,
  • "hasAssociatedGroups": true,
  • "launchInNewWindow": true,
  • "reviewable": true,
  • "availability": {
    },
  • "contentHandler": {
    },
  • "links": [
    ]
}

content collection resources

Get Resources

Get the top-level content collection folders.

Users with the entitlement 'bbcms.cs.filesystem.REST.VIEW' or filesystem access can use this endpoint.

Since: 3900.41.0

Authorizations:
bearer
query Parameters
modified
string <date-time>

Search by 'modified' date. Can be used along with 'modifiedCompare'.

Since: 3900.41.0

created
string <date-time>

Search by 'created' date. Can be used along with 'createdCompare'.

Since: 3900.41.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Search criteria to be applied to 'modified', When not specified, it will perform as 'greaterOrEqual' by default if 'modified' contains a valid date. Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.41.0

Type Description
lessThan
greaterOrEqual
createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Search criteria to be applied to 'created', When not specified, it will perform as 'greaterOrEqual' by default if 'created' contains a valid date. Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.41.0

Type Description
lessThan
greaterOrEqual
size
integer <int64>

Search by file 'size'. Can be used along 'sizeCompare'. If specified, no folders will be retrieved.

Since: 3900.41.0

creatorId
string

Search files by 'creatorId'

Since: 3900.41.0

sizeCompare
string
Enum: "equals" "notEquals" "greaterOrEqual" "greaterThan" "lessOrEqual" "lessThan"

Search operator to be applied to 'size', When not specified, it will perform as 'equals' by default if 'size' is specified. Must be one of the following:

  • equals - optional
  • notEquals
  • greaterOrEqual
  • greaterThan
  • lessOrEqual
  • lessThan

Since: 3900.41.0

Type Description
equals
notEquals
greaterOrEqual
greaterThan
lessOrEqual
lessThan
type
string
Enum: "File" "Folder"

Search for Resources whose Type matches the specified value. Valid values are 'File' and 'Folder'.

Type Description
File
Folder
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Content Collection Resource

Retrieves a content collection resource by id.

Resource objects only returned if the requesting User has been granted 'Read' permission on the Resource, or the User has the 'bbcms.cs.fileSystem.REST.VIEW' entitlement.

Since: 3900.41.0

Authorizations:
bearer
path Parameters
resourceId
required
string

The xythos resource ID, formatted either as a primary ID or a xythos ID.

 | ID type    | Example                                          | |------------|--------------------------------------------------| | primary    | _123_1                                           | | xid        | xid-123_1-1                                      | 
The home directory of a specified course is supported by the following syntax.
 | ID type    | Example                                          | |------------|--------------------------------------------------| | primary    | ~course:_123_1                                   | | secondary  | ~course:courseId:theCourseId                     | | secondary  | ~course:externalId:theExternalId                 | | secondary  | ~course:uuid:theUuid                             | 
Similarly, the home directory of a specified user is supported as follows.
 | ID type    | Example                                          | |------------|--------------------------------------------------| | primary    | ~user:_123_1                                     | | secondary  | ~user:userName:theUserName                       | | secondary  | ~user:externalId:theExternalId                   | | secondary  | ~user:uuid:theUuid                               | 
Resource IDs for home directory of the current user in context is supported as follows.

ID type Example
special ~
special ~user:me
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "xid": "string",
  • "name": "string",
  • "type": "File",
  • "size": 0,
  • "hasLinks": true,
  • "parentId": "string",
  • "creatorId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "mimeType": "string",
  • "version": 0,
  • "links": [
    ]
}

Get Resource Children

Get the direct children resources of the specified content collection resource. The specified resource must be a folder.

Users with the entitlement 'bbcms.cs.filesystem.REST.VIEW' or filesystem access can use this endpoint.

Since: 3900.41.0

Authorizations:
bearer
path Parameters
resourceId
required
string

The xythos resource ID, formatted either as a primary ID or a xythos ID.

 | ID type    | Example                                          | |------------|--------------------------------------------------| | primary    | _123_1                                           | | xid        | xid-123_1-1                                      | 
The home directory of a specified course is supported by the following syntax.
 | ID type    | Example                                          | |------------|--------------------------------------------------| | primary    | ~course:_123_1                                   | | secondary  | ~course:courseId:theCourseId                     | | secondary  | ~course:externalId:theExternalId                 | | secondary  | ~course:uuid:theUuid                             | 
Similarly, the home directory of a specified user is supported as follows.
 | ID type    | Example                                          | |------------|--------------------------------------------------| | primary    | ~user:_123_1                                     | | secondary  | ~user:userName:theUserName                       | | secondary  | ~user:externalId:theExternalId                   | | secondary  | ~user:uuid:theUuid                               | 
Resource IDs for home directory of the current user in context is supported as follows.

ID type Example
special ~
special ~user:me
query Parameters
modified
string <date-time>

Search by 'modified' date. Can be used along with 'modifiedCompare'.

Since: 3900.41.0

created
string <date-time>

Search by 'created' date. Can be used along with 'createdCompare'.

Since: 3900.41.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Search criteria to be applied to 'modified', When not specified, it will perform as 'greaterOrEqual' by default if 'modified' contains a valid date. Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.41.0

Type Description
lessThan
greaterOrEqual
createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Search criteria to be applied to 'created', When not specified, it will perform as 'greaterOrEqual' by default if 'created' contains a valid date. Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.41.0

Type Description
lessThan
greaterOrEqual
size
integer <int64>

Search by file 'size'. Can be used along 'sizeCompare'. If specified, no folders will be retrieved.

Since: 3900.41.0

creatorId
string

Search files by 'creatorId'

Since: 3900.41.0

sizeCompare
string
Enum: "equals" "notEquals" "greaterOrEqual" "greaterThan" "lessOrEqual" "lessThan"

Search operator to be applied to 'size', When not specified, it will perform as 'equals' by default if 'size' is specified. Must be one of the following:

  • equals - optional
  • notEquals
  • greaterOrEqual
  • greaterThan
  • lessOrEqual
  • lessThan

Since: 3900.41.0

Type Description
equals
notEquals
greaterOrEqual
greaterThan
lessOrEqual
lessThan
type
string
Enum: "File" "Folder"

Search for Resources whose Type matches the specified value. Valid values are 'File' and 'Folder'.

Type Description
File
Folder
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

content file attachments

Get File Attachments

Get the file attachment meta data associated to the Content Item

Supported Content Item Types: Content File (resource/x-bb-file), Document (resource/x-bb-document), Classic Assignment (resource/x-bb-assignment) (Since 3400.9.0) for a Classic Course

Since: 3200.8.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create File Attachment

Attach an uploaded file to a Content item.

Supported Content Item Types: Content File (resource/x-bb-file), Document (resource/x-bb-document), Classic Assignment (resource/x-bb-assignment) for a Classic Course

Since: 3400.9.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": "string",
  • "fileName": "string",
  • "mimeType": "string"
}

Get File Attachment

Get the file attachment meta data by an attachment ID

Supported Content Item Types: Content File (resource/x-bb-file), Document (resource/x-bb-document), Classic Assignment(resource/x-bb-assignment) (Since 3400.9.0) for a Classic Course

Since: 3200.8.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
attachmentId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "fileName": "string",
  • "mimeType": "string"
}

Delete File Attachment

Delete file attachment meta data by attachment ID

Supported Content Item Types: Content File (resource/x-bb-file), Document (resource/x-bb-document), Classic Assignment(resource/x-bb-assignment) for a Classic Course

Since: 3400.9.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
attachmentId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Download

Download the contents of a Content Item.

Supported Content Item Types: Content File (resource/x-bb-file), Document (resource/x-bb-document), Classic Assignment (resource/x-bb-assignment) (Since 3400.9.0) for a Classic Course

Since: 3200.8.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
attachmentId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

content group assignments

Get Content Groups

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

Callers not enrolled in the course must have at least one of the following entitlements:

  • course.content.designer.VIEW Callers enrolled in the course will only be able to see Groups that are available to them.

Since: 3100.5.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Content Group

Returns a content group association for the specified content and group.

Callers not enrolled in the course must have at least one of the following entitlements:

  • course.content.designer.VIEW Callers enrolled in the course will only be able to see Groups that are available to them.

Since: 3100.5.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "contentId": "string",
  • "groupId": "string"
}

Create Content Group

Creates a content group association.

Callers not enrolled in the course must have at least one of the following entitlements:

  • course.content.MODIFY If the content is going to be accessed in Ultra, the following rules should be followed by the caller:

  • If the group is part of a set, all groups with the set should be associated with the content. - The content should be associated exclusively to individual groups or groups within a set, but not both.

Since: 3100.5.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
allowChildCourseContent
boolean

By default, child courses of a cross listed course can not have their contents modified. The allowChildCourseContent parameter can be sent as true in order to bypass this validation.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
contentId
string

The ID of the associated content.

groupId
string

The ID of the association of content and group.

Responses

Request samples

Content type
application/json
{
  • "contentId": "string",
  • "groupId": "string"
}

Response samples

Content type
application/json
{
  • "contentId": "string",
  • "groupId": "string"
}

Delete Content Group

Deletes a content group association.

Individual Groups without Content association are not supported in Ultra. Groups existing in this state have undefined behavior, and may be removed. In Ultra courses, for best performance, immediately either delete the associated group, or associated it with a new Content item.

If the content is going to be accessed in Ultra, and the group being removed is part of a group set, then the caller should ensure that all groups within that set are removed from the content.

Required entitlements:

  • course.content.DELETE

Since: 3100.5.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
allowChildCourseContent
boolean

By default, child courses of a cross listed course can not have their contents modified. The allowChildCourseContent parameter can be sent as true in order to bypass this validation.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

content resources

Get Top Level Course Resources

Returns a list of the top-level course resources.

Users with the 'bbcms.cs.fileSystem.REST.VIEW' entitlement can view all resources.

All other users can view resources for which they have been granted the 'Read' permission.

Since: 3700.12.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
type
string
Enum: "File" "Folder"

Search for Resources whose Type matches the specified value. Valid values are 'File' and 'Folder'.

Type Description
File
Folder
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Course Resource

Loads a Course Resource by Id.

Users with the 'bbcms.cs.fileSystem.REST.VIEW' entitlement can view all resources.

All other users can view resources for which they have been granted the 'Read' permission.

Since: 3700.13.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
resourceId
required
string

The xythos resource ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
xid xid-123_1-1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "xid": "string",
  • "name": "string",
  • "type": "File",
  • "size": 0,
  • "hasLinks": true,
  • "parentId": "string",
  • "creatorId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "mimeType": "string",
  • "version": 0,
  • "downloadUrl": "string"
}

Get Course Resource Children

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

Users with the 'bbcms.cs.fileSystem.REST.VIEW' entitlement can view all resources.

All other users can view resources for which they have been granted the 'Read' permission.

Since: 3700.13.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
resourceId
required
string

The xythos resource ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
xid xid-123_1-1
query Parameters
type
string
Enum: "File" "Folder"

Search for Resources whose Type matches the specified value. Valid values are 'File' and 'Folder'.

Type Description
File
Folder
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

content review

Get Review Status

Obtain the review status for a content item. This endpoint will only fetch the reviewStatus if the corresponding content was previously marked as reviewable.

Since: 3700.16.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "contentId": "string",
  • "userId": "string",
  • "reviewed": true,
  • "reviewDate": "2019-08-24T14:15:22Z"
}

Update Review Status

Update the review status for a content item. This endpoint will only update the reviewStatus if the corresponding content was previously marked as reviewable. Updating a content's review status to be reviewed is allowed in an Ultra course but updating a content item as unreviewed is not allowed in an Ultra course starting in 3900.19.0

Since: 3700.16.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
contentId
required
string

The Content ID. This may be the primary ID, or any of the following keywords: interactive, indirect, root.

ID type Example
primary _123_1
keyword root
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
reviewed
boolean

The current status of the content's 'reviewed' attribute.

Since: 3700.16.0

Responses

Request samples

Content type
application/json
{
  • "reviewed": true
}

Response samples

Content type
application/json
{
  • "contentId": "string",
  • "userId": "string",
  • "reviewed": true,
  • "reviewDate": "2019-08-24T14:15:22Z"
}

course announcements

Get Announcements

Return a list of Course Announcements. Users with the 'course.announcements.VIEW' entitlement can view 'available' Course Announcements. Users with the 'course.announcements.VIEW' & 'course.announcements.MODIFY' entitlement can view 'available' & 'unavailable' Course Announcements.

Since: 3500.3.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

created
string <date-time>

Search for announcements with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3500.3.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Defaults to greaterOrEqual if not specified. 'lessThan' also an accepted value.

Since: 3500.3.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for announcements with a modified date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3500.3.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Defaults to greaterOrEqual if not specified. 'lessThan' also an accepted value.

Since: 3500.3.0

Type Description
lessThan
greaterOrEqual
title
string

Search for announcements with a title like the provided value.

Since: 3500.3.0

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc),created" Supported fields are:

  • title
  • modified

Since: 3500.3.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Announcement

Create a Course Announcement. Users with the 'course.announcements.CREATE' and 'course.announcements.VIEW' entitlements can create Course Announcements.

Since: 3500.3.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
required
string

The title of this Announcement.

body
string <BbML>

The message body of the Announcement. This field supports BbML; see here for more information.

draft
boolean

An indication of whether or not the Announcement is in draft status.

object (Availability)

Settings controlling availability of the course to students.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "draft": true,
  • "availability": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "creator": "string",
  • "draft": true,
  • "availability": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "participants": 0,
  • "position": 0,
  • "readCount": 0
}

Get Announcement

Get a Course Announcement. Users with the 'course.announcements.VIEW' entitlement can view 'available' Course Announcements. Users with the 'course.announcements.VIEW' & 'course.announcements.MODIFY' entitlement can view 'available' & 'unavailable' Course Announcements.

Since: 3500.3.0

Authorizations:
bearer
path Parameters
announcementId
required
string
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "creator": "string",
  • "draft": true,
  • "availability": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "participants": 0,
  • "position": 0,
  • "readCount": 0
}

Delete Announcement

Delete a Course Announcement. Users with the 'course.announcements.DELETE' and 'course.announcements.VIEW' entitlements can delete Course Announcements.

Since: 3500.3.0

Authorizations:
bearer
path Parameters
announcementId
required
string
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Announcement

Update a Course Announcement. Users with the 'course.announcements.MODIFY' and 'course.announcements.VIEW' entitlements can update Course Announcements.

Since: 3500.3.0

Authorizations:
bearer
path Parameters
announcementId
required
string
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
string

The title of this Announcement.

body
string <BbML>

The message body of the Announcement. This field supports BbML; see here for more information.

draft
boolean

An indication of whether or not the Announcement is in draft status.

object (Availability)

Settings controlling availability of the course to students.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "draft": true,
  • "availability": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "creator": "string",
  • "draft": true,
  • "availability": {
    },
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "participants": 0,
  • "position": 0,
  • "readCount": 0
}

course assessments

Get Questions

Get the list of questions for an Ultra Assessment.

Either 'course.assessment.CREATE' or 'course.assessment.MODIFY' entitlement is needed to view questions. If the assessment has the external submissions setting enabled, then either the 'course.assessment.VIEW' or 'course.assessment.EXECUTE' entitlement is needed to view questions, and only presentation questions are returned.

Since: 3300.9.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
assessmentId
required
string
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Question

Creates a question for an Ultra Assessment.

The 'course.assessment.MODIFY' entitlement is needed to create a question.

Since: 3300.9.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
assessmentId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

title
string

The title of the question.

text
required
string

The main text content for the question. It may include plain and formatted text, and all kinds of content supported by the full text editor.

position
integer <int32>

Position of the Question on the Assessment Canvas.

points
number

The point value for the question.

correctResponseFeedback
string

Feedback displayed to students when their submitted response is correct.

incorrectResponseFeedback
string

Feedback displayed to students when their submitted response is incorrect.

instructorNotes
string

Text added to the question as a note for the instructor. It is not intended to be displayed to students.

object (QuestionHandler)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "text": "string",
  • "position": 0,
  • "points": 0,
  • "correctResponseFeedback": "string",
  • "incorrectResponseFeedback": "string",
  • "instructorNotes": "string",
  • "questionHandler": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "text": "string",
  • "position": 0,
  • "points": 0,
  • "correctResponseFeedback": "string",
  • "incorrectResponseFeedback": "string",
  • "instructorNotes": "string",
  • "questionHandler": {
    }
}

Get Question By Id

Get a question by Id from an Ultra Assessment.

Either 'course.assessment.CREATE' or 'course.assessment.MODIFY' entitlement is needed to view a question.

Since: 3300.9.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
assessmentId
required
string
questionId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "text": "string",
  • "position": 0,
  • "points": 0,
  • "correctResponseFeedback": "string",
  • "incorrectResponseFeedback": "string",
  • "instructorNotes": "string",
  • "questionHandler": {
    }
}

Delete Question

Delete a question, specified by Id, from an Ultra Assessment.

The 'course.assessment.DELETE' entitlement is needed to perform the operation.

Since: 3300.9.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
assessmentId
required
string
questionId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Question

Update a question, specified by Id, from an Ultra Assessment.

The 'course.assessment.MODIFY' entitlement is needed to perform the operation.

Since: 3300.9.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
assessmentId
required
string
questionId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

title
string

The title of the question.

text
string

The main text content for the question. It may include plain and formatted text, and all kinds of content supported by the full text editor.

position
integer <int32>

Position of the Question on the Assessment Canvas.

points
number

The point value for the question.

correctResponseFeedback
string

Feedback displayed to students when their submitted response is correct.

incorrectResponseFeedback
string

Feedback displayed to students when their submitted response is incorrect.

instructorNotes
string

Text added to the question as a note for the instructor. It is not intended to be displayed to students.

object (QuestionHandler)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "text": "string",
  • "position": 0,
  • "points": 0,
  • "correctResponseFeedback": "string",
  • "incorrectResponseFeedback": "string",
  • "instructorNotes": "string",
  • "questionHandler": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "text": "string",
  • "position": 0,
  • "points": 0,
  • "correctResponseFeedback": "string",
  • "incorrectResponseFeedback": "string",
  • "instructorNotes": "string",
  • "questionHandler": {
    }
}

course categories

Get Categories

Returns a list of categories of the provided type (course or organization)

Entitlement system.course-categories.VIEW required

Users with entitlement "system.course.categories.MODIFY" for course categories, or "system.org.categories.MODIFY" for organization categories can view all fields and all categories.

Users with system.course-categories.VIEW but not the corresponding MODIFY entitlements have read access to all properties except:

  • restricted
  • institutionRoleIds In addition, users without the corresponding MODIFY entitlement have access to a restricted category only if their institution role matches one of the roles in the institutionRoleIds list for that category.

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
query Parameters
sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc),start" Supported fields are:

  • id
  • categoryId
  • title
  • available
  • created

Since: 3700.6.0

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

title
string

Search for categories with titles that contain this value.

Since: 3700.8.0

categoryId
string

Search for categories with category IDs that contain this value.

Since: 3700.8.0

created
string <date-time>

Search for categories with a created date relative to this value.

Since: 3700.8.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3700.8.0

Type Description
lessThan
greaterOrEqual
dataSourceId
string

Search for categories with a data source id matching this value.

Since: 3700.9.0

frontPage
boolean

Search for categories with a front page indicator matching this value.

Since: 3700.9.0

available
boolean

Search for categories with availability matching this value.

Since: 3700.9.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Category

Creates a new category of the provided type as defined in the request body

Entitlement system.course.categories.MODIFY required to create course categories Entitlement system.org.categories.MODIFY required to create organization categories

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
parentId
string

The ID of this category's parent category

categoryId
required
string

The human-readable id of the category

title
required
string

The title of category

description
string

The description of the category

frontPage
boolean

Boolean indicating whether or not the category should appear on the catalog front page

available
required
boolean

Boolean indicating whether or not the category is available

restricted
boolean

Boolean indicating whether or not category is available to all roles, or restricted to a specific set of roles.

institutionRoleIds
Array of strings

The roles for which this category is available, if category is set to restricted. Not populated for lists of categories, only for individual category

Responses

Request samples

Content type
application/json
{
  • "parentId": "string",
  • "categoryId": "string",
  • "title": "string",
  • "description": "string",
  • "frontPage": true,
  • "available": true,
  • "restricted": true,
  • "institutionRoleIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "dataSourceId": "string",
  • "parentId": "string",
  • "categoryId": "string",
  • "title": "string",
  • "description": "string",
  • "type": "Course",
  • "frontPage": true,
  • "available": true,
  • "restricted": true,
  • "institutionRoleIds": [
    ],
  • "created": "2019-08-24T14:15:22Z"
}

Get Category

Returns the category corresponding the provided type (course or organization) and ID

Entitlement system.course-categories.VIEW required

Users with entitlement "system.course.categories.MODIFY" for course categories, or "system.org.categories.MODIFY" for organization categories can view all fields and all categories.

Users with system.course-categories.VIEW but not the corresponding MODIFY entitlements have read access to all properties except:

  • restricted
  • institutionRoleIds In addition, users without the corresponding MODIFY entitlement have access to a restricted category only if their institution role matches one of the roles in the institutionRoleIds list for that category.

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
categoryId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "dataSourceId": "string",
  • "parentId": "string",
  • "categoryId": "string",
  • "title": "string",
  • "description": "string",
  • "type": "Course",
  • "frontPage": true,
  • "available": true,
  • "restricted": true,
  • "institutionRoleIds": [
    ],
  • "created": "2019-08-24T14:15:22Z"
}

Delete Category

Deletes the category corresponding to the provided type and id

Entitlement system.course.categories.MODIFY required to delete a course category Entitlement system.org.categories.MODIFY required to delete an organization category

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
categoryId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Category

Updates the category corresponding to the provided type and id.

Entitlement system.course.categories.MODIFY required to modify course categories Entitlement system.org.categories.MODIFY required to modify organization categories

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
categoryId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
string

The title of category

description
string

The description of the category

frontPage
boolean

Boolean indicating whether or not the category should appear on the catalog front page

available
boolean

Boolean indicating whether or not the category is available

restricted
boolean

Boolean indicating whether or not category is available to all roles, or restricted to a specific set of roles.

institutionRoleIds
Array of strings

The roles for which this category is available, if category is set to restricted. Not populated for lists of categories, only for individual category

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "frontPage": true,
  • "available": true,
  • "restricted": true,
  • "institutionRoleIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "dataSourceId": "string",
  • "parentId": "string",
  • "categoryId": "string",
  • "title": "string",
  • "description": "string",
  • "type": "Course",
  • "frontPage": true,
  • "available": true,
  • "restricted": true,
  • "institutionRoleIds": [
    ],
  • "created": "2019-08-24T14:15:22Z"
}

Get Memberships

Get courses associated with the provided category. Entitlement system.course-categories.VIEW required

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
categoryId
required
string
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • course

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Membership

Creates a category/course association. The course defined by courseId must match the categoryType.

The 'admin.course.categorize.MODIFY' entitlement is needed for course associations The 'admin.org.categorize.MODIFY' entitlement is needed for organization associations

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
categoryId
required
string
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "categoryId": "string",
  • "categoryType": "Course",
  • "courseId": "string",
  • "course": {
    },
  • "dataSourceId": "string",
  • "created": "2019-08-24T14:15:22Z"
}

Delete Membership

Deletes a category/course association

The 'admin.course.categorize.MODIFY' entitlement is needed for course associations The 'admin.org.categorize.MODIFY' entitlement is needed for organization associations

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
categoryId
required
string
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Child Categories

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

Entitlement system.course-categories.VIEW required

Users with entitlement "system.course.categories.MODIFY" for course categories, or "system.org.categories.MODIFY" for organization categories can view all fields and all categories.

Users with system.course-categories.VIEW but not the corresponding MODIFY entitlements have read access to all properties except:

  • restricted
  • institutionRoleIds In addition, users without the corresponding MODIFY entitlement have access to a restricted category only if their institution role matches one of the roles in the institutionRoleIds list for that category.

Since: 3600.0.0

Authorizations:
bearer
path Parameters
categoryType
required
string
Enum: "Course" "Organization"
parentId
required
string
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc),start" Supported fields are:

  • id
  • categoryId
  • title
  • available
  • created

Since: 3700.6.0

title
string

Search for categories with titles that contain this value.

Since: 3700.8.0

categoryId
string

Search for categories with category IDs that contain this value.

Since: 3700.8.0

created
string <date-time>

Search for categories with a created date relative to this value.

Since: 3700.8.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3700.8.0

Type Description
lessThan
greaterOrEqual
dataSourceId
string

Search for categories with a data source id matching this value.

Since: 3700.9.0

frontPage
boolean

Search for categories with a front page indicator matching this value.

Since: 3700.9.0

available
boolean

Search for categories with availability matching this value.

Since: 3700.9.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Memberships

Get categories associated with the provided course. Entitlement system.course-categories.VIEW required

Since: 3600.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • category

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

course grade attempts

Get Attempt File Meta Data List

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

  • Id
  • Name

Since: 3400.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
attemptId
required
string
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Attach File

Attach a file to an Attempt for a Student Submission. Currently only supports Classic/9.1 Course Assignments.

Since: 3500.7.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
attemptId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
name
string

The name of the file which has been attached to an Attempt including the file extension.

uploadId
string
resourceId
string

A write-only property used to attach a resource file to an Attempt.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "uploadId": "string",
  • "resourceId": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "viewUrl": "string"
}

Get Attempt File Meta Data

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

  • Id
  • Name

Since: 3400.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
attemptId
required
string
attemptFileId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "viewUrl": "string"
}

Delete Attachment

Delete the file for a Student Submission associated to an attempt.

The student who owns the file can delete it while the attempt is in progress.

Since: 3500.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
attemptId
required
string
attemptFileId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Download

Download the contents of the file for a Student Submission.

Since: 3400.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
attemptId
required
string
attemptFileId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

course grade notations

Get Grade Notations

Returns a list of grade notations.

The entitlement "course.user.grades.VIEW" is needed.

Since: 3200.13.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Grade Notation

Create a grade notation on this course.

The entitlement "course.gradebook.MODIFY" is needed.

Since: 3200.13.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
code
required
string

The performance code associated with the grade notation.

description
required
string

The description of the grade notation.

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "code": "string",
  • "description": "string"
}

Get Grade Notation

Returns a specific grade notation.

The entitlement "course.user.grades.VIEW" is needed.

Since: 3200.13.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
gradeNotationId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "code": "string",
  • "description": "string"
}

Delete Grade Notation

Delete a specific grade notation.

The entitlement "course.gradebook.MODIFY" is needed.

Since: 3200.13.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
gradeNotationId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Grade Notation

Update a grade notation on this course.

The entitlement "course.gradebook.MODIFY" is needed.

Since: 3200.14.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
gradeNotationId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
code
string

The performance code associated with the grade notation.

description
string

The description of the grade notation.

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "code": "string",
  • "description": "string"
}

course gradebook categories

Get Gradebook Categories

Returns a list of gradebook categories in a particular course.

Users with entitlements 'course.gradebook.MODIFY' or 'course.user.grades.VIEW', or users enrolled in the specified course can retrieve the list of gradebook categories.

Since: 3400.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Gradebook Category

Returns the details of a gradebook category

Users with entitlements 'course.gradebook.MODIFY' or 'course.user.grades.VIEW', or users enrolled in the specified course can retrieve gradebook category details.

Since: 3400.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
categoryId
required
string

the ID of the category to return

query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string"
}

course grades

Get Grade Schemas

Returns a list of grade schemas associated with the specified course.

Users with entitlements 'course.gradebook.MODIFY' or 'course.user.grades.VIEW', or users enrolled in the specified course can retrieve grade schema details.

A subset of the schema properties are available to enrolled users without the 'course.gradebook.MODIFY' entitlement:

  • id
  • scaleType

Since: 3300.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Grade Schema

Create a Tabular Grade Schema on this course. Currently only supports Classic/9.1 Courses.

The entitlement "course.gradebook.MODIFY" is needed.

Since: 3300.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string

The externalId associated with this grade schema.

title
required
string

The title of this grade schema.

description
string

The description of this grade schema.

scaleType
string
Enum: "Percent" "Score" "Tabular" "Text" "CompleteIncomplete"

The scale type of this grade schema.

Type Description
Percent
Score
Tabular
Text
CompleteIncomplete
Array of objects (GradeSymbol)

The list of grade symbols for this grade schema. Only returned for Tabular scaleType schemas.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "scaleType": "Percent",
  • "symbols": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "scaleType": "Percent",
  • "symbols": [
    ]
}

Get Grade Schema

Loads the grade schema associated with the specified course and schema Id.

Users with entitlements 'course.gradebook.MODIFY' or 'course.user.grades.VIEW', or users enrolled in the specified course can retrieve the grade schema details.

A subset of the schema properties are available to enrolled users without the 'course.gradebook.MODIFY' entitlement:

  • id
  • scaleType

Since: 3300.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
schemaId
required
string

The grade schema ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:schema1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "scaleType": "Percent",
  • "symbols": [
    ]
}

Delete Grade Schema

Deletes the grade schema associated with the specified course and schema Id.

Requires entitlement 'course.gradebook.MODIFY'

Grade schemas in Ultra courses may not be deleted

A schema must be removable (not in-use, and either tabular or user-created) to be deleted

Since: 3300.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
schemaId
required
string

The grade schema ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:schema1

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Grade Schema

Updates the grade schema associated with the specified course and schema Id.

Requires entitlement 'course.gradebook.MODIFY'

A schema must have a scaleType of Tabular to be updated

If updating the symbols field, the following criteria must be true:

  • All symbols for the schema must be included. Any existing symbols not included in the patch will be deleted.
  • There must be at least 1 symbol for schemas associated with Classic courses, and 2 for Ultra courses.
  • When sorted descending by lowerBound, The lowerBound of a symbol must be equal to the upperBound of the following symbol. In other words, there should be no gaps or overlaps between the symbols.
  • The lowerBound, upperBound and absoluteValue of all symbols must be nonnegative.
  • The text field must be unique for each symbol in a schema.
  • The lowerBound and upperBound fields must have a maximum of 3 digits after the decimal point.
  • The absoluteValue field must have a maximum of 3 digits after the decimal point for Classic courses, and 4 for Ultra courses.- -

Since: 3300.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
schemaId
required
string

The grade schema ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:schema1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string

The externalId associated with this grade schema.

title
string

The title of this grade schema.

description
string

The description of this grade schema.

Array of objects (GradeSymbol)

The list of grade symbols for this grade schema. Only returned for Tabular scaleType schemas.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "symbols": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "scaleType": "Percent",
  • "symbols": [
    ]
}

Get Grade Columns

Returns a list of grade columns.

The entitlement "course.gradebook.MODIFY" is needed. Alternatively, student users may view the grade columns if they are enrolled in the course, and the mygrade tool is available in the course, and the columns are visible to the student. Observers may view grade columns if course access is allowed for observers and the associated observee is a student that satisfies all conditions required by a student user to view grade columns.

Student or observer users may view a limited subset of grade column fields:

  • id
  • name
  • displayName
  • description
  • externalGrade
  • contentId
  • score.possible
  • scoreProviderHandle
  • grading.type
  • grading.due
  • grading.attemptsAllowed
  • grading.scoringModel
  • formula
  • availability.available

Since: 3200.10.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

contentId
string

Search for grade columns associated with this content item.

Since: 3000.11.0

displayName
string

The 'displayName' value to use as search criteria.

Currently only supports 'contains' searches.

Since: 3300.2.0

name
string

The 'name' value to use as search criteria.

Currently only supports 'contains' searches.

Since: 3900.11.0

gradebookCategoryId
Array of strings

Search for grade columns associated with the 'gradebookCategoryId'.

comma-delimited list of the gradebook category ids.

Since: 3900.11.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Grade Column

Create a manual grade column. The entitlement "course.gradebook.MODIFY" is needed.

Since: 3200.10.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string

The externalId for this grade column

externalToolId
string

The externalId for this grade column

Since: 3500.2.0

name
required
string

The name of the grade column.

displayName
string

The display name of the grade column. Only applicable for Classic courses. Ultra courses will simply use the name field.

Since: 3300.2.0

description
string

The description of the grade column.

externalGrade
boolean

Whether this grade column is an external grade column.

object (Score)

Settings controlling the numerical scoring of this grade column.

object (Availability)

Settings controlling the availability/visibility of grade column data.

required
object (Grading)

Settings controlling whether numerical and text grade values for this grade column are calculated, determined based on attempts, or manually entered.

gradebookCategoryId
string

The gradebook category ID for the grade column.

Since: 3400.2.0

includeInCalculations
boolean

Indicates whether or not this column is included in gradebook calculations. Cannot be set for Ultra courses. Default: true

Since: 3800.4.0

showStatisticsToStudents
boolean

Indicates whether or not column statistics are shown to students. Read-only for Ultra courses. Default: false

Since: 3800.4.0

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "externalToolId": "string",
  • "name": "string",
  • "displayName": "string",
  • "description": "string",
  • "externalGrade": true,
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    },
  • "gradebookCategoryId": "string",
  • "includeInCalculations": true,
  • "showStatisticsToStudents": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "externalToolId": "string",
  • "name": "string",
  • "displayName": "string",
  • "description": "string",
  • "externalGrade": true,
  • "created": "2019-08-24T14:15:22Z",
  • "contentId": "string",
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    },
  • "gradebookCategoryId": "string",
  • "formula": {
    },
  • "includeInCalculations": true,
  • "showStatisticsToStudents": true,
  • "scoreProviderHandle": "string"
}

Get Grade Column

Loads a specific grade column.

The entitlement "course.gradebook.MODIFY" is needed. Alternatively, student users may view the grade column if they are enrolled in the course, and the mygrade tool is available in the course, and the column is visible to the student. Observers may view the grade column if course access is allowed for observers and the associated observee is a student that satisfies all conditions required by a student user to view grade columns.

Student or observer users may view a limited subset of grade column fields:

  • id
  • name
  • description
  • externalGrade
  • contentId
  • score.possible
  • grading.type
  • grading.due
  • grading.attemptsAllowed
  • grading.scoringModel
  • formula
  • availability.available

Since: 3200.10.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "externalToolId": "string",
  • "name": "string",
  • "displayName": "string",
  • "description": "string",
  • "externalGrade": true,
  • "created": "2019-08-24T14:15:22Z",
  • "contentId": "string",
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    },
  • "gradebookCategoryId": "string",
  • "formula": {
    },
  • "includeInCalculations": true,
  • "showStatisticsToStudents": true,
  • "scoreProviderHandle": "string"
}

Delete Grade Column

Delete a specific grade column. The entitlement "course.gradebook.MODIFY" is needed.

Since: 3200.10.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
onlyIfEmpty
boolean

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Grade Column

Update a manual grade column. The entitlement "course.gradebook.MODIFY" is needed.

Since: 3200.10.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string

The externalId for this grade column

externalToolId
string

The externalId for this grade column

Since: 3500.2.0

name
string

The name of the grade column.

displayName
string

The display name of the grade column. Only applicable for Classic courses. Ultra courses will simply use the name field.

Since: 3300.2.0

description
string

The description of the grade column.

externalGrade
boolean

Whether this grade column is an external grade column.

object (Score)

Settings controlling the numerical scoring of this grade column.

object (Availability)

Settings controlling the availability/visibility of grade column data.

object (Grading)

Settings controlling whether numerical and text grade values for this grade column are calculated, determined based on attempts, or manually entered.

gradebookCategoryId
string

The gradebook category ID for the grade column.

Since: 3400.2.0

includeInCalculations
boolean

Indicates whether or not this column is included in gradebook calculations. Cannot be set for Ultra courses. Default: true

Since: 3800.4.0

showStatisticsToStudents
boolean

Indicates whether or not column statistics are shown to students. Read-only for Ultra courses. Default: false

Since: 3800.4.0

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "externalToolId": "string",
  • "name": "string",
  • "displayName": "string",
  • "description": "string",
  • "externalGrade": true,
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    },
  • "gradebookCategoryId": "string",
  • "includeInCalculations": true,
  • "showStatisticsToStudents": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "externalToolId": "string",
  • "name": "string",
  • "displayName": "string",
  • "description": "string",
  • "externalGrade": true,
  • "created": "2019-08-24T14:15:22Z",
  • "contentId": "string",
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    },
  • "gradebookCategoryId": "string",
  • "formula": {
    },
  • "includeInCalculations": true,
  • "showStatisticsToStudents": true,
  • "scoreProviderHandle": "string"
}

Get Column Attempts

Returns a list of attempts associated with the specified grade column.

The 'course.gradebook.MODIFY' entitlement is needed to view column attempts. Alternatively, if the 'userId' query parameter is specified, and the user making the request matches the specified 'userId', then the user may view his/her own attempt. When querying an anonymous grade column, if the release criteria has not yet been met, then the 'userId' attribute will not be populated for the returned column attempts. If the release criteria has not been met and the 'userId' query parameter is specified, a 403 response is returned, unless the requesting user matches the specified 'userId' value.

A subset of attempt properties are available to a student when requesting his or her own attempts:

  • id
  • userId
  • groupAttemptId
  • status
  • displayGrade.scaleType
  • displayGrade.score
  • displayGrade.text
  • groupOverride
  • feedback
  • studentComments
  • studentSubmission
  • exempt
  • created

When this endpoint is called by the API Gateway User, the response will only contain attributes visible to a Grader. If an Attempt is InProgress, then a Student's submission & comments would not be visible to the API Gateway User. If an Attempt is NeedsGrading, then a Student's submission & comments are visible to the API Gateway User.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure taking is enabled, and the attempt status is InProgress, then the studentSubmission is omitted unless the call comes from a secure browser.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure reviewing is enabled, and the attempt status is not InProgress, then the studentSubmission is omitted unless the call comes from a secure browser.

Since: 3300.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

userId
string

Search for grade column attempts submitted by this user. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Since: 3100.4.0

attemptStatuses
string
Enum: "NotAttempted" "Abandoned" "InProgress" "Suspended" "Canceled" "NeedsGrading" "Completed" "InProgressAgain" "NeedsGradingAgain"

Search for grade column attempts with one of these statuses.

Since: 3100.4.0

Type Description
NotAttempted none of the students in a group has submitted an attempt; applies only to group assessments
Abandoned Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
InProgress attempt activity has commenced, but has not been submitted for grading
Suspended Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
Canceled Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
NeedsGrading attempt has been submitted for grading, but has not been fully graded
Completed a grade has been entered for the attempt
InProgressAgain attempt has been graded, but more student activity occurred after the grade was entered; applies only to collaborative tools such as discussions
NeedsGradingAgain additional student activity occurring after a grade was entered requires that the attempt be regraded; applies only to collaborative tools such as discussions
created
string <date-time>

Search for attempts with created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3800.0.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3800.0.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for attempts with modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3800.0.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3800.0.0

Type Description
lessThan
greaterOrEqual
attemptDate
string <date-time>

Search for attempts with attempt date relative to this value. 'attemptDateCompare' may also be sent to control search behavior.

Since: 3800.0.0

attemptDateCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'attemptDate' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3800.0.0

Type Description
lessThan
greaterOrEqual
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Column Attempt

Create an Attempt on the specified Grade Column. Currently supports Classic and Ultra Course Assignments. Student attributes (studentSubmission & studentComments) can only be specified by Student Users. Grader attributes (text, score, notes & feedback, attemptDate) can only be specified by Grader Users. Graders must have the entitlement "course.gradebook.MODIFY" for the course. Graders are allowed to create attempts that contain "studentSubmission" text on behalf of a student if the authenticated application for this request has the "course.attempt.nonowner.SUBMIT" entitlement and the attempt has a "status" of NeedsGrading.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure taking is enabled, then the caller must be in a secure browser in order to create the attempt.

Since: 3300.12.0

Authorizations:
bearer
path Parameters
columnId
required
string
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
userId
string

The user ID associated with this attempt. Defaults to the authenticated user on create. Can be specified as a user other than the authenticated user if the authenticated user has the "course.gradebook.MODIFY" entitlement and the authenticated application has the "course.attempt.nonowner.SUBMIT" entitlement.

status
string
Enum: "NotAttempted" "Abandoned" "InProgress" "Suspended" "Canceled" "NeedsGrading" "Completed" "InProgressAgain" "NeedsGradingAgain"

The status of this attempt.

Type Description
NotAttempted none of the students in a group has submitted an attempt; applies only to group assessments
Abandoned Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
InProgress attempt activity has commenced, but has not been submitted for grading
Suspended Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
Canceled Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
NeedsGrading attempt has been submitted for grading, but has not been fully graded
Completed a grade has been entered for the attempt
InProgressAgain attempt has been graded, but more student activity occurred after the grade was entered; applies only to collaborative tools such as discussions
NeedsGradingAgain additional student activity occurring after a grade was entered requires that the attempt be regraded; applies only to collaborative tools such as discussions
text
string

The text grade associated with this attempt.

score
number

The score associated with this attempt.

reconciliationMode
string
Enum: "Average" "Highest" "Lowest" "Custom"

The reconciliation mode to use when reconciling the attempt grade. When modifying reconciliationMode, score is also required. A new score will not be calculated based on the reconciliationMode

Since: 3700.2.0

Type Description
Average
Highest
Lowest
Custom
notes
string

The instructor notes associated with this attempt.

feedback
string

The instructor feedback associated with this attempt.

studentComments
string

The student comments associated with this attempt.

studentSubmission
string

The student submission text associated with this attempt.

exempt
boolean

Whether the score associated with this attempt is ignored when computing the user's grade for the associated grade column.

attemptDate
string <date-time>

Return the attempt date associated with this attempt.

object (EmbeddedAttemptReceipt)

Responses

Request samples

Content type
application/json
{
  • "userId": "string",
  • "status": "NotAttempted",
  • "text": "string",
  • "score": 0,
  • "reconciliationMode": "Average",
  • "notes": "string",
  • "feedback": "string",
  • "studentComments": "string",
  • "studentSubmission": "string",
  • "exempt": true,
  • "attemptDate": "2019-08-24T14:15:22Z",
  • "attemptReceipt": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "userId": "string",
  • "groupAttemptId": "string",
  • "groupOverride": true,
  • "status": "NotAttempted",
  • "displayGrade": {
    },
  • "text": "string",
  • "score": 0,
  • "reconciliationMode": "Average",
  • "notes": "string",
  • "feedback": "string",
  • "studentComments": "string",
  • "studentSubmission": "string",
  • "exempt": true,
  • "created": "2019-08-24T14:15:22Z",
  • "attemptDate": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "attemptReceipt": {
    }
}

Get Column Attempt

Loads the grade column attempt for the specified id.

The 'course.gradebook.MODIFY' entitlement is needed to view an attempt. Alternatively, if the user making the request is also the user associated with the attempt grade, then the user may view his/her own attempt. When accessing an anonymous grade column attempt, if the release criteria has not yet been met, then the 'userId' attribute will not be populated for the returned attempt.

A subset of attempt properties are available to a student when requesting his or her own attempt:

  • id
  • userId
  • groupAttemptId
  • status
  • displayGrade.scaleType
  • displayGrade.score
  • displayGrade.text
  • groupOverride
  • feedback
  • studentComments
  • studentSubmission
  • exempt
  • created

When this endpoint is called by the API Gateway User, the response will only contain attributes visible to a Grader. If an Attempt is InProgress, then a Student's submission & comments would not be visible to the API Gateway User. If an Attempt is NeedsGrading, then a Student's submission & comments are visible to the API Gateway User.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure taking is enabled, and the attempt status is InProgress, then the studentSubmission is omitted unless the call comes from a secure browser.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure reviewing is enabled, and the attempt status is not InProgress, then the studentSubmission is omitted unless the call comes from a secure browser.

Since: 3300.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
attemptId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "userId": "string",
  • "groupAttemptId": "string",
  • "groupOverride": true,
  • "status": "NotAttempted",
  • "displayGrade": {
    },
  • "text": "string",
  • "score": 0,
  • "reconciliationMode": "Average",
  • "notes": "string",
  • "feedback": "string",
  • "studentComments": "string",
  • "studentSubmission": "string",
  • "exempt": true,
  • "created": "2019-08-24T14:15:22Z",
  • "attemptDate": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "attemptReceipt": {
    }
}

Update Column Attempt

Update an existing Attempt on a Grade Column.

Students can only modify the studentSubmission, studentComments and status of their own attempt if the status is InProgress. The status can only be set to NeedsGrading. Doing so is the equivalent of submitting the attempt.

Instructors can modify all mutable fields but studentSubmission and studentComments as long as the status is not InProgress. Setting the status to Complete is the equivalent of posting a graded attempt. The "course.gradebook.MODIFY" entitlement is required to update score, text, notes, feedback and set the status to Complete.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure taking is enabled, then the caller must be in a secure browser in order to create the attempt. Classic course support since 3500.2.0

Since: 3300.12.0

Authorizations:
bearer
path Parameters
columnId
required
string
attemptId
required
string
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
status
string
Enum: "NotAttempted" "Abandoned" "InProgress" "Suspended" "Canceled" "NeedsGrading" "Completed" "InProgressAgain" "NeedsGradingAgain"

The status of this attempt.

Type Description
NotAttempted none of the students in a group has submitted an attempt; applies only to group assessments
Abandoned Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
InProgress attempt activity has commenced, but has not been submitted for grading
Suspended Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
Canceled Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
NeedsGrading attempt has been submitted for grading, but has not been fully graded
Completed a grade has been entered for the attempt
InProgressAgain attempt has been graded, but more student activity occurred after the grade was entered; applies only to collaborative tools such as discussions
NeedsGradingAgain additional student activity occurring after a grade was entered requires that the attempt be regraded; applies only to collaborative tools such as discussions
text
string

The text grade associated with this attempt.

score
number

The score associated with this attempt.

reconciliationMode
string
Enum: "Average" "Highest" "Lowest" "Custom"

The reconciliation mode to use when reconciling the attempt grade. When modifying reconciliationMode, score is also required. A new score will not be calculated based on the reconciliationMode

Since: 3700.2.0

Type Description
Average
Highest
Lowest
Custom
notes
string

The instructor notes associated with this attempt.

feedback
string

The instructor feedback associated with this attempt.

studentComments
string

The student comments associated with this attempt.

studentSubmission
string

The student submission text associated with this attempt.

exempt
boolean

Whether the score associated with this attempt is ignored when computing the user's grade for the associated grade column.

object (EmbeddedAttemptReceipt)

Responses

Request samples

Content type
application/json
{
  • "status": "NotAttempted",
  • "text": "string",
  • "score": 0,
  • "reconciliationMode": "Average",
  • "notes": "string",
  • "feedback": "string",
  • "studentComments": "string",
  • "studentSubmission": "string",
  • "exempt": true,
  • "attemptReceipt": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "userId": "string",
  • "groupAttemptId": "string",
  • "groupOverride": true,
  • "status": "NotAttempted",
  • "displayGrade": {
    },
  • "text": "string",
  • "score": 0,
  • "reconciliationMode": "Average",
  • "notes": "string",
  • "feedback": "string",
  • "studentComments": "string",
  • "studentSubmission": "string",
  • "exempt": true,
  • "created": "2019-08-24T14:15:22Z",
  • "attemptDate": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "attemptReceipt": {
    }
}

Get Column Grades

Returns a list of grades associated with the specified grade column. By default this operation does not include 'ReadyToPost' grades when returning grade details for calculated grade columns. This can be changed by setting the query parameter "includeUnpostedGrades" to true. The columns considered as 'ReadyToPost' are those which have a grade associated but have the status NEEDS_GRADING.

Users with entitlement 'course.gradebook.MODIFY' can retrieve grades for any or all enrolled users. Requests for grades in a columns whose attempts are not visible to instructors will return with a status of "403 - Forbidden."

Enrolled users without the 'course.gradebook.MODIFY' entitlement may only view their own grade; such users cannot retrieve grades of other users. A request for the grade in a columns that has been hidden from students in the gradebook will return with a status "403 - Forbidden.". A subset of grade properties are available to a student when requesting his or her own grades:

  • userId
  • columnId
  • status
  • displayGrade
  • exempt
  • feedback
  • changeIndex

Since: 3300.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

changeIndex
integer <int64>

Retrieve only items modified after the given change index.

Since: 3300.4.0

includeUnpostedGrades
boolean

If true, calculated columns exposed in the response will be processed such that any unposted grades are included in their calculations. If false, only posted grades will be included in calculations. Entitlements course.gradebook-grades.VIEW, course.gradebook.MODIFY and course.gradebook-grades.EXECUTE are required to use this parameter.

Since: 3800.4.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Column Grade Last Changed

Loads the grade column grade with the maximum change index. This change index can be used to determine the relative order in which the grades were created and/or updated. This operation does not include 'ReadyToPost' grades when determining the maximum change index grade.

Users with entitlement 'course.gradebook.MODIFY' can retrieve grades for any or all enrolled users. Requests for grades in a columns whose attempts are not visible to instructors will return with a status of "403 - Forbidden."

Enrolled users without the 'course.gradebook.MODIFY' entitlement may only view their own grade; such users cannot retrieve grades of other users. A request for the grade in a columns that has been hidden from students in the gradebook will return with a status "403 - Forbidden.".

Since: 3300.4.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "columnId": "string",
  • "status": "Graded",
  • "displayGrade": {
    },
  • "text": "string",
  • "score": 0,
  • "overridden": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "feedback": "string",
  • "exempt": true,
  • "corrupt": true,
  • "gradeNotationId": "string",
  • "changeIndex": 0
}

Get Column Grade

Loads the grade column grade for a specific user. If grade details have yet to be entered for the specified user, then no grade details will be included in the returned grade object. This operation does not include 'ReadyToPost' grades when returning grade details for calculated grade columns.

Users with entitlement 'course.gradebook.MODIFY' can retrieve grades for any or all enrolled users. Requests for grades in a columns whose attempts are not visible to instructors will return with a status of "403 - Forbidden."

Enrolled users without the 'course.gradebook.MODIFY' entitlement may only view their own grade; such users cannot retrieve grades of other users. A request for the grade in a columns that has been hidden from students in the gradebook will return with a status "403 - Forbidden.". A subset of grade properties are available to a student when requesting his or her own grades:

  • userId
  • columnId
  • status
  • displayGrade
  • exempt
  • feedback
  • changeIndex

Since: 3300.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "columnId": "string",
  • "status": "Graded",
  • "displayGrade": {
    },
  • "text": "string",
  • "score": 0,
  • "overridden": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "feedback": "string",
  • "exempt": true,
  • "corrupt": true,
  • "gradeNotationId": "string",
  • "changeIndex": 0
}

Update Column Grade

Update the grade column grade for a specific user, including the text grade, score, instructor notes and feedback, and exempt status. When updating text grade or score, the resulting grade is always marked as 'Posted'. This end-point, currently, does not support marking the grade as 'ReadyToPost'. Grade overrides may be cleared by either specifying the 'score' attribute as null, or the 'text'; attribute as null, '', or '-' in the body of the request. The entitlement 'course.gradebook.MODIFY' is required to perform this operation.

Since: 3300.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
text
string

The overridden text representation of this grade. This field is only used for overriding the grade via text value

score
number

The overridden score of this grade. This field is only used for overriding the grade

notes
string

The instructor notes associated with this grade. This notes field is used for grades on manual grade columns. That is, when column.grading.type = Manual. It is also used when column.grading.type = Attempts and the grade has been manually overridden.

feedback
string

The instructor feedback associated with this grade. This feedback is used for grades on manual grade columns. That is, when column.grading.type = Manual. It is also used when column.grading.type = Attempts and the grade has been manually overridden.

exempt
boolean

Whether the score associated with this grade is ignored when computing the course grade.

gradeNotationId
string

The Id of a Grade Notation which can be optionally associated with this Grade. If a Grade Notation is specified for this Grade, then the DisplayGrade's Text attribute will contain the Grade Notation's Description.

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "score": 0,
  • "notes": "string",
  • "feedback": "string",
  • "exempt": true,
  • "gradeNotationId": "string"
}

Response samples

Content type
application/json
{
  • "userId": "string",
  • "columnId": "string",
  • "status": "Graded",
  • "displayGrade": {
    },
  • "text": "string",
  • "score": 0,
  • "overridden": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "feedback": "string",
  • "exempt": true,
  • "corrupt": true,
  • "gradeNotationId": "string",
  • "changeIndex": 0
}

Get User Grades

Loads the course grades for a specific user.

Users with entitlement "course.gradebook.MODIFY" have read access to all the properties of the collection results.

Users without entitlement "course.gradebook.MODIFY" requesting grades for themselves (i.e., userId = current user id) have read access to a restricted subset of properties of the collections result. These are the properties available to a student when requesting his or her own grades:

  • userId
  • columnId
  • status
  • text
  • score
  • exempt
  • feedback

Since: 3300.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

course grading periods

Get Grading Periods

Returns a list of grading periods.

The entitlement "course.gradebook.MODIFY" or "course.gradebook-metadata.VIEW" is needed. Note that grading period Ids may be visible on GradableItems based on GradableItem (column / assignment) entitlement restrictions.

This endpoint supports paging, sorting, and the filtering of fields returned on result object.

Since: 3300.3.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" or "(asc)" suffix to request an ascending or descending sort for that property. e.g. "title(desc),description" Supported fields are:

  • id
  • title
  • position
  • dateMode
  • description

Since: 3300.2.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Grading Period

Create a grading period.

The entitlement "course.gradebook.MODIFY" is needed.

This endpoint supports the filtering of fields returned on result object.

This endpoint has an optional request parameter "associate", which will default false. If associate=true, then when the period is updated all assignments in this course with a due date within the bounds of the grading period's start and end dates (if set) will associate themselves to the updated grading period.

Since: 3300.3.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
associate
boolean
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
required
string

The title of the grading period. Length is limited to 64 characters.

description
string

The description of the grading period. Length is limited to 1000 characters.

position
integer <int32>

The relative position of the grading period to other grading periods when viewed in the grade book.

dateMode
string
Enum: "DoNotUseDates" "UseDates"

Property may be set to DoNotUseDates to explicitly blank dates, in which case startDate and endDate are ignored; otherwise set to UseDates; in this case startDate and endDate must be included and valid.

Type Description
DoNotUseDates Do not use dates
UseDates Use dates
start
string <date-time>

If start and end are set, and start is before end, these define temporal coverage of grading period which may be used to associate GradableItems (Columns) by due date. Start dates will be persisted as starting at 00:00:00 on the submitted day.

end
string <date-time>

If start and end are set, and start is before end, these define temporal coverage of grading period which may be used to associate GradableItems (Columns) by due date. End dates will be persisted as ending at 23:59:59 on the submitted day.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "position": 0,
  • "dateMode": "DoNotUseDates",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "description": "string",
  • "position": 0,
  • "dateMode": "DoNotUseDates",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z"
}

Get Grading Period

Returns a specific grading period.

The entitlement "course.gradebook.MODIFY" or "course.gradebook-metadata.VIEW" is needed. Note that grading period Ids may be visible on GradableItems based on GradableItem (column / assignment) entitlement restrictions.

This endpoint supports the filtering of fields returned on result object.

Since: 3300.3.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
periodId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "description": "string",
  • "position": 0,
  • "dateMode": "DoNotUseDates",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z"
}

Delete Grading Period

Delete a specific grading period. The entitlement "course.gradebook.MODIFY" is needed.

Since: 3300.3.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
periodId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Grading Period

Update a grading period. The entitlement "course.gradebook.MODIFY" is needed.

This endpoint supports the filtering of fields returned on result object.

This endpoint has an optional request parameter "associate", which will default false. If associate=true, then when the period is updated all assignments in this course with a due date within the bounds of the grading period's start and end dates (if set) will associate themselves to the updated grading period.

Since: 3300.3.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
periodId
required
string
query Parameters
associate
boolean
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
title
string

The title of the grading period. Length is limited to 64 characters.

description
string

The description of the grading period. Length is limited to 1000 characters.

position
integer <int32>

The relative position of the grading period to other grading periods when viewed in the grade book.

dateMode
string
Enum: "DoNotUseDates" "UseDates"

Property may be set to DoNotUseDates to explicitly blank dates, in which case startDate and endDate are ignored; otherwise set to UseDates; in this case startDate and endDate must be included and valid.

Type Description
DoNotUseDates Do not use dates
UseDates Use dates
start
string <date-time>

If start and end are set, and start is before end, these define temporal coverage of grading period which may be used to associate GradableItems (Columns) by due date. Start dates will be persisted as starting at 00:00:00 on the submitted day.

end
string <date-time>

If start and end are set, and start is before end, these define temporal coverage of grading period which may be used to associate GradableItems (Columns) by due date. End dates will be persisted as ending at 23:59:59 on the submitted day.

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "position": 0,
  • "dateMode": "DoNotUseDates",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "description": "string",
  • "position": 0,
  • "dateMode": "DoNotUseDates",
  • "start": "2019-08-24T14:15:22Z",
  • "end": "2019-08-24T14:15:22Z"
}

course group users

Get Group Memberships

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

Callers not enrolled in the group must have at least one of the following entitlements:

  • course.group.VIEW

Since: 3600.0.0

Authorizations:
bearer
path Parameters
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • user

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Group Membership

Loads a group membership in the specified group.

Callers not enrolled in the group must have at least one of the following entitlements:

  • course.group.VIEW

Since: 3600.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "user": {
    }
}

Create Group Membership

Creates a group membership in the specified group for the user. For Ultra if the user is already enrolled in another group of the same content item (of the group he wishes to enroll) previously to creating the new membership the previous one is deleted (Move operation). If the conditions for the join operation are not fullfilled the operation will be canceled and a 409 Conflict error returned with a message specifying the reason.

Minimal entitlements required:

  • course.group-user.manage.EXECUTE

Since: 3600.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "user": {
    }
}

Delete Group Membership

Deletes a group from the specified course.

Required entitlements:

  • course.group-user.manage.EXECUTE

Since: 3600.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

course groups

Get Groups

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

Callers with the following entitlement can view all groups in the course:

  • course.groups.VIEW Callers enrolled in course can view all groups they're enrolled in, and all self-enrollment groups

Since: 3800.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

name
string

The group 'name' value to use as search criteria. See also: nameCompare.

Since: 3900.10.0

nameCompare
string
Enum: "equals" "notEquals" "contains" "notContains" "startsWith"

Used alongside the 'name' search parameter.

Defaults to StartsWith if not specified.

Since: 3900.10.0

Type Description
equals
notEquals
contains
notContains
startsWith
inGroupSet
boolean

Indicates whether only groups in a GroupSet (or groups NOT in a GroupSet) should be included

Since: 3900.10.0

created
string <date-time>

Search for groups with created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3800.8.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter.

Defaults to greaterOrEqual if not specified.

Since: 3800.8.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for groups with modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3800.8.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter.

Defaults to greaterOrEqual if not specified.

Since: 3800.8.0

Type Description
lessThan
greaterOrEqual
sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name(desc)" Supported fields are:

  • name
  • externalId

Since: 3100.4.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Group

Creates a group in the specified course.

For Ultra Courses, Individual Groups are only supported when associated with a Content Item. To avoid undefined behavior, groups created this way in Ultra courses should be linked to Content Items via the Create Content Group endpoint as soon as possible after creation.

Individual Groups without Content association cannot be copied to Ultra courses, and will be removed as part of the Course Conversion process if converted to Ultra.

Callers must have the following entitlement:

  • 'course.groups.CREATE'

Since: 3800.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string

An externally-defined unique ID for the group. Defaults to a random UUID if not provided during create.

name
required
string

The title of the group.

description
string <BbML>

The description of the group. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the group to students.

object (Enrollment)

Settings controlling enrollment of the group to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "groupSetId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

Get Group Sets

Returns a list of all groupsets

Callers not enrolled in the course must have the following entitlement:

  • course.groups.VIEW
  • course.groups.admin.VIEW

Since: 3800.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
name
string

The group 'name' value to use as search criteria. See also: nameCompare.

Since: 3900.10.0

nameCompare
string
Enum: "equals" "notEquals" "contains" "notContains" "startsWith"

Used alongside the 'name' search parameter.

Defaults to StartsWith if not specified.

Since: 3900.10.0

Type Description
equals
notEquals
contains
notContains
startsWith
created
string <date-time>

Search for groups with created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3800.8.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter.

Defaults to greaterOrEqual if not specified.

Since: 3800.8.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for groups with modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3800.8.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter.

Defaults to greaterOrEqual if not specified.

Since: 3800.8.0

Type Description
lessThan
greaterOrEqual
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name(desc)" Supported fields are:

  • name
  • externalId

Since: 3100.4.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Group Set

Creates a groupset in the specified course.

Callers must have the following entitlement:

  • 'course.groups.CREATE'

Since: 3800.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string

An externally-defined unique ID for the group. Defaults to a random UUID if not provided during create.

name
required
string

The title of the group.

description
string <BbML>

The description of the group. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the group to students.

object (Enrollment)

Settings controlling enrollment of the group to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "groupSetId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

Get Group Set

Loads a groupset in the specified course.

Users calling this end point should meet at least one of these entitlement checks.

  • course.groups.VIEW
  • course.groups.admin.VIEW

Since: 3800.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "groupSetId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

Delete Group Set

Deletes a groupset from the specified course.

Required entitlements:

  • course.group.DELETE

Since: 3800.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Group Set

Updates a groupset in the specified course.

Minimal entitlements required:

  • course.group.MODIFY

Since: 3800.6.0

Authorizations:
bearer
path Parameters
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string

An externally-defined unique ID for the group. Defaults to a random UUID if not provided during create.

name
string

The title of the group.

description
string <BbML>

The description of the group. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the group to students.

object (Enrollment)

Settings controlling enrollment of the group to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "groupSetId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

Get Group Set Children

Returns a list of all groups within a groupset

Callers not enrolled in the group must have the following entitlement:

  • course.groups.VIEW

Since: 3800.6.0

Authorizations:
bearer
path Parameters
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
name
string

The group 'name' value to use as search criteria. See also: nameCompare.

Since: 3900.10.0

nameCompare
string
Enum: "equals" "notEquals" "contains" "notContains" "startsWith"

Used alongside the 'name' search parameter.

Defaults to StartsWith if not specified.

Since: 3900.10.0

Type Description
equals
notEquals
contains
notContains
startsWith
created
string <date-time>

Search for groups with created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3800.8.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter.

Defaults to greaterOrEqual if not specified.

Since: 3800.8.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for groups with modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3800.8.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter.

Defaults to greaterOrEqual if not specified.

Since: 3800.8.0

Type Description
lessThan
greaterOrEqual
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name(desc)" Supported fields are:

  • name
  • externalId

Since: 3100.4.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Group Set Child

Creates a group within a groupset.

Callers must have the following entitlement:

  • 'course.groups.CREATE'

Since: 3800.6.0

Authorizations:
bearer
path Parameters
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string

An externally-defined unique ID for the group. Defaults to a random UUID if not provided during create.

name
required
string

The title of the group.

description
string <BbML>

The description of the group. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the group to students.

object (Enrollment)

Settings controlling enrollment of the group to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "groupSetId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

Get Group

Loads a group in the specified course.

Callers not enrolled in the course must have the following entitlement:

  • course.groups.VIEW

Since: 3800.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "groupSetId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

Delete Group

Deletes a groupset from the specified course.

Required entitlements:

  • course.group.DELETE

Since: 3800.6.0

Authorizations:
bearer
path Parameters
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Group

Updates a group in the specified course.

Minimal entitlements required:

  • course.group.MODIFY

Since: 3800.6.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string

An externally-defined unique ID for the group. Defaults to a random UUID if not provided during create.

name
string

The title of the group.

description
string <BbML>

The description of the group. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the group to students.

object (Enrollment)

Settings controlling enrollment of the group to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "groupSetId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z"
}

course memberships

Get Course Memberships

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

Callers not enrolled in the course must have at least one of the following entitlements:

  • For courses: 'course.user.VIEW', 'system.user.course.enrollment.VIEW', or 'system.courseuserlist.VIEW'
  • For organizations: 'course.user.VIEW', 'system.user.org.enrollment.VIEW', or 'system.orguserlist.VIEW' Callers enrolled in the course will only be able to see memberships that are available and that have opted to be included in the course roster.

For callers enrolled in the course as well as those with the 'course.user.VIEW' entitlement, system fields such as externalId and dataSourceId will not be visible.

Since: 3000.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

role
string

Search for memberships with a course role id that matches this value.

Since: 3500.5.0

created
string <date-time>

Search for memberships with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3100.0.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3100.0.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for memberships with a modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3800.9.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3800.9.0

Type Description
lessThan
greaterOrEqual
dataSourceId
string

Search for memberships with this dataSourceId. This may optionally be the data source's externalId using the syntax "externalId:math101".

Since: 3100.0.0

lastAccessed
string <date-time>

Search for memberships with a last accessed date relative to this value. 'lastAccessedCompare' may also be sent to control search behavior.

Since: 3300.9.0

lastAccessedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'lastAccessed' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3300.9.0

Type Description
lessThan
greaterOrEqual
availability.available
string
Enum: "Yes" "No" "Disabled"

Search for users with availability.available properties that contain this value.

Since: 3100.0.0

Type Description
Yes
No
Disabled Since: 3100.0.0
sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "created(desc)" Supported fields are:

  • created
  • lastAccessed (Since 3300.9.0)

Since: 3100.0.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • user

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Membership

Loads a user membership in the specified course.

Entitlement and field visibility rules are the same as those when loading the memberships collection.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • user

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "userId": "string",
  • "user": {
    },
  • "courseId": "string",
  • "childCourseId": "string",
  • "dataSourceId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "availability": {
    },
  • "courseRoleId": "Instructor",
  • "bypassCourseAvailabilityUntil": "2019-08-24T14:15:22Z",
  • "lastAccessed": "2019-08-24T14:15:22Z",
  • "displayOrder": 0
}

Create Membership

Creates a user membership in the specified course.

Minimal entitlements required:

  • For courses: 'system.enrollment.CREATE' with 'system.user.VIEW' or just 'course.user-enroll.EXECUTE' - For organizations: 'org.enrollment.CREATE' with 'system.user.VIEW' or just 'course.user-enroll.EXECUTE' - For courses or organizations that have enabled self enrollment: 'system.generic.VIEW' If 'system.enrollment.CREATE' or 'org.enrollment.CREATE' are present, the user must be in the same domain as the logged on user.

By default courseRoleId is Student and availability.available is Yes. Providing different values for these fields requires extra entitlements:

  • For courses: 'course.user-role.MODIFY' or 'course.user.MODIFY'
  • For organizations: 'course.user-role.MODIFY' or 'org.user.MODIFY'

Since: 2015.11.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

childCourseId
string

The primary ID of the child, cross-listed course, in which the user is directly enrolled.

This field is read only in Learn versions 3000.11.0 through 3400.0.0. As of 3400.1.0, this field is mutable.

If this membership's course is a parent course in a cross-listed set, the childCourseId can be updated to move the membership enrollment between child courses and the parent course in the set. Patching the childCourseId to "null" will move the membership to the parent course.

Since: 3000.11.0

dataSourceId
string

The ID of the data source associated with this course. This may optionally be the data source's externalId using the syntax "externalId:math101".

object (Availability)
courseRoleId
string
Enum: "Instructor" "BbFacilitator" "TeachingAssistant" "CourseBuilder" "Grader" "Student" "Guest"

The user's role in the course.

These roles are also valid for an organization, although they are named differently in the UI.

Custom course roles may also be referenced by their IDs.

Type Description
Instructor Has access to all areas in the Control Panel. This role is generally given to those developing, teaching, or facilitating the class. Instructors may access a course that is unavailable to students. This role is customizable and may have different capabilities from what is documented here.
BbFacilitator The facilitator is an instructor like role. Facilitators are restricted versions of an instructor, in that they are able to deliver course instruction and administer all aspects of a pre-constructed course, but are not allowed to modify or alter the course. This role is customizable and may have different capabilities from what is documented here.
TeachingAssistant The teaching assistant role is that of a co-teacher. Teaching assistants are able to administer all areas of a course. Their only limitations are those imposed by the instructor or Blackboard administrator at your school. This role is customizable and may have different capabilities from what is documented here.
CourseBuilder Manages the course without having access to student grades. This role is customizable and may have different capabilities from what is documented here.
Grader Assists the instructor in the creation, management, delivery, and grading of items. This role is customizable and may have different capabilities from what is documented here.
Student
Guest Has no access to the Control Panel. Areas within the course are made available to guests, but typically they can only view course materials; they do not have access to tests or assessments, and do not have permission to post on discussion boards. This role's behavior is immutable.
displayOrder
integer <int32>

For primary instructor implementation, position or displayOrder cannot be negative, the minimum position is 1, with which is the primary instructor (aka. Leader instructor). Multiple primary instructor have the same displayOrder 1.

This operation only takes effect when the course role is non-student and non-guest roles, otherwise it's silently ignored, since displayOrder is for this design.

All cases violating the above restrictions will be set as null All display orders don't keep uniqueness, just save as-is.

Responses

Request samples

Content type
application/json
{
  • "childCourseId": "string",
  • "dataSourceId": "string",
  • "availability": {
    },
  • "courseRoleId": "Instructor",
  • "displayOrder": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "userId": "string",
  • "user": {
    },
  • "courseId": "string",
  • "childCourseId": "string",
  • "dataSourceId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "availability": {
    },
  • "courseRoleId": "Instructor",
  • "bypassCourseAvailabilityUntil": "2019-08-24T14:15:22Z",
  • "lastAccessed": "2019-08-24T14:15:22Z",
  • "displayOrder": 0
}

Delete Membership

Deletes a user membership from the specified course.

Required entitlements:

  • For courses: 'system.enrollment.DELETE' or 'course.user.DELETE'
  • For organizations: 'system.enrollment.DELETE' or 'org.enrollment.DELETE'

Since: 2015.11.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Membership

Updates a user membership in the specified course.

Field Entitlements Required
dataSourceId 'course.user.MODIFY' or 'org.user.MODIFY'
childCourseId 'course.user.MODIFY' or 'org.user.MODIFY'
courseRoleId 'course.user.MODIFY', 'org.user.MODIFY', or 'course.user-role.MODIFY'
availability.available 'course.user.MODIFY', 'org.user.MODIFY', or 'course.course-availability.MODIFY'
displayOrder 'course.user.MODIFY', 'org.user.MODIFY', or 'course.user-role.primary-instructor.MODIFY'

In addition, callers must have standard view entitlements to receive a response. Without view entitlements the operation will be performed but an empty result object will be returned.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

childCourseId
string

The primary ID of the child, cross-listed course, in which the user is directly enrolled.

This field is read only in Learn versions 3000.11.0 through 3400.0.0. As of 3400.1.0, this field is mutable.

If this membership's course is a parent course in a cross-listed set, the childCourseId can be updated to move the membership enrollment between child courses and the parent course in the set. Patching the childCourseId to "null" will move the membership to the parent course.

Since: 3000.11.0

dataSourceId
string

The ID of the data source associated with this course. This may optionally be the data source's externalId using the syntax "externalId:math101".

object (Availability)
courseRoleId
string
Enum: "Instructor" "BbFacilitator" "TeachingAssistant" "CourseBuilder" "Grader" "Student" "Guest"

The user's role in the course.

These roles are also valid for an organization, although they are named differently in the UI.

Custom course roles may also be referenced by their IDs.

Type Description
Instructor Has access to all areas in the Control Panel. This role is generally given to those developing, teaching, or facilitating the class. Instructors may access a course that is unavailable to students. This role is customizable and may have different capabilities from what is documented here.
BbFacilitator The facilitator is an instructor like role. Facilitators are restricted versions of an instructor, in that they are able to deliver course instruction and administer all aspects of a pre-constructed course, but are not allowed to modify or alter the course. This role is customizable and may have different capabilities from what is documented here.
TeachingAssistant The teaching assistant role is that of a co-teacher. Teaching assistants are able to administer all areas of a course. Their only limitations are those imposed by the instructor or Blackboard administrator at your school. This role is customizable and may have different capabilities from what is documented here.
CourseBuilder Manages the course without having access to student grades. This role is customizable and may have different capabilities from what is documented here.
Grader Assists the instructor in the creation, management, delivery, and grading of items. This role is customizable and may have different capabilities from what is documented here.
Student
Guest Has no access to the Control Panel. Areas within the course are made available to guests, but typically they can only view course materials; they do not have access to tests or assessments, and do not have permission to post on discussion boards. This role's behavior is immutable.
displayOrder
integer <int32>

For primary instructor implementation, position or displayOrder cannot be negative, the minimum position is 1, with which is the primary instructor (aka. Leader instructor). Multiple primary instructor have the same displayOrder 1.

This operation only takes effect when the course role is non-student and non-guest roles, otherwise it's silently ignored, since displayOrder is for this design.

All cases violating the above restrictions will be set as null All display orders don't keep uniqueness, just save as-is.

Responses

Request samples

Content type
application/json
{
  • "childCourseId": "string",
  • "dataSourceId": "string",
  • "availability": {
    },
  • "courseRoleId": "Instructor",
  • "displayOrder": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "userId": "string",
  • "user": {
    },
  • "courseId": "string",
  • "childCourseId": "string",
  • "dataSourceId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "availability": {
    },
  • "courseRoleId": "Instructor",
  • "bypassCourseAvailabilityUntil": "2019-08-24T14:15:22Z",
  • "lastAccessed": "2019-08-24T14:15:22Z",
  • "displayOrder": 0
}

Get User Memberships

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

Users can always view their own memberships. Callers viewing the memberships of another user require at least one of the following entitlements:

  • 'system.user.course.enrollment.VIEW' allows callers to see course memberships
  • 'system.user.org.enrollment.VIEW' allows callers to see organization memberships

Since: 2015.11.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

role
string

Search for memberships with a course role id that matches this value.

Since: 3500.5.0

created
string <date-time>

Search for memberships with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3100.0.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3100.0.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for memberships with a modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3800.9.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3800.9.0

Type Description
lessThan
greaterOrEqual
dataSourceId
string

Search for memberships with this dataSourceId. This may optionally be the data source's externalId using the syntax "externalId:math101".

Since: 3100.0.0

lastAccessed
string <date-time>

Search for memberships with a last accessed date relative to this value. 'lastAccessedCompare' may also be sent to control search behavior.

Since: 3300.9.0

lastAccessedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'lastAccessed' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3300.9.0

Type Description
lessThan
greaterOrEqual
availability.available
string
Enum: "Yes" "No" "Disabled"

Search for users with availability.available properties that contain this value.

Since: 3100.0.0

Type Description
Yes
No
Disabled Since: 3100.0.0
sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "created(desc)" Supported fields are:

  • created
  • lastAccessed (Since 3300.9.0)

Since: 3100.0.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • course

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

course messages

Get Messages

Retrieve all the messages for a course by specified folder. This endpoint currently supports only Original courses.

The "course.message.VIEW" entitlement is required to view Course Messages.

Since: 3900.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
folderType
string
Enum: "Inbox" "Sent" "Delete" "Custom"

Specifies the folder type, The default type is inbox

Type Description
Inbox
Sent
Delete
Custom
folderName
string

Specifies the folder name of the custom folder

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "isRead(desc),start" Supported fields are:

  • isRead
  • postedDate

Since: 3900.2.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • sender

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Message

Creates a new Course Message. This endpoint currently supports only Original courses.

The "course.message.CREATE" entitlement is required to create or reply a course message

Since: 3900.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
id
string

The ID of the message

subject
string

The subject of the message.

body
string <BbML>

The body text of the message. This field supports BbML; see here for more information.

isRead
boolean

Whether or not the message has been read

object (CourseMessageAttachment)
toUsers
Array of strings

The to participants of the message

ccUsers
Array of strings

The cc participants of the message

bccUsers
Array of strings

The bcc participants of the message

isExistingAttachment
boolean

Whether or not the attachment is the existing attachment for the message

isReply
boolean

Whether or not this message is a reply to another message

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "subject": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "isRead": true,
  • "attachment": {
    },
  • "toUsers": [
    ],
  • "ccUsers": [
    ],
  • "bccUsers": [
    ],
  • "isExistingAttachment": true,
  • "isReply": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "subject": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "postedDate": "2019-08-24T14:15:22Z",
  • "isRead": true,
  • "type": "System",
  • "sender": {
    },
  • "senderId": "string",
  • "attachment": {
    },
  • "toUsers": [
    ],
  • "ccUsers": [
    ],
  • "bccUsers": [
    ],
  • "isExistingAttachment": true,
  • "isReply": true
}

Get Folders

Retrieve all the folders for a course. This endpoint currently supports only Original courses.

The "course.message.VIEW" entitlement is required to view a Course Message folders.

Since: 3900.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Delete Message

Delete a message.

The 'course.message.DELETE' entitlement is required to delete the message.

Since: 3900.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
messageId
required
string
query Parameters
folderType
string
Enum: "Inbox" "Sent" "Delete" "Custom"

Specifies the folder type, The default type is inbox

Type Description
Inbox
Sent
Delete
Custom
folderName
string

Specifies the folder name of the custom folder

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Message

Update the read status of the message. This endpoint currently supports only Original courses.

Since: 3900.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
messageId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
isRead
boolean

Whether or not the message has been read

Responses

Request samples

Content type
application/json
{
  • "isRead": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "subject": "string",
  • "body": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "postedDate": "2019-08-24T14:15:22Z",
  • "isRead": true,
  • "type": "System",
  • "sender": {
    },
  • "senderId": "string",
  • "attachment": {
    },
  • "toUsers": [
    ],
  • "ccUsers": [
    ],
  • "bccUsers": [
    ],
  • "isExistingAttachment": true,
  • "isReply": true
}

Get Message Participants

Retrieve all participants for the specified message.

The "course.message.VIEW" entitlement is required to view a Course Message participants.

Since: 3900.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
messageId
required
string
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

participationType
string

Search the participation type

Since: 3800.20.0

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "PARTICIPATION_TYPE(desc),start" Supported fields are:

  • participationType

Since: 3900.2.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • user

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

course toc

Get Toc Items

Returns a list of Course TOC entries associated to a course.

Entitlement course.configure-areas.EXECUTE required

Since: 3900.31.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Update Toc Item

Updates a specific TOC entry. Only allowGuests and allowObservers flags are modifiable, the remaining fields are read-only. User should keep in mind that in order to modify such TOC fields, Course's allowGuest and allowObservers configuration must be enabled. Also, if user wants to update a TOC register's allowGuest flag and TOC is associated to a CONTENT or APPLICATION target type, Course Tool Settings must have allowGuests flag enabled. If user wants to update a TOC register's allowObserver flag and TOC is associated to an APPLICATION target type, Course Tool Settings must have allowObservers flag enabled.

Entitlement course.configure-areas.EXECUTE required

Since: 3900.31.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
tocId
required
string

Id of the TOC to be modified.

query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON Course TOC object.

allowGuests
boolean

Whether or not Guests can view this ToC.

allowObservers
boolean

Whether or not Observers can view this ToC.

Responses

Request samples

Content type
application/json
{
  • "allowGuests": true,
  • "allowObservers": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "courseId": "string",
  • "contentId": "string",
  • "label": "string",
  • "url": "string",
  • "targetType": "Application",
  • "position": 0,
  • "launchInNewWindow": true,
  • "isEnabled": true,
  • "isEntryPoint": true,
  • "internalHandle": "string",
  • "allowGuests": true,
  • "allowObservers": true
}

courses

Get Course Children

Returns a list of course cross-listings.

The 'system.course.cross-list.VIEW' or 'system.org.cross-list.VIEW' or 'course.children.VIEW' entitlement is needed.

Since: 3000.11.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • childCourse

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Child

Loads a specific course cross-listing.

The 'system.course.cross-list.VIEW' or 'system.org.cross-list.VIEW' entitlement is needed.

Since: 3000.11.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
childCourseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • childCourse

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "parentId": "string",
  • "dataSourceId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "childCourse": {
    }
}

Add Child Course

Merges two courses (or organizations) together. Commonly referred to as cross-listing. Only a single level of parent/child relationship is supported (ie. Parent courses may not become children, similarly, a child cannot become a parent)

Minimal entitlements required:

  • For courses: 'system.course.cross-list.VIEW'
  • For organizations: 'system.org.cross-list.VIEW'

Upon being merged, all enrollments in the child course are replicated in the parent course, and any future enrollment changes in the child course are also synchronized automatically with the parent course. Duplicate student enrollments will result in a 409 CONFLICT unless the 'ignoreEnrollmentErrors' query parameter is set to true. Users in other roles, such as grader, teaching assistant, or guest, are assigned roles based on the last time they are added to the parent course.

Since: 3400.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
childCourseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
ignoreEnrollmentErrors
boolean

By default, enrollment errors encountered during a course merge will result in a 409 CONFLICT response. The ignoreEnrollmentErrors parameter can be sent as true in order to bypass enrollment errors.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "parentId": "string",
  • "dataSourceId": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "childCourse": {
    }
}

Remove Child Course

Delete a course-course relationship, resulting in two unrelated courses.

Minimal entitlements required:

  • For courses: 'system.course.separate-out.VIEW'
  • For organizations: 'system.org.separate-out.VIEW'

Since: 3900.4.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
childCourseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
separationStyle
string
Enum: "completeSeparation" "enrollmentsInBoth"

The method by which the courses will be separated. Default: CompleteSeparation

Since: 3900.4.0

Type Description
completeSeparation Re-enable the child course with enrollments and remove all the child enrollments from the master course.
enrollmentsInBoth Re-enable the child course with enrollments but leave all the child enrollments in the master course as well, marking them as unavailable.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Cross List Set

Returns 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.

The 'system.course.cross-list.VIEW' or 'system.org.cross-list.VIEW' entitlement is needed.

Since: 3400.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Task

Check the status of a queued task associated with a Course. Returns 200 unless task is complete. If task is complete this endpoint will return a 303 SEE OTHER with a Location header providing a URI to the GET Course endpoint. Statistical data shows that the average copy task duration is under a second. However, very large courses can take several minutes. Also important to note is that these background tasks can potentially be queued behind other system tasks therefore prolonging the time a task stays in the Queued status. We recommend that this endpoint be polled every 60 seconds while waiting for a Course copy to complete.

Users with entitlements 'system.course.copy.EXECUTE' can view the task status.

Since: 3300.0.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
taskId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "Queued",
  • "percentComplete": 0,
  • "started": "2019-08-24T14:15:22Z"
}

Copy Course

Creates a copy of an existing Course into a new Course or an existing course. It is possible to limit the course content to be copied using options.

Users with entitlements 'system.course.copy.EXECUTE' can create a course copy. Users with entitlements 'system.org.copy.EXECUTE' can create an organization copy. Users with entitlement 'course.content.copy.exact.EXECUTE' can copy Course/Organization materials to a new or existing course Users with entitlement 'course.content.copy.new.EXECUTE' can copy Course/Organization materials to a new course. All users's must also have 'course.content.copy.EXECUTE' entitlement associated with the specified source courseId.

Since: 3800.2.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
Request Body schema: application/json
required
object (TargetCourseV2)

The destination course to copy into. This can be either a new course, defined by the courseId field, or an existing course, defined by the id field.

object (CopyV2)

The options which will be used when copying the specified course

Responses

Request samples

Content type
application/json
{
  • "targetCourse": {
    },
  • "copy": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Courses

Returns a list of courses and organizations.

To view disabled courses a user must have the entitlement 'system.course.VIEW'.

Users with the 'course.configure-properties.EXECUTE' course entitlement, or the 'system.course.properties.MODIFY' system entitlement can access all course properties.

Users enrolled in the course have read access to all properties except:

  • uuid
  • externalId
  • dataSourceId
  • created
  • allowGuests
  • enrollment.accessCode

Users who are not enrolled in the course and do not have associated entitlements only have read access to the following properties:

  • id
  • courseId
  • name
  • description
  • organization
  • readOnly
  • termId
  • availability.available
  • availability.duration.type
  • availability.duration.start
  • availability.duration.end
  • availability.duration.daysOfUse If the course enrollment is self-enroll, all users can view the course as though they were enrolled.

Since: 3800.1.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

modified
string <date-time>

Search for courses with a modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3500.4.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3500.4.0

Type Description
lessThan
greaterOrEqual
courseId
string

Search for courses with courseId properties that contain this value.

Since: 3100.0.0

name
string

Search for courses with name properties that contain this value.

Since: 3100.0.0

description
string

Search for courses with description properties that contain this value.

Since: 3100.0.0

externalId
string

Search for courses with externalId properties that contain this value.

Since: 3100.0.0

created
string <date-time>

Search for courses with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3100.0.0

allowGuests
boolean

Search for courses which are configured to allow/disallow guest access, based on input. Default: n/a (return courses regardless of guests allowed)

Since: 3200.3.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3100.0.0

Type Description
lessThan
greaterOrEqual
availability.available
string
Enum: "Yes" "No" "Disabled" "Term"

Search for courses with availability.available properties that contain this value.

Since: 3000.13.0

Type Description
Yes Students may access the course.
No Students may not access the course.
Disabled Disabled by the SIS. Students may not access the course. Since: 3100.0.0
Term Availability is inherited from the term settings. Requires a termId be set.
dataSourceId
string

Search for courses with this dataSourceId. This may optionally be the data source's externalId using the syntax "externalId:math101".

Since: 3100.0.0

termId
string

Search for courses with this termId. This may optionally be the term's externalId using the syntax "externalId:spring2015".

Since: 3100.0.0

organization
boolean

Search for courses by organization flag. A value of 'true' indicates that search results should be limited to only Organizations. A value of 'false' indicates results should be limited to Courses. Not setting this field indicates that both Courses and Organizations should be returned.

Since: 3100.0.0

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name(desc),created" Supported fields are:

  • courseId
  • name
  • externalId
  • created
  • modified

Since: 3400.8.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Course

Creates a course or organization.

The 'system.course.CREATE' entitlement is needed to create a course, while 'system.org.CREATE' is needed for an organization.

Since: 3800.1.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An optional externally-defined unique ID for the course. Defaults to the courseId.

Formerly known as 'batchUid'.

dataSourceId
string

The ID of the data source associated with this course. This may optionally be the data source's externalId using the syntax "externalId:math101".

courseId
required
string <= 100 characters

The Course ID attribute, shown to users in the UI.

name
required
string <= 333 characters

The name of the course.

description
string

The description of the course.

organization
boolean

Whether this object represents an Organization. Defaults to false.

ultraStatus
string
Enum: "Undecided" "Classic" "Ultra" "UltraPreview"

Whether the course is rendered using Classic or Ultra Course View.

Type Description
Undecided The ultra status is not decided.
Classic The course is decided as classic.
Ultra The course is decided as ultra
UltraPreview The course is currently in Ultra mode but during the preview state where it may still be reverted via a Restore to the classic state
allowGuests
boolean

Whether guests (users with the role guest) are allowed access to the course. Modifiable only for Classic course. Defaults to true for Classic Courses and false for Ultra Courses.

allowObservers
boolean

Whether observers are allowed access to the course. Modifiable only for Classic course. Defaults to false.

Since: 3900.31.0

closedComplete
boolean

This status does not affect availability of the course for viewing in any way. closedComplete is valid for both Ultra and Classic courses. If an Ultra course is in closedComplete mode, updates are not possible. For a Classic course in closedComplete mode, updates are still possible (through Web UI but not through REST i.e. closed is enforced for original courses when updated through REST the same way Ultra courses are blocked) but new notifications are not generated.

termId
string

The ID of the term associated to this course. This may optionally be the term's externalId using the syntax "externalId:spring.2016".

object (Availability)

Settings controlling availability of the course to students.

object (Enrollment)

Settings controlling how students may enroll in the course.

object (Locale)

Settings controlling localization within the course.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}

Get Course

Loads a specific course or organization.

To view disabled courses a user must have the entitlement 'system.course.VIEW'.

Users with the 'course.configure-properties.EXECUTE' entitlement can access all course properties.

Users enrolled in the course have read access to all properties except:

  • uuid
  • externalId
  • dataSourceId
  • created
  • allowGuests
  • enrollment.accessCode

Users with no access to the course only have read access to the following properties:

  • id
  • courseId
  • name
  • description
  • organization
  • closedComplete
  • termId
  • availability.available
  • availability.duration.type
  • availability.duration.start
  • availability.duration.end
  • availability.duration.daysOfUse If the course enrollment is self-enroll, all users can view the course as though they were enrolled.

Since: 3800.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}

Delete Course

Registers a queued task to delete a course or organization in asynchronous fashion.

The 'system.course.DELETE' entitlement is needed to delete a course, while 'system.org.DELETE' is needed for an organization.

Since: 3800.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
removeFiles
boolean

Whether to delete course files. Defaults to true.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Course

Updates a course or organization.

To update a course, the user must have either 'system.course|org.properties.MODIFY' or 'course.configure-properties.EXECUTE' entitlements. However, if the user has the latter entitlement, then additional entitlements are needed to be able to update certain fields, as shown below:

Field Entitlements Required
name course.name.MODIFY
description course.name.MODIFY
allowGuests course.configure-guest-access.EXECUTE
enrollment.type course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.start course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.end course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.accessCode course.configure-properties.EXECUTE, course.enrollment.MODIFY
availability.available course.configure-properties.EXECUTE, course.availability.MODIFY
locale.id course.configure-properties.EXECUTE, course.locale.MODIFY
locale.force course.configure-properties.EXECUTE, course.locale.MODIFY
availability.duration.type course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.start course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.end course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.daysOfUse course.configure-properties.EXECUTE, course.configure-duration.EXECUTE

Since: 3800.1.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An optional externally-defined unique ID for the course. Defaults to the courseId.

Formerly known as 'batchUid'.

dataSourceId
string

The ID of the data source associated with this course. This may optionally be the data source's externalId using the syntax "externalId:math101".

name
string <= 333 characters

The name of the course.

description
string

The description of the course.

allowGuests
boolean

Whether guests (users with the role guest) are allowed access to the course. Modifiable only for Classic course. Defaults to true for Classic Courses and false for Ultra Courses.

allowObservers
boolean

Whether observers are allowed access to the course. Modifiable only for Classic course. Defaults to false.

Since: 3900.31.0

closedComplete
boolean

This status does not affect availability of the course for viewing in any way. closedComplete is valid for both Ultra and Classic courses. If an Ultra course is in closedComplete mode, updates are not possible. For a Classic course in closedComplete mode, updates are still possible (through Web UI but not through REST i.e. closed is enforced for original courses when updated through REST the same way Ultra courses are blocked) but new notifications are not generated.

termId
string

The ID of the term associated to this course. This may optionally be the term's externalId using the syntax "externalId:spring.2016".

object (Availability)

Settings controlling availability of the course to students.

object (Enrollment)

Settings controlling how students may enroll in the course.

object (Locale)

Settings controlling localization within the course.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "name": "string",
  • "description": "string",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}

data sources

Get Data Sources

Returns a list of data sources.

The 'system.datasource.manager.VIEW' entitlement is needed.

Since: 3000.1.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

externalId
string

The 'batchUid' value to use as search criteria.

Currently only supports 'contains' searches.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Data Source

Creates a data source.

The 'system.datasource.manager.VIEW' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
required
string

An externally-defined unique ID for the data source.

Formerly known as 'batchUid'.

description
string

The description of the data source.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "description": "string"
}

Get Data Source

Loads a data source.

The 'system.datasource.manager.VIEW' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
dataSourceId
required
string

The data source ID. This may be the primary ID, or the secondary ID prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "description": "string"
}

Delete Data Source

Deletes a data source.

The 'system.datasource.manager.VIEW' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
dataSourceId
required
string

The data source ID. This may be the primary ID, or the secondary ID prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Data Source

Updates a data source.

The 'system.datasource.manager.VIEW' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
dataSourceId
required
string

The data source ID. This may be the primary ID, or the secondary ID prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string

An externally-defined unique ID for the data source.

Formerly known as 'batchUid'.

description
string

The description of the data source.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "description": "string"
}

discussions

Get Discussions

Get all discussions associated with the specified Ultra Course. The course must have ultra view enabled.

Requires the following entitlement:

  • discussion.forum.VIEW

    Enrolled users should be able to access this resource regardless of entitlement if the discussion is set to available. Any non-enrolled user with the required entitlements already mentioned above will be able to get an empty list response if consulted courseId does not have any discussion, otherwise, a 403 error should rise.

Since: 3900.19.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc),available" Supported fields are:

  • id
  • title
  • available
  • gradable
  • createdDate
  • modifiedDate
  • gradebookColumnId

Since: 3900.19.0

title
string

Search for forums with title properties that contain this value. Search is case-insensitive.

Since: 3900.25.0

gradable
boolean

Search for forums which are configured to be gradable or not, based on input.

Since: 3900.25.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Discussion

Create a discussion within the specified Ultra Course. If the discussion is created as gradable an associated gradebook column is also created. Such gradebook column can be updated via the course grades API.

Requires the following entitlements:

  • discussion.forum.CREATE
  • discussion.post.CREATE
  • discussion.thread.CREATE
  • course.content.CREATE.

Since: 3900.27.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
Request Body schema: application/json
title
required
string <= 333 characters

Title given to the discussion forum

available
boolean

Indicates if the discussion is available

gradable
boolean

Indicates if the discussion allows grading

required
object (Topic)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "available": true,
  • "gradable": true,
  • "topic": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "available": true,
  • "gradable": true,
  • "gradebookColumnId": "string",
  • "groupDiscussion": true,
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "topic": {
    }
}

Get Discussion

Get a discussion in the Ultra Course with the specified id.

Requires the following entitlement:

  • discussion.forum.VIEW

    Enrolled users should be able to access this resource regardless of entitlement if the discussion is set to available

Since: 3900.19.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "available": true,
  • "gradable": true,
  • "gradebookColumnId": "string",
  • "groupDiscussion": true,
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "topic": {
    }
}

Update Discussion

Update a discussion in an Ultra Course.

This operation is always a partial-update. So user should only send data that he want to change. If the discussion is updated to be gradable an associated gradebook column is also created. Such gradebook column can be updated via the course grades API. List of entitlements which allow a logged on user to update a forum.

  • discussion.forum.MODIFY

Since: 3900.27.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON discussionTOPubV1 object

title
string <= 333 characters

Title given to the discussion forum

available
boolean

Indicates if the discussion is available

gradable
boolean

Indicates if the discussion allows grading

object (Topic)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "available": true,
  • "gradable": true,
  • "topic": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "available": true,
  • "gradable": true,
  • "gradebookColumnId": "string",
  • "groupDiscussion": true,
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "topic": {
    }
}

Get Discussion Groups

Get the groups associated to a discussion from an Ultra Course, or an empty list if there are none.

Requires the following entitlement:

  • course.content.designer.VIEW

Since: 3900.27.0

Authorizations:
bearer
path Parameters
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "threadId(desc)" Supported fields are:

  • groupId
  • threadId

Since: 3900.27.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Discussion Group Association

Sets the specified group inside a discussion from an Ultra Course. This will create a group thread. A discussion that already has messages, including drafts, will not be able to be changed into a group discussion. After the first group has been set, all subsequent groups must belong to the same group set. If the forum content is conditioned behind a memberships criteria, no group associations shall be created by this endpoint.

Requires the following entitlement:

  • course.content.MODIFY

Since: 3900.27.0

Authorizations:
bearer
path Parameters
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "groupId": "string",
  • "discussionId": "string",
  • "threadId": "string"
}

Get Discussion Messages

Get the messages of the specified discussion in an Ultra Course.

Requires the following entitlement:

  • discussion.post.VIEW

Enrolled users should be able to access this resource regardless of entitlement if the discussion is set to available For group discussions, students will be able to access only the messages associated with groups in which they are enrolled. Entitled users will have access to messages associated with all groups, but can filter returned messages based on groupId using the groupId query parameter A draft message can only be seen by its own author

Since: 3900.19.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
groupId
string

Search for messages which are associated with this groupId.

Since: 3900.19.0

userId
string

Search for messages made by this userId.

Since: 3900.25.0

status
string
Enum: "Published" "Deleted" "Draft"

Search for messages with status.

Since: 3900.25.0

Type Description
Published Message is published in the discussion and visible for all users.
Deleted Message is shown in the discussion as soft-deleted.
Draft Message is stored as a draft and only visible for the author user.
isRead
boolean

Search for read or unread messages.

Since: 3900.25.0

created
string <date-time>

Search for messages filtering by 'created'. If createdCompare is not set, it will perform as 'greaterOrEqual' by default.

Since: 3900.25.0

modified
string <date-time>

Search for messages filtering by 'modified'. If modifiedCompare is not set, it will perform as 'greaterOrEqual' by default.

Since: 3900.25.0

posted
string <date-time>

Search for messages filtering by 'posted'. If postedCompare is not set, it will perform as 'greaterOrEqual' by default.

Since: 3900.25.0

edited
string <date-time>

Search for messages filtering by 'edited'. If editedCompare is not set, it will perform as 'greaterOrEqual' by default.

Since: 3900.25.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Operation to be applied to 'created'. When not specified, it will perform as 'greaterOrEqual' by default if 'created' contains a valid date

Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.25.0

Type Description
lessThan
greaterOrEqual
modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Operation to be applied to 'modified'. When not specified, it will perform as 'greaterOrEqual' by default if 'modified' contains a valid date

Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.25.0

Type Description
lessThan
greaterOrEqual
postedCompare
string
Enum: "lessThan" "greaterOrEqual"

Operation to be applied to 'posted'. When not specified, it will perform as 'greaterOrEqual' by default if 'posted' contains a valid date

Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.25.0

Type Description
lessThan
greaterOrEqual
editedCompare
string
Enum: "lessThan" "greaterOrEqual"

Operation to be applied to 'edited'. When not specified, it will perform as 'greaterOrEqual' by default if 'edited' contains a valid date

Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.25.0

Type Description
lessThan
greaterOrEqual
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "createdDate(desc),givenName" Supported fields are:

  • id
  • discussionId
  • parentId
  • threadId
  • userId
  • groupId
  • givenName
  • familyName
  • status
  • body
  • createdDate
  • modifiedDate
  • isRead

Since: 3900.19.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Message

Create a message in the main thread of a discussion from an Ultra Course. This corresponds to a direct reply to the topic.

Requires the following entitlements:

  • discussion.post.CREATE

For group discussions, instructors must specify a valid group id for the message to be created in the specific group thread.

Since: 3900.27.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
groupId
string

The Id of the group, only set for group discussions.

status
string
Enum: "Published" "Deleted" "Draft"

Status of the message.

Type Description
Published Message is published in the discussion and visible for all users.
Deleted Message is shown in the discussion as soft-deleted.
Draft Message is stored as a draft and only visible for the author user.
body
required
string

Body of the message, in BbML format.

Responses

Request samples

Content type
application/json
{
  • "groupId": "string",
  • "status": "Published",
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "discussionId": "string",
  • "parentId": "string",
  • "threadId": "string",
  • "userId": "string",
  • "groupId": "string",
  • "givenName": "string",
  • "familyName": "string",
  • "status": "Published",
  • "body": "string",
  • "postDate": "2019-08-24T14:15:22Z",
  • "editDate": "2019-08-24T14:15:22Z",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "isRead": true
}

Delete Message

Deletes a message in a discussion from an Ultra Course. If the message has no replies, it is fully deleted. Otherwise, it is soft-deleted unless explicitly requested for complete deletion using the query parameter deleteReplies.

Requires the following entitlement:

  • discussion.post.MODIFY
  • discussion.draft.DELETE
  • discussion.post.DELETE
  • discussion.post.author.DELETE
  • discussion.post.author.DELETE

Since: 3900.27.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
messageId
required
string

The message ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
deleteReplies
boolean

Whether the DELETE request should delete the replies or not. If true, the message and its replies are hard-deleted. Otherwise, the message is soft-deleted. If the message doesn't have replies, it is hard-deleted in any case.

Since: 3900.27.0

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "discussionId": "string",
  • "parentId": "string",
  • "threadId": "string",
  • "userId": "string",
  • "groupId": "string",
  • "givenName": "string",
  • "familyName": "string",
  • "status": "Published",
  • "body": "string",
  • "postDate": "2019-08-24T14:15:22Z",
  • "editDate": "2019-08-24T14:15:22Z",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "isRead": true
}

Update Message

Update a message of a discussion from an Ultra Course.

Requires the following entitlement:

  • discussion.draft.MODIFY
  • discussion.post.MODIFY
  • discussion.post.author.MODIFY

Since: 3900.27.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
messageId
required
string

The message ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
status
string
Enum: "Published" "Deleted" "Draft"

Status of the message.

Type Description
Published Message is published in the discussion and visible for all users.
Deleted Message is shown in the discussion as soft-deleted.
Draft Message is stored as a draft and only visible for the author user.
body
string

Body of the message, in BbML format.

Responses

Request samples

Content type
application/json
{
  • "status": "Published",
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "discussionId": "string",
  • "parentId": "string",
  • "threadId": "string",
  • "userId": "string",
  • "groupId": "string",
  • "givenName": "string",
  • "familyName": "string",
  • "status": "Published",
  • "body": "string",
  • "postDate": "2019-08-24T14:15:22Z",
  • "editDate": "2019-08-24T14:15:22Z",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "isRead": true
}

Get Message Replies

Get the replies of the specified message in a discussion from an Ultra Course.

Requires the following entitlement:

  • discussion.post.VIEW

Enrolled users should be able to access this resource regardless of entitlement if the discussion is set to available A draft message can only be seen by its own author

Since: 3900.19.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
messageId
required
string

The message ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
groupId
string

Search for messages which are associated with this groupId.

Since: 3900.19.0

userId
string

Search for messages made by this userId.

Since: 3900.25.0

status
string
Enum: "Published" "Deleted" "Draft"

Search for messages with status.

Since: 3900.25.0

Type Description
Published Message is published in the discussion and visible for all users.
Deleted Message is shown in the discussion as soft-deleted.
Draft Message is stored as a draft and only visible for the author user.
isRead
boolean

Search for read or unread messages.

Since: 3900.25.0

created
string <date-time>

Search for messages filtering by 'created'. If createdCompare is not set, it will perform as 'greaterOrEqual' by default.

Since: 3900.25.0

modified
string <date-time>

Search for messages filtering by 'modified'. If modifiedCompare is not set, it will perform as 'greaterOrEqual' by default.

Since: 3900.25.0

posted
string <date-time>

Search for messages filtering by 'posted'. If postedCompare is not set, it will perform as 'greaterOrEqual' by default.

Since: 3900.25.0

edited
string <date-time>

Search for messages filtering by 'edited'. If editedCompare is not set, it will perform as 'greaterOrEqual' by default.

Since: 3900.25.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Operation to be applied to 'created'. When not specified, it will perform as 'greaterOrEqual' by default if 'created' contains a valid date

Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.25.0

Type Description
lessThan
greaterOrEqual
modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Operation to be applied to 'modified'. When not specified, it will perform as 'greaterOrEqual' by default if 'modified' contains a valid date

Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.25.0

Type Description
lessThan
greaterOrEqual
postedCompare
string
Enum: "lessThan" "greaterOrEqual"

Operation to be applied to 'posted'. When not specified, it will perform as 'greaterOrEqual' by default if 'posted' contains a valid date

Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.25.0

Type Description
lessThan
greaterOrEqual
editedCompare
string
Enum: "lessThan" "greaterOrEqual"

Operation to be applied to 'edited'. When not specified, it will perform as 'greaterOrEqual' by default if 'edited' contains a valid date

Must be one of the following:

  • greaterOrEqual
  • lessThan

Since: 3900.25.0

Type Description
lessThan
greaterOrEqual
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "createdDate(desc),givenName" Supported fields are:

  • id
  • discussionId
  • parentId
  • threadId
  • userId
  • groupId
  • givenName
  • familyName
  • status
  • body
  • createdDate
  • modifiedDate
  • isRead

Since: 3900.19.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Message Reply

Create a reply to the specified message in a discussion from an Ultra Course.

Requires the following entitlement:

  • discussion.post.CREATE

Since: 3900.27.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
discussionId
required
string

The discussion ID. This may be the primary ID.

ID type Example
primary _123_1
messageId
required
string

The message ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
groupId
string

The Id of the group, only set for group discussions.

status
string
Enum: "Published" "Deleted" "Draft"

Status of the message.

Type Description
Published Message is published in the discussion and visible for all users.
Deleted Message is shown in the discussion as soft-deleted.
Draft Message is stored as a draft and only visible for the author user.
body
required
string

Body of the message, in BbML format.

Responses

Request samples

Content type
application/json
{
  • "groupId": "string",
  • "status": "Published",
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "discussionId": "string",
  • "parentId": "string",
  • "threadId": "string",
  • "userId": "string",
  • "groupId": "string",
  • "givenName": "string",
  • "familyName": "string",
  • "status": "Published",
  • "body": "string",
  • "postDate": "2019-08-24T14:15:22Z",
  • "editDate": "2019-08-24T14:15:22Z",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "modifiedDate": "2019-08-24T14:15:22Z",
  • "isRead": true
}

goals

Get Course Goal Alignments

Returns the list of Goal Alignments for the course specified by Id in the URL.

The 'course.learningstandards.alignment.VIEW' or 'course.learningstandards.alignment.student.VIEW' entitlement is required.

Since: 3900.62.00

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
goalId
string

Optional search criteria parameter to filter by goal id.

Since: 3900.62.00

blogId
string

Optional search criteria parameter to filter by blog id.

Since: 3900.62.00

contentId
string

Optional search criteria parameter to filter by course content id.

Since: 3900.62.00

discussionId
string

Optional search criteria parameter to filter by discussion id.

Since: 3900.62.00

gradebookColumnId
string

Optional search criteria parameter to filter by gradebook column id.

Since: 3900.62.00

messageId
string

Optional search criteria parameter to filter by message/thread id.

Since: 3900.62.00

questionId
string

Optional search criteria parameter to filter by assessment/question id.

Since: 3900.62.00

resourceId
string

Optional search criteria parameter to filter by resource id.

Since: 3900.62.00

reference
string

Optional search criteria parameter to filter by reference.

Since: 3900.62.00

rubricRowId
string

Optional search criteria parameter to filter by rubric row id.

Since: 3900.62.00

rubricId
string

Optional search criteria parameter to filter by rubric id.

Since: 3900.62.00

type
string
Enum: "Blog" "CourseContent" "ContentCollectionResource" "Discussion" "DiscussionThread" "Assessment" "GradebookColumn" "RubricRow" "Rubric" "Other"

Optional search criteria parameter to filter by type.

Since: 3900.62.00

Type Description
Blog Blog Content Type
CourseContent Course Content Type
ContentCollectionResource Content Collection Resourse Type
Discussion Discussion Content Type
DiscussionThread Message/Thread Content Type
Assessment Assessment/Question Content Type
GradebookColumn Gradebook Column Content Type
RubricRow Rubric Row Content Type
Rubric Rubric Content Type
Other Other Content Type
sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "id(desc)" Supported fields are:

  • id
  • goalId

Since: 3900.62.00

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Goals

Returns a list of Goals.

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
query Parameters
categoryId
string

Optional search criteria parameter to filter by category id.

Since: 3900.53.0

goalSetId
string

Optional search criteria parameter to filter by goal set id.

Since: 3900.53.0

type
string

Optional search criteria parameter to filter by goal type.

Since: 3900.53.0

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc)" Supported fields are:

  • id
  • title

Since: 3900.53.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Goal Sets

Returns a list of Goal Sets.

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name(desc)" Supported fields are:

  • id

Since: 3900.53.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Types

Returns a list of Goals Set Types.

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "id(desc)" Supported fields are:

  • id
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Goal Set By Id

Returns the Goal Set specified by Id.

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
path Parameters
goalSetId
required
string

The Goal Set ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "typeId": "string",
  • "availability": {
    }
}

Get Categories

Returns a list of Categories for a given Goal Set.

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
path Parameters
goalSetId
required
string

The Goal Set ID.

ID type Example
primary _123_1
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "id(desc)" Supported fields are:

  • id
  • name
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Goal Set Category By Id

Returns the Goal Set Category specified by Id.

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
path Parameters
goalSetId
required
string

The Goal Set ID.

ID type Example
primary _123_1
goalSetCategoryId
required
string

The Goal Set Category ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "availability": {
    }
}

Get Goals From Set And Category

Returns a list of Goals from a Goal Set and Category

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
path Parameters
goalSetId
required
string

The Goal Set ID.

ID type Example
primary _123_1
goalSetCategoryId
required
string

The Goal Set Category ID.

ID type Example
primary _123_1
goalSetId
required
string

Optional search criteria parameter to filter by goal set id.

Since: 3900.53.0

query Parameters
recursive
boolean

Search for child goals recursively. A value of 'true' return all top-level goals and any descendant goals. A value of 'false', only top-level goals are returned and this is the default behavior.

Since: 3900.53.0

categoryId
string

Optional search criteria parameter to filter by category id.

Since: 3900.53.0

type
string

Optional search criteria parameter to filter by goal type.

Since: 3900.53.0

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc)" Supported fields are:

  • id
  • title

Since: 3900.53.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Goal By Id

Returns the Goal specified by Id.

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
path Parameters
goalId
required
string

The Goal ID.

ID type Example
primary _123_1
externalId externalId:Goal_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • category
  • goalSet

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "goalSetId": "string",
  • "goalSet": {
    },
  • "categoryId": "string",
  • "category": {
    },
  • "parentId": "string",
  • "title": "string",
  • "text": "string",
  • "type": "string",
  • "availability": {
    },
  • "links": [
    ]
}

Get Goal Alignments

Returns a list of Goal Alignments.

The 'system.goal.align.VIEW' entitlement is required.

Since: 3900.62.00

Authorizations:
bearer
path Parameters
goalId
required
string

The Goal ID.

ID type Example
primary _123_1
externalId externalId:Goal_1
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

courseId
string

Optional search criteria parameter to filter by course id.

Since: 3900.62.00

blogId
string

Optional search criteria parameter to filter by blog id.

Since: 3900.62.00

contentId
string

Optional search criteria parameter to filter by course content id.

Since: 3900.62.00

discussionId
string

Optional search criteria parameter to filter by discussion id.

Since: 3900.62.00

gradebookColumnId
string

Optional search criteria parameter to filter by gradebook column id.

Since: 3900.62.00

messageId
string

Optional search criteria parameter to filter by message/thread id.

Since: 3900.62.00

questionId
string

Optional search criteria parameter to filter by assessment/question id.

Since: 3900.62.00

resourceId
string

Optional search criteria parameter to filter by resource id.

Since: 3900.62.00

reference
string

Optional search criteria parameter to filter by reference.

Since: 3900.62.00

rubricRowId
string

Optional search criteria parameter to filter by rubric row id.

Since: 3900.62.00

rubricId
string

Optional search criteria parameter to filter by rubric id.

Since: 3900.62.00

type
string
Enum: "Blog" "CourseContent" "ContentCollectionResource" "Discussion" "DiscussionThread" "Assessment" "GradebookColumn" "RubricRow" "Rubric" "Other"

Optional search criteria parameter to filter by type.

Since: 3900.62.00

Type Description
Blog Blog Content Type
CourseContent Course Content Type
ContentCollectionResource Content Collection Resourse Type
Discussion Discussion Content Type
DiscussionThread Message/Thread Content Type
Assessment Assessment/Question Content Type
GradebookColumn Gradebook Column Content Type
RubricRow Rubric Row Content Type
Rubric Rubric Content Type
Other Other Content Type
sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "id(desc)" Supported fields are:

  • id
  • goalId

Since: 3900.62.00

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Children Goals

Returns the list of Children Goals from the specified Parent Goal.

The 'system.learningstandards.VIEW' entitlement is required.

Since: 3900.53.0

Authorizations:
bearer
path Parameters
goalId
required
string

The Goal ID.

ID type Example
primary _123_1
externalId externalId:Goal_1
query Parameters
categoryId
string

Optional search criteria parameter to filter by category id.

Since: 3900.53.0

goalSetId
string

Optional search criteria parameter to filter by goal set id.

Since: 3900.53.0

type
string

Optional search criteria parameter to filter by goal type.

Since: 3900.53.0

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc)" Supported fields are:

  • id
  • title

Since: 3900.53.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

institutional hierarchy

Get Nodes For Course

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

Users with the 'system.multiinst.node.course.association.VIEW' entitlement and the 'system.multiinst.node.org.association.VIEW' system entitlement can access all node association information.

Since: 3800.10.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • node

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Nodes

Returns the Top-level institutional hierarchy nodes

Entitlement system.multiinst.hierarchy.manager.VIEW required

Users with entitlement "system.multiinst.hierarchy.manager.VIEW" for Node management can view all fields.

Since: 3800.10.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

recursive
boolean

Search Institutional Hierarchy Nodes recursively. If true, returns all descendant nodes of the specified Node. If false, only immediate children are returned (defualt: false)

Since: 3800.14.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Node

Creates a new institutional hierarchy node

Entitlement system.multiinst.hierarchy.manager.CREATE required

Users with entitlement "system.multiinst.hierarchy.manager.CREATE" for Node management can create a new Node.

Since: 3800.15.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string <= 256 characters

Node unique identifier

title
required
string <= 256 characters

Node display name

description
string <= 1000 characters

Node description

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "title": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "parentId": "string"
}

Get Node

Returns the institutional hierarchy node corresponding the provided ID

Entitlement system.multiinst.hierarchy.manager.VIEW required

Users with entitlement "system.multiinst.hierarchy.manager.VIEW" for Node management can view all fields.

Since: 3800.10.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "parentId": "string"
}

Delete Node

Deletes an institutional hierarchy node. The root node cannot be deleted. This deletes orphan children in a cascading fashion.

The 'system.multiinst.hierarchy.manager.DELETE' entitlement is required.

Since: 3800.15.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Node

Updates Institutional Hierarchy Node information.

Entitlement system.multiinst.hierarchy.manager.MODIFY is required

Since: 3800.15.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string <= 256 characters

Node unique identifier

title
string <= 256 characters

Node display name

description
string <= 1000 characters

Node description

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "title": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "parentId": "string"
}

Get Node Children

Returns the children of the institutional hierarchy node corresponding to the provided ID

Entitlement system.multiinst.hierarchy.manager.VIEW required

Users with entitlement "system.multiinst.hierarchy.manager.VIEW" for Node management can view all fields.

Since: 3800.10.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

recursive
boolean

Search Institutional Hierarchy Nodes recursively. If true, returns all descendant nodes of the specified Node. If false, only immediate children are returned (defualt: false)

Since: 3800.14.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Child Node

Create a new institutional hierarchy node whose parent corresponds to the supplied nodeId

Entitlement system.multiinst.hierarchy.manager.CREATE required

Users with entitlement "system.multiinst.hierarchy.manager.CREATE" for Node management can create a new Node.

Since: 3800.15.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string <= 256 characters

Node unique identifier

title
required
string <= 256 characters

Node display name

description
string <= 1000 characters

Node description

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "title": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "title": "string",
  • "description": "string",
  • "parentId": "string"
}

Get Node Course Associations

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

Users with the 'system.multiinst.node.course.association.VIEW' entitlement and the 'system.multiinst.node.org.association.VIEW' system entitlement can access all node association information.

Since: 3800.10.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

course.organization
boolean

Filters Hierarchy Node associations based on whether it is a Node-Course or a Node-Organization association. A value of 'true' indicates that search results should be limited to Node-Organization associations. A value of 'false' indicates results should be limited to Node-Course associations. Not setting this field indicates that both Node-Course and Node-Organization associations should be returned.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • course

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Node Course Association

Creates a node-course relationship for the specified node and course.

Users with the 'system.multiinst.node.course.association.CREATE' entitlement can create Course - Hierarchy Node associations. Users with the 'system.multiinst.node.org.association.CREATE' entitlement can create Organization - Hierarchy Node associations

Since: 3800.17.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
isPrimary
boolean

Whether or not this association represents the primary node association of the course

Responses

Request samples

Content type
application/json
{
  • "isPrimary": true
}

Response samples

Content type
application/json
{
  • "nodeId": "string",
  • "courseId": "string",
  • "course": {
    },
  • "isPrimary": true
}

Delete Node Course Association

Deletes the association between a given Node and a Course

Entitlement system.multiinst.node.course.association.DELETE required to delete Node-Course associations Entitlement system.multiinst.node.org.association.DELETE required to delete Node-Organization associations

Since: 3800.17.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Node Course Association

Update a specified node-course association.

Users with the 'system.multiinst.node.course.association.CREATE' entitlement can update Course - Hierarchy Node associations Users with the 'system.multiinst.node.org.association.CREATE' entitlement can update Organization - Hierarchy Node associations

Since: 3800.17.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
isPrimary
boolean

Whether or not this association represents the primary node association of the course

Responses

Request samples

Content type
application/json
{
  • "isPrimary": true
}

Response samples

Content type
application/json
{
  • "nodeId": "string",
  • "courseId": "string",
  • "course": {
    },
  • "isPrimary": true
}

Get Tools

Returns a list of tools associated to a node

Entitlement system.multiinst.node.tools.MODIFY required

Users with entitlement "system.multiinst.node.tools.MODIFY" for Node management can make use of this Endpoint.

Since: 3900.16.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
toolType
required
string
Enum: "Course" "Organization" "Content"
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Patch Tool

Modifies a tool related to a specific node and tool type. The modified tool is returned if modification runs succesfuly

Entitlements system.multiinst.node.tools.MODIFY and system.multiinst.node.tools.lock.override.MODIFY are required

Users with entitlement "system.multiinst.node.tools.MODIFY" and "system.multiinst.node.tools.lock.override.MODIFY" for Node management can make use of this Endpoint.

Since: 3900.16.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
toolType
required
string
Enum: "Course" "Organization" "Content"
toolId
required
string
query Parameters
updateExistingOriginalCourses
boolean

Scope of updated Tool Settings. By default if the parameter is not present or is set as false, the updated settings will be applied to new Original courses and all Ultra courses (new and existing). If present and value is true, the updated settings will be applied to all new and existing courses (Original and Ultra).

Since: 3900.16.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
object (SettingsAttribute)
object (SettingsAttribute)
object (SettingsAttribute)

Responses

Request samples

Content type
application/json
{
  • "toolSettings": {
    },
  • "guestSettings": {
    },
  • "observerSettings": {
    }
}

Response samples

Content type
application/json
{
  • "toolId": "string",
  • "nodeId": "string",
  • "tool": {
    },
  • "toolSettings": {
    },
  • "guestSettings": {
    },
  • "observerSettings": {
    }
}

Get Node User Associations

Returns a list of node-user relationships for the specified node.

Users with the 'system.multiinst.node.user.association.VIEW' entitlement can access all node association information.

Since: 3900.8.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • user

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Node User Association

Creates the association between a given Node and a User.

Entitlement 'system.multiinst.node.user.association.CREATE' is required.

Since: 3900.8.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "nodeId": "string",
  • "userId": "string",
  • "user": {
    }
}

Delete Node User Association

Deletes the association between a given Node and a User.

Entitlement 'system.multiinst.node.user.association.DELETE' is required.

Since: 3900.8.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Nodes For User

Obtains the Institutional Hierarchy Nodes associated to a User.

Entitlement system.multiinst.node.user.association.VIEW is required

Since: 3900.8.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • node

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

institutional hierarchy administrators

Get Node Admins

Lists all the Administrators from an Institutional Hierarchy Node.

The 'system.multiinst.node.admin.association.VIEW' entitlement is required.

Since: 3900.37.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc)" Supported fields are:

  • userId

Since: 3900.37.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • user

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Node Admin

Gets information of the specified user as an administrator of the specified node.

The 'system.multiinst.node.admin.association.VIEW' entitlement is required.

Since: 3900.37.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • user

Responses

Response samples

Content type
application/json
{
  • "nodeId": "string",
  • "userId": "string",
  • "user": {
    },
  • "nodeRoles": [
    ]
}

Set Node Admin Association

Create an association between the specified user as an administrator and the specified node with the provided system roles, giving a 201 CREATED status code as a result. If the association already exists, system roles are updated giving a 200 OK code as a result. Custom roles are supported, also by adding ´:custom´ as role sufix, for example 'aCustomRole:custom'. This sufix helps to distinguish custom roles with same name as system-created roles, for example: 'SystemSupport:custom' would be taken as a custom role, otherwise will be taken as System Support role. Non-administrative system roles (Guest, Integration, User/None, Observer) are not supported.

User with 'system.multiinst.node.admin.association.shared.roles.CREATE' entitlement are able to create associations on nodes where they are currently administrators and only with System Roles they already have.

User with 'system.multiinst.node.admin.association.all.roles.CREATE' entitlement can assign any administrators to any nodes without restrictions and with any amount of administrative System Roles.

Since: 3900.37.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
nodeRoles
required
Array of strings

List of roles the Admin User has within the Node.

Responses

Request samples

Content type
application/json
{
  • "nodeRoles": [
    ]
}

Response samples

Content type
application/json
{
  • "nodeId": "string",
  • "userId": "string",
  • "user": {
    },
  • "nodeRoles": [
    ]
}

Delete Node Admin

Removes an user as node administrator.

The 'system.multiinst.node.admin.association.DELETE' entitlement is required.

Since: 3900.37.0

Authorizations:
bearer
path Parameters
nodeId
required
string

The node ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

lti

Get Domain Configs

This endpoint returns the list of LTI domain configs

No entitlements required to view the data exposed by this endpoint (Since: 3900.46.0)

Entitlement system.administration.VIEW required for versions 3900.45.0 and before

Since: 3300.9.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Domain Config

Creates an LTI Domain Config.

The 'system.administration.VIEW' entitlement is needed to create a domain.

Since: 3300.9.0

Authorizations:
bearer
Request Body schema: application/json

JSON input object

primaryDomain
string

The primary domain name associated with this configuration.

clientId
string

The client id associated with this configuration. Only applicable for LTI versions 1.3+, excluding 2.0

Since: 3600.0.0

key
string
secret
string
status
string
Enum: "Approved" "Excluded" "NeedsApproval"

Enum that indicates if the set of domains associated with this config can or cannot be linked to.

Type Description
Approved
Excluded
NeedsApproval Since: 3300.9.0
sendUserDataType
string
Enum: "Never" "Sslonly" "Always"

Enum indicating when user data can be sent to the LTI tool provider.

Type Description
Never
Sslonly
Always Since: 3300.9.0
sendRole
boolean

Whether the user's role can be sent to the LTI tool provider.

sendName
boolean

Whether the user's name can be sent to the LTI tool provider.

sendEmail
boolean

Whether the user's email address can be sent to the LTI tool provider.

useSplashScreen
boolean

Whether a splash screen is shown before launching the LTI link.

Cannot be set to true if allowMembershipService is true.

allowMembershipService
boolean

Whether the Tool is allowed to call the LTI Names and Roles service and get the course memberships.

allowGradesService
boolean

Whether the Tool is allowed to call the LTI Assignment and Grades service and manage line items and grades.

Since: 3600.0.0

publicKey
string

The public key of the tool, if specified. It is optional and can be null

Since: 3800.17.0

jwksUrl
string

The JWKS URL of the tool, if specified. It is optional and can be null

Since: 3800.17.0

object

The custom parameters for the given domain.

name
string

The name of the domain configuration

Since: 3900.23.0

description
string

The description of the domain configuration

Since: 3900.23.0

Responses

Request samples

Content type
application/json
{
  • "primaryDomain": "string",
  • "clientId": "string",
  • "key": "string",
  • "secret": "string",
  • "status": "Approved",
  • "sendUserDataType": "Never",
  • "sendRole": true,
  • "sendName": true,
  • "sendEmail": true,
  • "useSplashScreen": true,
  • "allowMembershipService": true,
  • "allowGradesService": true,
  • "publicKey": "string",
  • "jwksUrl": "string",
  • "customParameters": {
    },
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "primaryDomain": "string",
  • "clientId": "string",
  • "status": "Approved",
  • "perLinkCredentials": true,
  • "sendUserDataType": "Never",
  • "sendRole": true,
  • "sendName": true,
  • "sendEmail": true,
  • "useSplashScreen": true,
  • "allowMembershipService": true,
  • "allowGradesService": true,
  • "publicKey": "string",
  • "jwksUrl": "string",
  • "allowEdit": true,
  • "customParameters": {
    },
  • "name": "string",
  • "description": "string"
}

Get Domain Config

This endpoint returns the LTI domain config with the specified Id

No entitlements required to view the data exposed by this endpoint (Since: 3900.46.0)

Entitlement system.administration.VIEW required for versions 3900.45.0 and before

Since: 3300.9.0

Authorizations:
bearer
path Parameters
domainId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "primaryDomain": "string",
  • "clientId": "string",
  • "status": "Approved",
  • "perLinkCredentials": true,
  • "sendUserDataType": "Never",
  • "sendRole": true,
  • "sendName": true,
  • "sendEmail": true,
  • "useSplashScreen": true,
  • "allowMembershipService": true,
  • "allowGradesService": true,
  • "publicKey": "string",
  • "jwksUrl": "string",
  • "allowEdit": true,
  • "customParameters": {
    },
  • "name": "string",
  • "description": "string"
}

Delete Domain Config

Deletes an LTI Domain Config.

The 'system.administration.VIEW' entitlement is needed to delete a domain.

Since: 3300.9.0

Authorizations:
bearer
path Parameters
domainId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Domain Config

Updates an LTI Domain Config.

The 'system.administration.VIEW' entitlement is needed to update a domain.

Since: 3300.9.0

Authorizations:
bearer
path Parameters
domainId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object

primaryDomain
string

The primary domain name associated with this configuration.

clientId
string

The client id associated with this configuration. Only applicable for LTI versions 1.3+, excluding 2.0

Since: 3600.0.0

key
string
secret
string
status
string
Enum: "Approved" "Excluded" "NeedsApproval"

Enum that indicates if the set of domains associated with this config can or cannot be linked to.

Type Description
Approved
Excluded
NeedsApproval Since: 3300.9.0
sendUserDataType
string
Enum: "Never" "Sslonly" "Always"

Enum indicating when user data can be sent to the LTI tool provider.

Type Description
Never
Sslonly
Always Since: 3300.9.0
sendRole
boolean

Whether the user's role can be sent to the LTI tool provider.

sendName
boolean

Whether the user's name can be sent to the LTI tool provider.

sendEmail
boolean

Whether the user's email address can be sent to the LTI tool provider.

useSplashScreen
boolean

Whether a splash screen is shown before launching the LTI link.

Cannot be set to true if allowMembershipService is true.

allowMembershipService
boolean

Whether the Tool is allowed to call the LTI Names and Roles service and get the course memberships.

allowGradesService
boolean

Whether the Tool is allowed to call the LTI Assignment and Grades service and manage line items and grades.

Since: 3600.0.0

publicKey
string

The public key of the tool, if specified. It is optional and can be null

Since: 3800.17.0

jwksUrl
string

The JWKS URL of the tool, if specified. It is optional and can be null

Since: 3800.17.0

object

The custom parameters for the given domain.

name
string

The name of the domain configuration

Since: 3900.23.0

description
string

The description of the domain configuration

Since: 3900.23.0

Responses

Request samples

Content type
application/json
{
  • "primaryDomain": "string",
  • "clientId": "string",
  • "key": "string",
  • "secret": "string",
  • "status": "Approved",
  • "sendUserDataType": "Never",
  • "sendRole": true,
  • "sendName": true,
  • "sendEmail": true,
  • "useSplashScreen": true,
  • "allowMembershipService": true,
  • "allowGradesService": true,
  • "publicKey": "string",
  • "jwksUrl": "string",
  • "customParameters": {
    },
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "primaryDomain": "string",
  • "clientId": "string",
  • "status": "Approved",
  • "perLinkCredentials": true,
  • "sendUserDataType": "Never",
  • "sendRole": true,
  • "sendName": true,
  • "sendEmail": true,
  • "useSplashScreen": true,
  • "allowMembershipService": true,
  • "allowGradesService": true,
  • "publicKey": "string",
  • "jwksUrl": "string",
  • "allowEdit": true,
  • "customParameters": {
    },
  • "name": "string",
  • "description": "string"
}

Get Placements

Returns a list of LTI placements

Supports the standard paging and sorting query parameters, with a maximum page size of 1000.

Since: 3300.0.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

handle
string

Search for placements with handle properties that contain this value.

Since: 3200.12.0

name
string

Search for placements with name properties that contain this value.

Since: 3200.12.0

type
string
Enum: "Application" "ContentHandler" "ContentItemMessage" "System" "Administrator" "UltraUI" "BaseNavigation" "CourseNavigation" "Proctoring" "CloudDocument"

Search for placements with type properties that contain this value.

Since: 3200.12.0

Type Description
Application Application or Student Tool Placement
ContentHandler Content Type placement
ContentItemMessage Content-item Message placement (see IMSGlobal spec) Since: 3300.5.0
System System-level Tools
Administrator Administrator-level Tools Since: 3400.1.0
UltraUI Ultra-UI Extensions Since: 3700.6.0
BaseNavigation Base Navigation
CourseNavigation Course Navigation
Proctoring Proctoring Since: 3900.10.0
CloudDocument Cloud Document Type Placement Since: 3900.34.0
authorId
string

Search for placements with author ID properties that contain this value.

Since: 3200.12.0

Deprecated: since 3900.0.0; Field was never used and has been removed

courseId
string

Search for LTI placements that are available for this course. Note this only applies to Application, ContentHandler, and ContentItemMessage types currently

Since: 3900.0.0

domainId
string

Search for LTI placements that are associated to a specific domainId

Since: 3900.46.0

availability.available
string
Enum: "Yes" "No"

Search for placements with a specific availability value

Since: 3900.46.0

Type Description
Yes
No
sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name.family(desc),created"

Since: 3100.0.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Placement

Creates an LTI placement

The 'system.administration.VIEW' entitlement is required to create placements

Since: 3300.0.0

Authorizations:
bearer
Request Body schema: application/json
name
required
string <= 50 characters

The name of the placement. Not required to be unique. Maximum length of 50 characters, BAD_REQUEST error with message is returned if greater than 50 characters.

description
string <= 1000 characters

The description of the placement. Not required to be unique. Maximum length is 1000 characters, BAD_REQUEST error with message is returned if greater than 1000 characters.

iconUrl
string <= 255 characters

The URL of the icon for this placement, if any. Not required to be unique, must be a complete and valid URL. Maximum length is 255 characters, BAD_REQUEST error with message is returned if greater than 255 characters or incomplete URL.

handle
required
string <= 32 characters

The handle that uniquely identifies this placement. Required to be unique. Maximum length is 32 characters, BAD_REQUEST error with message is returned if greater than 32 characters.

type
required
string
Enum: "Application" "ContentHandler" "ContentItemMessage" "System" "Administrator" "UltraUI" "BaseNavigation" "CourseNavigation" "Proctoring" "CloudDocument"

The type of placement.

Type Description
Application Application or Student Tool Placement
ContentHandler Content Type placement
ContentItemMessage Content-item Message placement (see IMSGlobal spec) Since: 3300.5.0
System System-level Tools
Administrator Administrator-level Tools Since: 3400.1.0
UltraUI Ultra-UI Extensions Since: 3700.6.0
BaseNavigation Base Navigation
CourseNavigation Course Navigation
Proctoring Proctoring Since: 3900.10.0
CloudDocument Cloud Document Type Placement Since: 3900.34.0
url
required
string <= 1024 characters

The URL of the tool provider. Not required to be unique, must be a complete and valid URL. Maximum length is 1024 characters, BAD_REQUEST error with message is returned if greater than 1024 characters or incomplete URL.

key
string
secret
string
authorId
string

Id of the creator of the placement

Deprecated: since 3900.0 not used

instructorCreated
boolean

Whether an instructor created the placement or not (otherwise admin)

Deprecated: since 3900.0 not used

allowStudents
boolean

Whether the course tool is visible by students, or only to non-students (e.g. instructors). Defaults to true, allowing students to see the tool.

allowGrading
boolean

Whether this placement can accept grades from the tool provider and a grade column can be created for it. This only applies to Enum[Type]#ContentHandler types. All others don't support grading and will be set to false.

object (Availability)

Settings controlling availability of the placement.

launchInNewWindow
boolean

Whether this placement link should be opened in a new window or not.

object

Custom launch parameters for the tool.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "iconUrl": "string",
  • "handle": "string",
  • "type": "Application",
  • "url": "string",
  • "key": "string",
  • "secret": "string",
  • "authorId": "string",
  • "instructorCreated": true,
  • "allowStudents": true,
  • "allowGrading": true,
  • "availability": {
    },
  • "launchInNewWindow": true,
  • "customParameters": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "iconUrl": "string",
  • "handle": "string",
  • "type": "Application",
  • "url": "string",
  • "authorId": "string",
  • "instructorCreated": true,
  • "allowStudents": true,
  • "allowGrading": true,
  • "availability": {
    },
  • "launchInNewWindow": true,
  • "launchLink": "string",
  • "customParameters": {
    },
  • "domainId": "string"
}

Get Placement

Returns the LTI placement with the specified Id

Since: 3300.0.0

Authorizations:
bearer
path Parameters
placementId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "iconUrl": "string",
  • "handle": "string",
  • "type": "Application",
  • "url": "string",
  • "authorId": "string",
  • "instructorCreated": true,
  • "allowStudents": true,
  • "allowGrading": true,
  • "availability": {
    },
  • "launchInNewWindow": true,
  • "launchLink": "string",
  • "customParameters": {
    },
  • "domainId": "string"
}

Delete Placement

Deletes an LTI placement with the specified Id

The 'system.administration.VIEW' entitlement is required to delete placements

Since: 3300.0.0

Authorizations:
bearer
path Parameters
placementId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Placement

Updates an LTI placement with the given Id

The 'system.administration.VIEW' entitlement is required to update placements

Since: 3300.0.0

Authorizations:
bearer
path Parameters
placementId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
name
string <= 50 characters

The name of the placement. Not required to be unique. Maximum length of 50 characters, BAD_REQUEST error with message is returned if greater than 50 characters.

description
string <= 1000 characters

The description of the placement. Not required to be unique. Maximum length is 1000 characters, BAD_REQUEST error with message is returned if greater than 1000 characters.

iconUrl
string <= 255 characters

The URL of the icon for this placement, if any. Not required to be unique, must be a complete and valid URL. Maximum length is 255 characters, BAD_REQUEST error with message is returned if greater than 255 characters or incomplete URL.

url
string <= 1024 characters

The URL of the tool provider. Not required to be unique, must be a complete and valid URL. Maximum length is 1024 characters, BAD_REQUEST error with message is returned if greater than 1024 characters or incomplete URL.

key
string
secret
string
authorId
string

Id of the creator of the placement

Deprecated: since 3900.0 not used

instructorCreated
boolean

Whether an instructor created the placement or not (otherwise admin)

Deprecated: since 3900.0 not used

allowStudents
boolean

Whether the course tool is visible by students, or only to non-students (e.g. instructors). Defaults to true, allowing students to see the tool.

allowGrading
boolean

Whether this placement can accept grades from the tool provider and a grade column can be created for it. This only applies to Enum[Type]#ContentHandler types. All others don't support grading and will be set to false.

object (Availability)

Settings controlling availability of the placement.

launchInNewWindow
boolean

Whether this placement link should be opened in a new window or not.

object

Custom launch parameters for the tool.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "iconUrl": "string",
  • "url": "string",
  • "key": "string",
  • "secret": "string",
  • "authorId": "string",
  • "instructorCreated": true,
  • "allowStudents": true,
  • "allowGrading": true,
  • "availability": {
    },
  • "launchInNewWindow": true,
  • "customParameters": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "iconUrl": "string",
  • "handle": "string",
  • "type": "Application",
  • "url": "string",
  • "authorId": "string",
  • "instructorCreated": true,
  • "allowStudents": true,
  • "allowGrading": true,
  • "availability": {
    },
  • "launchInNewWindow": true,
  • "launchLink": "string",
  • "customParameters": {
    },
  • "domainId": "string"
}

performance dashboard

Get Review Status By Course Id

List the content review statuses for all the users enrolled in a course. Users calling this endpoint must have the following entitlement: this entitlement check.

  • course.performance.dashboard.VIEW

Since: 3700.15.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
userId
string

Optional search criteria to filter by user id.

Since: 3700.15.0

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

proctoring

Get Proctoring Services

Returns a list of proctoring services Supports the standard paging query parameters, with a maximum page size of 1000. No entitlement check is performed as this data is not restricted. Any secure fields such as keys/secrets are not included in the results.

Since: 3500.6.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

availability.available
string
Enum: "Yes" "No"

Search for proctoring services with availability.available properties that contain this value.

Type Description
Yes
No
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Proctoring Service

Returns the proctoring service with the specified Id No entitlement check is performed as this data is not restricted. Any secure fields such as keys/secrets are not included in the results.

Since: 3500.6.0

Authorizations:
bearer
path Parameters
proctoringServiceId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "handle": "string",
  • "vendor": "Respondus",
  • "assessmentSettingsUrl": "string",
  • "assessmentSettingsCustomParameters": {
    },
  • "browserDownloadUrl": "string",
  • "availability": {
    }
}

pronouns

Get Pronouns

Returns a list of pronouns

Supports the standard paging query parameters, with a maximum page size of 200.

Since: 3900.26.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Pronoun

Create a pronoun

Users with the 'system.pronouns.MODIFY' entitlement can create pronouns.

Pending pronouns created will be submitted to the System Administrator for approval and will not be immediately added to the list, regardless of entitlement.

Since: 3900.26.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
name
required
string <= 100 characters

The name of the pronoun.

status
required
string
Enum: "Pending" "Approved"

The status of the pronoun.

Type Description
Pending
Approved

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "status": "Pending"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "status": "Pending"
}

Delete Pronoun

Delete a pronoun

The 'system.pronouns.MODIFY' entitlement is needed in order to delete the pronoun.

Since: 3900.26.0

Authorizations:
bearer
path Parameters
pronounId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Pronoun

Update a pronoun

The 'system.pronouns.MODIFY' entitlement is needed in order to update the pronoun.

Since: 3900.26.0

Authorizations:
bearer
path Parameters
pronounId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
name
string <= 100 characters

The name of the pronoun.

status
string
Enum: "Pending" "Approved"

The status of the pronoun.

Type Description
Pending
Approved

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "status": "Pending"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "status": "Pending"
}

roles

Get Course Roles

Returns a list of course roles. This list will contain all the course roles the context user has access to see.

If the context user has any of these entitlements, then the user can see all course roles:

  • system.courserole.CREATE
  • system.enrollment.CREATE
  • system.courserole.manager.VIEW
  • system.courserole.DELETE

Otherwise, these course role entitlements are checked for any courses the context user is enrolled in:

  • course.user-enroll.EXECUTE
  • system.courserole.CREATE
  • system.enrollment.CREATE
  • system.courserole.manager.VIEW
  • system.courserole.DELETE
  • course.user-role.MODIFY

If the logged in user has any of those course role entitlements for a Course where Course.organization = false, then the user can see course roles where Availability.Available = Course or CourseAndOrganization

If the logged in user has any of those course role entitlements for a Course where Course.organization = true, then the user can see course roles where Availability.Available = Organization or CourseAndOrganization

Since: 3300.5.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name.family(desc),created"

Since: 3100.0.0

custom
boolean

Search course roles by whether they are a custom or system generated course role.

Since: 3300.5.0

roleId
string

Search course roles using their roleId's. Any course role with a roleId that contains the given string will be returned. The search is case insensitive.

Since: 3300.5.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Course Role

Returns a single course role. The path id can be either the CourseRole.id field like "/courseRoles/_5_1" or the CourseRole.roleId field like "/courseRoles/roleId:Student".

A 403 (FORBIDDEN) status is returned if the context user does not have access to see the course role.

If the context user has any of these entitlements, then the user can see all course roles:

  • system.courserole.CREATE
  • system.enrollment.CREATE
  • system.courserole.manager.VIEW
  • system.courserole.DELETE

Otherwise, these course role entitlements are checked for any courses the context user is enrolled in:

  • course.user-enroll.EXECUTE
  • system.courserole.CREATE
  • system.enrollment.CREATE
  • system.courserole.manager.VIEW
  • system.courserole.DELETE
  • course.user-role.MODIFY

If the logged in user has any of those course role entitlements for a Course where Course.organization = false, then the user can see course roles where Availability.Available = Course or CourseAndOrganization

If the logged in user has any of those course role entitlements for a Course where Course.organization = true, then the user can see course roles where Availability.Available = Organization or CourseAndOrganization

Since: 3300.5.0

Authorizations:
bearer
path Parameters
roleId
required
string

The course role ID. This may be the primary ID, or the roleId. The suffix ":custom" will be appended to the roleId of a custom course role if that roleId conflicts with the roleId of a system generated course role. For example, if a custom role roleId is specified as "Student" then the roleId will actually be "Student:custom" since there is already a system generated course role with the roleId of "Student".

ID type Examples
primary _123_1
roleId roleId:Student, roleId:MyCustomRole, roleId:Student:custom

Since: 3300.5.0

query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "roleId": "string",
  • "nameForCourses": "string",
  • "nameForOrganizations": "string",
  • "description": "string",
  • "custom": true,
  • "actAsInstructor": true,
  • "availability": {
    }
}

Get Institution Roles

Returns a list of institution roles.

Users must have the entitlement 'system.institutionrole.VIEW' to access this endpoint.

Since: 3300.4.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "roleId(desc)" Supported fields are:

  • roleId
  • custom

Since: 3300.4.0

roleId
string

Search for institution roles with roleId properties that contain this value.

Since: 3300.4.0

custom
boolean

Search for institution roles by custom flag. A value of 'true' indicates that search results should be limited to only custom roles. A value of 'false' indicates results should be limited to built-in roles. Not setting this field indicates that all institution roles should be returned.

Since: 3300.4.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Institution Role

Loads a specific institution role.

Users must have the entitlement 'system.institutionrole.VIEW' to access this endpoint.

Since: 3300.4.0

Authorizations:
bearer
path Parameters
roleId
required
string

The institution role ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
roleId roleId:STUDENT

Since: 3300.5.0

query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "roleId": "string",
  • "name": "string",
  • "description": "string",
  • "custom": true
}

Get System Roles

Returns a list of system roles.

Users must have the 'system.systemrole.manager.VIEW' entitlement to access this endpoint.

Since: 3300.5.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

roleId
string

Search for system roles with roleId

Since: 3300.5.0

custom
boolean

Search for system roles by custom flag. A value of 'true' indicates that search results should be limited to only custom roles. A value of 'false' indicates results should be limited to built-in roles. Not setting this field indicates that all system roles should be returned.

Since: 3300.5.0

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "roleId(desc)"

Supported fields are:

    - roleId - custom
**Since**: 3300.5.0
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get System Role

Get a specific system role by roleId. See the roleId parameter for valid roleId formats.

Users must have the 'system.systemrole.manager.VIEW' entitlement to access this endpoint.

Since: 3300.5.0

Authorizations:
bearer
path Parameters
roleId
required
string

The System Role ID. This may be the primary ID, or the secondary roleId type. The suffix ":custom" will be appended to the roleId of a custom system role if that roleId conflicts with the roleId of a system generated role. For example, if a custom role roleId is specified as "Guest" then the roleId will actually be "Guest:custom" since there is already a system generated role with the roleId of "Guest".

ID type Example
primary _123_1
roleId roleId:column1

Since: 3300.5.0

query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "roleId": "string",
  • "name": "string",
  • "description": "string",
  • "custom": true
}

rubric associations

Get Rubric Associations By Column Id

Returns the list of Rubric Associations related to the specified gradebook column within the specified course.

User must have the following entitlements in order to see the associations.

  • course.rubrics.VIEW
  • course.gradebook-metadata.VIEW
  • course.gradebook.MODIFY

Since: 3900.60.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Rubric Associations

Returns a list of rubric associations for a given course Id and rubric Id. If provided course Id is from an Original course, associations might include both Gradebook and Assessments entities. If provided course Id is from an Ultra course, only associations with Gradebook entities will be fetched.

User most have the following entitlement in order to see the provided course's rubrics.

  • course.rubrics.VIEW

Since: 3900.60.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
rubricId
required
string

The Rubric ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name.family(desc),created"

Since: 3100.0.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Rubric Association By Id

Returns a rubric association for a given course Id, rubric Id and rubric association Id.

User most have the following entitlement in order to see the provided course's rubrics.

  • course.rubrics.VIEW

Since: 3900.60.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
rubricId
required
string

The Rubric ID. This may be the primary ID.

ID type Example
primary _123_1
rubricAssociationId
required
string

The Rubric Association ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "rubricId": "string",
  • "associationEntity": {
    },
  • "usedForGrading": true,
  • "rubricVisibility": "Disabled",
  • "links": [
    ]
}

rubrics

Get Rubrics

Returns a list of rubrics for a given course.

User most have the following entitlement in order to see the provided course's rubrics.

  • course.rubrics.VIEW

Since: 3900.46.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "title(desc),created" Supported fields are:

  • id
  • created
  • modified
  • title
  • description
  • rubricType
created
string <date-time>

Search for rubrics with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Defaults to greaterOrEqual if not specified.

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for rubrics with a modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Defaults to greaterOrEqual if not specified.

Type Description
lessThan
greaterOrEqual
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Rubric By Id

Returns a rubric for a given course Id and a rubric Id.

User most have the following entitlement in order to see the provided course's rubrics.

  • course.rubrics.VIEW

Since: 3900.46.0

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
rubricId
required
string

The Rubric ID. This may be the primary ID.

ID type Example
primary _123_1
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • cells
  • columns
  • rows

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "courseId": "string",
  • "title": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "rubricType": "Numeric",
  • "readOnly": true
}

sessions

Get Login As Sessions

List of historic login-as-user sessions in Learn.

Users with the following entitlement can view login as sessions:

  • system.user.impersonate.VIEW

Since: 3900.58.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

The column(s) to sort by. Format is: <RestVO.propertyName>(ASC|DESC)... e.g. "title(DESC),createdDate(DESC)"

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Active Sessions

List active user sessions in Learn.

Users with the following entitlement can view others session:

  • system.user.sessions.VIEW

Also with users with any of the following entitlements can view the users information using the expand param:

  • system.user.VIEW
  • user.VIEW

Since: 3800.4.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

expand
string

A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:

  • user

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

SIS Logs

Get SIS Logs By Data Set Uid

Returns a list of SIS Integration logs. Users with 'system.dataintegrations.log.VIEW' entitlement can view these logs.

NOTE: If integration is processing the feed file then 423 (LOCKED) will be returned as response.

Since: 3200.0.1

Authorizations:
bearer
path Parameters
id
required
string

: dataSetUid of the integration

query Parameters
level
string
Enum: "Debug" "Information" "Warning" "Error"

: Logs can be filtered with level. Default level is Error. Logs will be pulled of that level and above i.e. for level = Warning result set will have warning and error level log messages

offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

system

Get Info

Gets the values of Cloud settings that are needed for interacting with platform services.

Since: 3900.56.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "siteId": "string",
  • "tenantId": "string",
  • "region": "string"
}

Get Policies

Returns the links to the Blackboard and Institution privacy policies

Since: 3400.5.0

Authorizations:
bearer
query Parameters
locale
string

the locale, otherwise it defaults to en_US

Responses

Response samples

Content type
application/json
{
  • "blackboard": "string",
  • "institution": "string"
}

Get System Task

Get the background task by the given task Id.

Since: 3800.1.0

Authorizations:
bearer
path Parameters
taskId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "string",
  • "status": "Queued",
  • "percentComplete": 0,
  • "started": "2019-08-24T14:15:22Z",
  • "ended": "2019-08-24T14:15:22Z",
  • "results": {
    }
}

Get Version

Gets the current Learn server version.

Since: 3000.3.0

Authorizations:
bearer

Responses

Response samples

Content type
application/json
{
  • "learn": {
    }
}

terms

Get Terms

Returns a list of terms.

Properties returned for each term will depend on whether or not the caller has one of the term entitlements.

Callers without either the entitlements 'term.VIEW' or 'term.MODIFY' will always get a minimal set of core properties:

  • id
  • name
  • description
  • availability.*

If the user has one of the entitlements, they will also get the following properties:

  • externalId
  • dataSourceId

Since: 3000.1.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

externalId
string

Search for term with externalId properties that contain this value.

Since: 3100.6.0

dataSourceId
string

Search for term with this dataSourceId.

Since: 3100.6.0

availability.available
string
Enum: "Yes" "No"

Search for users with availability.available properties that contain this value.

Since: 3100.6.0

Type Description
Yes Students may access the term and the courses it contains.
No Students may not access the term or the courses it contains.
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Term

Creates a term.

The 'system.term.MODIFY' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
required
string <= 256 characters

An externally-defined unique ID for the term.

Formerly known as 'sourcedidId'.

dataSourceId
string

The ID of the data source associated with this term. This may optionally be the data source's externalId using the syntax "externalId:math101".

name
required
string <= 333 characters

The name of the term.

description
string <BbML>

The description of the term. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the term to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    }
}

Get Term

Loads a term.

Properties returned will depend on whether or not the caller has one of the term entitlements.

Callers without either the entitlements 'term.VIEW' or 'term.MODIFY' will always get a minimal set of core properties:

  • id
  • name
  • description
  • availability.*

If the user has one of the entitlements, they will also get the following properties:

  • externalId
  • dataSourceId

Since: 2015.11.0

Authorizations:
bearer
path Parameters
termId
required
string

The term ID. This may be the primary ID, or the secondary ID prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:spring.2016
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    }
}

Delete Term

Deletes a term.

The 'system.term.MODIFY' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
termId
required
string

The term ID. This may be the primary ID, or the secondary ID prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:spring.2016

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Term

Updates a term.

The 'system.term.MODIFY' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
termId
required
string

The term ID. This may be the primary ID, or the secondary ID prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:spring.2016
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An externally-defined unique ID for the term.

Formerly known as 'sourcedidId'.

dataSourceId
string

The ID of the data source associated with this term. This may optionally be the data source's externalId using the syntax "externalId:math101".

name
string <= 333 characters

The name of the term.

description
string <BbML>

The description of the term. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the term to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    }
}

uploads

Upload

Upload a file to temporary storage. The request is a multipart/form-data POST following RFC 1867. (https://www.ietf.org/rfc/rfc1867.txt)

The uploaded file will be scanned for potential security threats by the system's XSS filters. If the file is deemed as unsafe, the request will be rejected and an HTTP Status of 422 is returned.

Returns an ID of the file reference, so it can be used for processing by a different service.

Example Request:

  curl -X POST -H 'Authorization: Bearer your_token' -F 'file=@/path/to/your/file' https://YOUR_LEARN_INSTANCE/learn/api/public/v1/uploads  

Since: 3100.12.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get Settings

Retrieve all settings of upload file service

Since: 3900.41.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "maxUploadSizeInBytes": 0,
  • "displayRecommendedAlternatives": true,
  • "recommendedAlternatives": "string",
  • "displaySupportLink": true,
  • "supportLink": "string"
}

users

Get Users

Returns a list of users.

At least one of the entitlements 'system.user.VIEW' or 'user.VIEW' are needed.

Note: Users with the 'SystemAdmin' role are only included in the results if the logged on user also has this role.

Since: 3000.1.0

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

userName
string

Search for users with userName properties that contain this value.

Since: 3000.11.0

externalId
string

Search for users with externalId properties that contain this value.

Since: 3000.11.0

created
string <date-time>

Search for users with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3000.11.0

modified
string <date-time>

Search for users with a modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3700.1.0

lastLogin
string <date-time>

Search for users with a last login date relative to this value. 'lastLoginCompare' may also be sent to control search behavior. A user who has never logged in would have a null last login date. This is not considered to be greater than, less than, or equal to a valid date. Such users will be filtered out any time this filter is used.

Since: 3900.9.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Supported values:

  • lessThan
  • greaterOrEqual

Defaults to greaterOrEqual if not specified.

Since: 3000.11.0

Type Description
lessThan
greaterOrEqual
modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Supported values:

  • lessThan
  • greaterOrEqual Defaults to greaterOrEqual if not specified.
Type Description
lessThan
greaterOrEqual
lastLoginCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'lastLoginDate' search parameter. Supported values:

  • lessThan
  • greaterOrEqual Defaults to greaterOrEqual if not specified.

Since: 3900.9.0

Type Description
lessThan
greaterOrEqual
dataSourceId
string

Search for users with this dataSourceId. This may optionally be the data source's externalId using the syntax "externalId:math101".

Since: 3000.11.0

institutionRoleIds
Array of strings

Search for users with the specified institutionRoleIds. This may be a comma separated list of institution role ids.

Since: 3900.61.0

name.family
string

Search for users with name.family properties that contain this value.

Since: 3000.11.0

availability.available
string
Enum: "Yes" "No" "Disabled"

Search for users with availability.available properties that contain this value.

Since: 3100.0.0

Type Description
Yes
No
Disabled Since: 3100.0.0
sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name.family(desc),created" Supported fields are:

  • userName
  • name.family
  • externalId
  • dataSourceId
  • created

Since: 3100.0.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create User

Creates a user.

The 'system.user.CREATE' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An optional externally-defined unique ID for the user. Defaults to the userName.

Formerly known as 'batchUid'.

dataSourceId
string

The ID of the data source associated with this user. This may optionally be the data source's externalId using the syntax "externalId:math101".

userName
required
string

The userName property, shown in the UI.

studentId
string <= 100 characters

The user's student ID name or number as defined by the school or institution.

password
required
string

The user's login password.

educationLevel
string
Enum: "K8" "HighSchool" "Freshman" "Sophomore" "Junior" "Senior" "GraduateSchool" "PostGraduateSchool" "Unknown"

The education level of this user.

Type Description
K8 Kindergarten through 8th grade
HighSchool Grades 9 through 12.
Freshman College or university freshman.
Sophomore College or university sophomore.
Junior College or university junior.
Senior College or university senior.
GraduateSchool Graduate school student.
PostGraduateSchool Post-graduate school student.
Unknown Education Level is not known, or not specified.
gender
string
Enum: "Female" "Male" "Other" "Unknown"

The gender of this user.

Type Description
Female Female
Male Male
Other Other Since: 3900.32.0
Unknown Gender is not known, or not specified.
pronouns
string <= 1000 characters

The pronouns of this user.

Since: 3900.27.0

birthDate
string <date-time>

The birth date of this user. Only the date portion of this value has significance, since a person's birthdate represents a full day and not a moment in time. Take care to ignore the zeroed time portion when deserializing this value to ensure it's not converted to the previous calendar day if your local time zone has a negative UTC offset.

institutionRoleIds
Array of strings

The primary and secondary institution roles assigned to this user. The primary institution role is the first item in the list, followed by all secondary institution roles sorted alphabetically.

Since: 3300.3.0

systemRoleIds
Array of strings (SystemRoleEnum)
Items Enum: "SystemAdmin" "SystemSupport" "CourseCreator" "CourseSupport" "AccountAdmin" "Guest" "User" "Observer" "Integration" "Portal"

The system roles (the administrative user roles in the UI) for this user. The first role in this list is the user's primary system role, while the remaining are secondary system roles.

object (Availability)

Settings controlling availability of the user account.

required
object (Name)

Properties used to build the user's display name.

object (Job)

The user's job information.

object (Contact)

The user's contact information.

object (Address)

The user's mailing address.

object (Locale)

The user's localization settings.

object (Avatar)

The user's avatar metadata

Since: 3800.13.0

pronunciation
string

Pronunciation text for user's name

Since: 3900.32.0

object (PronunciationAudio)

Pronunciation Audio file for user's name

Since: 3900.32.0

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "userName": "string",
  • "studentId": "string",
  • "password": "string",
  • "educationLevel": "K8",
  • "gender": "Female",
  • "pronouns": "string",
  • "birthDate": "2019-08-24T14:15:22Z",
  • "institutionRoleIds": [
    ],
  • "systemRoleIds": [
    ],
  • "availability": {
    },
  • "name": {
    },
  • "job": {
    },
  • "contact": {
    },
  • "address": {
    },
  • "locale": {
    },
  • "avatar": {
    },
  • "pronunciation": "string",
  • "pronunciationAudio": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "userName": "string",
  • "studentId": "string",
  • "educationLevel": "K8",
  • "gender": "Female",
  • "pronouns": "string",
  • "birthDate": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "institutionRoleIds": [
    ],
  • "systemRoleIds": [
    ],
  • "availability": {
    },
  • "name": {
    },
  • "job": {
    },
  • "contact": {
    },
  • "address": {
    },
  • "locale": {
    },
  • "avatar": {
    },
  • "pronunciation": "string",
  • "pronunciationAudio": {
    }
}

Get User

Loads a user.

Properties returned will depend on the caller's entitlements.

Callers with the entitlement 'user.VIEW' will always get a minimal set of core properties:

  • id
  • name.given
  • name.family
  • name.middle
  • systemRoleIds

Depending on the Learn administrator customizable user field display settings, as well as the target user's personal visibility settings, the following fields might also be included:

  • userName
  • educationLevel
  • gender
  • birthDate
  • name.other
  • name.suffix
  • name.title
  • job.*
  • contact.*
  • address.*

Callers asking for their own user record get all fields listed above, plus:

  • locale.*

All user properties are provided to callers with one of the entitlements 'system.user.properties.MODIFY', 'system.useradmin.generic.VIEW', or 'system.user.VIEW'.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "userName": "string",
  • "studentId": "string",
  • "educationLevel": "K8",
  • "gender": "Female",
  • "pronouns": "string",
  • "birthDate": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "institutionRoleIds": [
    ],
  • "systemRoleIds": [
    ],
  • "availability": {
    },
  • "name": {
    },
  • "job": {
    },
  • "contact": {
    },
  • "address": {
    },
  • "locale": {
    },
  • "avatar": {
    },
  • "pronunciation": "string",
  • "pronunciationAudio": {
    }
}

Delete User

Deletes a user.

The 'system.user.DELETE' entitlement is needed.

Since: 2015.11.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update User

Updates a user.

Callers may update their own user record if they have the 'self.user.MODIFY' entitlement. Updating other users requires the 'system.user.properties.MODIFY' entitlement.

Certain properties may be edited by callers with more finely grained entitlements:

Field Entitlements Required
systemRoleIds system.user.MODIFY, system.user-system-role.MODIFY
availability.available system.user.MODIFY, system.user.availability.MODIFY
password system.user.MODIFY, system.user-password.MODIFY

Since: 2015.11.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An optional externally-defined unique ID for the user. Defaults to the userName.

Formerly known as 'batchUid'.

dataSourceId
string

The ID of the data source associated with this user. This may optionally be the data source's externalId using the syntax "externalId:math101".

userName
string

The userName property, shown in the UI.

studentId
string <= 100 characters

The user's student ID name or number as defined by the school or institution.

password
string

The user's login password.

educationLevel
string
Enum: "K8" "HighSchool" "Freshman" "Sophomore" "Junior" "Senior" "GraduateSchool" "PostGraduateSchool" "Unknown"

The education level of this user.

Type Description
K8 Kindergarten through 8th grade
HighSchool Grades 9 through 12.
Freshman College or university freshman.
Sophomore College or university sophomore.
Junior College or university junior.
Senior College or university senior.
GraduateSchool Graduate school student.
PostGraduateSchool Post-graduate school student.
Unknown Education Level is not known, or not specified.
gender
string
Enum: "Female" "Male" "Other" "Unknown"

The gender of this user.

Type Description
Female Female
Male Male
Other Other Since: 3900.32.0
Unknown Gender is not known, or not specified.
pronouns
string <= 1000 characters

The pronouns of this user.

Since: 3900.27.0

birthDate
string <date-time>

The birth date of this user. Only the date portion of this value has significance, since a person's birthdate represents a full day and not a moment in time. Take care to ignore the zeroed time portion when deserializing this value to ensure it's not converted to the previous calendar day if your local time zone has a negative UTC offset.

institutionRoleIds
Array of strings

The primary and secondary institution roles assigned to this user. The primary institution role is the first item in the list, followed by all secondary institution roles sorted alphabetically.

Since: 3300.3.0

systemRoleIds
Array of strings (SystemRoleEnum)
Items Enum: "SystemAdmin" "SystemSupport" "CourseCreator" "CourseSupport" "AccountAdmin" "Guest" "User" "Observer" "Integration" "Portal"

The system roles (the administrative user roles in the UI) for this user. The first role in this list is the user's primary system role, while the remaining are secondary system roles.

object (Availability)

Settings controlling availability of the user account.

object (Name)

Properties used to build the user's display name.

object (Job)

The user's job information.

object (Contact)

The user's contact information.

object (Address)

The user's mailing address.

object (Locale)

The user's localization settings.

object (Avatar)

The user's avatar metadata

Since: 3800.13.0

pronunciation
string

Pronunciation text for user's name

Since: 3900.32.0

object (PronunciationAudio)

Pronunciation Audio file for user's name

Since: 3900.32.0

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "userName": "string",
  • "studentId": "string",
  • "password": "string",
  • "educationLevel": "K8",
  • "gender": "Female",
  • "pronouns": "string",
  • "birthDate": "2019-08-24T14:15:22Z",
  • "institutionRoleIds": [
    ],
  • "systemRoleIds": [
    ],
  • "availability": {
    },
  • "name": {
    },
  • "job": {
    },
  • "contact": {
    },
  • "address": {
    },
  • "locale": {
    },
  • "avatar": {
    },
  • "pronunciation": "string",
  • "pronunciationAudio": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "userName": "string",
  • "studentId": "string",
  • "educationLevel": "K8",
  • "gender": "Female",
  • "pronouns": "string",
  • "birthDate": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "institutionRoleIds": [
    ],
  • "systemRoleIds": [
    ],
  • "availability": {
    },
  • "name": {
    },
  • "job": {
    },
  • "contact": {
    },
  • "address": {
    },
  • "locale": {
    },
  • "avatar": {
    },
  • "pronunciation": "string",
  • "pronunciationAudio": {
    }
}

Get User Avatar

Gets a user's avatar image.

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

The redirect link returned is signed on behalf of the user of the API. It is expiring, so it is not recommended for bookmarking. The caller of this API is checked for permissions to see the requested user's resource.

Since: 3800.10.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Observees

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

The 'observer.associations.VIEW' entitlement is needed as well as being able to view the provided user.

Since: 3500.5.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Observers

Returns a list of users observing a given user.

The 'observer.associations.VIEW' entitlement is needed as well as being able to view the provided user.

Since: 3500.5.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Observer

Creates an observer/observee association. The user identified by userId must not have the OBSERVER system role. Similarly, the user identified by observerId must have the OBSERVER system role.

The 'system.observer_user.CREATE' entitlement is needed as well as being able to view the provided users.

Since: 3500.5.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
observerId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Since: 3500.5.0

query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "userName": "string",
  • "studentId": "string",
  • "educationLevel": "K8",
  • "gender": "Female",
  • "pronouns": "string",
  • "birthDate": "2019-08-24T14:15:22Z",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "lastLogin": "2019-08-24T14:15:22Z",
  • "institutionRoleIds": [
    ],
  • "systemRoleIds": [
    ],
  • "availability": {
    },
  • "name": {
    },
  • "job": {
    },
  • "contact": {
    },
  • "address": {
    },
  • "locale": {
    },
  • "avatar": {
    },
  • "pronunciation": "string",
  • "pronunciationAudio": {
    }
}

Delete Observer

Removes an observer/observee association.

The 'system.observer_user.DELETE' entitlement is needed as well as being able to view the provided users.

Since: 3500.5.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
observerId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Since: 3500.5.0

query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get User Pronunciation Audio

Gets a user's pronunciation audio

The response is an HTTP redirect rather than an audio file. It is up to the caller of the api to follow the redirect and download the image.

The redirect link returned is signed on behalf of the user of the API. It is expiring, so it is not recommended for bookmarking. The caller of this API is checked for permissions to see the requested user's resource.

Since: 3900.32.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Current Active User By Id

Displays active session information for a specific user.

The entitlement system.user.sessions.VIEW is needed to request a user's active sessions.

Since: 3800.4.0

Authorizations:
bearer
path Parameters
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

deprecated - course grades

Get Grade Columns Deprecated

Returns a list of grade columns.

The entitlement "course.gradebook.MODIFY" is needed. Alternatively, student users may view the grade columns if they are enrolled in the course, and the mygrade tool is available in the course, and the columns are visible to the student. Observers may view grade columns if course access is allowed for observers and the associated observee is a student that satisfies all conditions required by a student user to view grade columns.

Student or observer users may view a limited subset of grade column fields:

  • id
  • name
  • description
  • externalGrade
  • contentId
  • score.possible
  • grading.type
  • grading.due
  • grading.attemptsAllowed
  • grading.scoringModel
  • availability.available

Since: 3000.3.0

Deprecated: since 3200.10.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

contentId
string

Search for grade columns associated with this content item.

Since: 3000.11.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Grade Column Deprecated

Create a manual grade column. The entitlement "course.gradebook.MODIFY" is needed.

Since: 3000.7.0

Deprecated: since 3200.10.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string

The externalId for this grade column

name
required
string

The name of the grade column.

description
string

The description of the grade column.

externalGrade
boolean

Whether this grade column is an external grade column.

object (Score)

Settings controlling the numerical scoring of this grade column.

object (Availability)

Settings controlling the availability/visibility of grade column data.

required
object (Grading)

Settings controlling whether numerical and text grade values for this grade column are calculated, determined based on attempts, or manually entered.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "name": "string",
  • "description": "string",
  • "externalGrade": true,
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "name": "string",
  • "description": "string",
  • "externalGrade": true,
  • "created": "2019-08-24T14:15:22Z",
  • "contentId": "string",
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    }
}

Get Grade Column Deprecated

Loads a specific grade column.

The entitlement "course.gradebook.MODIFY" is needed. Alternatively, student users may view the grade column if they are enrolled in the course, and the mygrade tool is available in the course, and the column is visible to the student. Observers may view the grade column if course access is allowed for observers and the associated observee is a student that satisfies all conditions required by a student user to view grade columns.

Student or observer users may view a limited subset of grade column fields:

  • id
  • name
  • description
  • externalGrade
  • contentId
  • score.possible
  • grading.type
  • grading.due
  • grading.attemptsAllowed
  • grading.scoringModel
  • availability.available

Since: 3000.3.0

Deprecated: since 3200.10.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "name": "string",
  • "description": "string",
  • "externalGrade": true,
  • "created": "2019-08-24T14:15:22Z",
  • "contentId": "string",
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    }
}

Delete Grade Column Deprecated

Delete a specific grade column. The entitlement "course.gradebook.MODIFY" is needed.

Since: 3000.7.0

Deprecated: since 3200.10.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
onlyIfEmpty
boolean

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Grade Column Deprecated

Update a manual grade column. The entitlement "course.gradebook.MODIFY" is needed.

Since: 3000.7.0

Deprecated: since 3200.10.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
externalId
string

The externalId for this grade column

name
string

The name of the grade column.

description
string

The description of the grade column.

externalGrade
boolean

Whether this grade column is an external grade column.

object (Score)

Settings controlling the numerical scoring of this grade column.

object (Availability)

Settings controlling the availability/visibility of grade column data.

object (Grading)

Settings controlling whether numerical and text grade values for this grade column are calculated, determined based on attempts, or manually entered.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "name": "string",
  • "description": "string",
  • "externalGrade": true,
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "name": "string",
  • "description": "string",
  • "externalGrade": true,
  • "created": "2019-08-24T14:15:22Z",
  • "contentId": "string",
  • "score": {
    },
  • "availability": {
    },
  • "grading": {
    }
}

Get Column Attempts Deprecated

Returns a list of attempts associated with the specified grade column.

The 'course.gradebook.MODIFY' entitlement is needed to view column attempts. Alternatively, if the 'userId' query parameter is specified, and the user making the request matches the specified 'userId', then the user may view his/her own attempt. When querying an anonymous grade column, if the release criteria has not yet been met, then the 'userId' attribute will not be populated for the returned column attempts. If the release criteria has not been met and the 'userId' query parameter is specified, a 403 response is returned, unless the requesting user matches the specified 'userId' value.

A subset of attempt properties are available to a student when requesting his or her own attempts:

  • id
  • userId
  • groupAttemptId
  • status
  • text
  • score
  • groupOverride
  • feedback
  • studentComments
  • studentSubmission
  • exempt
  • created When this endpoint is called by the API Gateway User, the response will only contain attributes visible to a Grader. If an Attempt is InProgress, then a Student's submission & comments would not be visible to the API Gateway User. If an Attempt is NeedsGrading, then a Student's submission & comments are visible to the API Gateway User.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure taking is enabled, and the attempt status is InProgress, then the studentSubmission is omitted unless the call comes from a secure browser.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure reviewing is enabled, and the attempt status is not InProgress, then the studentSubmission is omitted unless the call comes from a secure browser.

Since: 3100.4.0

Deprecated: since 3300.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

userId
string

Search for grade column attempts submitted by this user. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Since: 3100.4.0

attemptStatuses
string
Enum: "NotAttempted" "Abandoned" "InProgress" "Suspended" "Canceled" "NeedsGrading" "Completed" "InProgressAgain" "NeedsGradingAgain"

Search for grade column attempts with one of these statuses.

Since: 3100.4.0

Type Description
NotAttempted none of the students in a group has submitted an attempt; applies only to group assessments
Abandoned Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
InProgress attempt activity has commenced, but has not been submitted for grading
Suspended Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
Canceled Deprecated: Since 9.1 SP8 unsupported status, undetermined behavior if used.
NeedsGrading attempt has been submitted for grading, but has not been fully graded
Completed a grade has been entered for the attempt
InProgressAgain attempt has been graded, but more student activity occurred after the grade was entered; applies only to collaborative tools such as discussions
NeedsGradingAgain additional student activity occurring after a grade was entered requires that the attempt be regraded; applies only to collaborative tools such as discussions
created
string <date-time>

Search for attempts with created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3800.0.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3800.0.0

Type Description
lessThan
greaterOrEqual
modified
string <date-time>

Search for attempts with modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3800.0.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3800.0.0

Type Description
lessThan
greaterOrEqual
attemptDate
string <date-time>

Search for attempts with attempt date relative to this value. 'attemptDateCompare' may also be sent to control search behavior.

Since: 3800.0.0

attemptDateCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'attemptDate' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3800.0.0

Type Description
lessThan
greaterOrEqual
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Column Attempt Deprecated

Loads the grade column attempt for the specified id.

The 'course.gradebook.MODIFY' entitlement is needed to view an attempt. Alternatively, if the user making the request is also the user associated with the attempt grade, then the user may view his/her own attempt. When accessing an anonymous grade column attempt, if the release criteria has not yet been met, then the 'userId' attribute will not be populated for the returned attempt.

A subset of attempt properties are available to a student when requesting his or her own attempt:

  • id
  • userId
  • groupAttemptId
  • status
  • text
  • score
  • groupOverride
  • feedback
  • studentComments
  • studentSubmission
  • exempt
  • created When this endpoint is called by the API Gateway User, the response will only contain attributes visible to a Grader. If an Attempt is InProgress, then a Student's submission & comments would not be visible to the API Gateway User. If an Attempt is NeedsGrading, then a Student's submission & comments are visible to the API Gateway User.

    If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure taking is enabled, and the attempt status is InProgress, then the studentSubmission is omitted unless the call comes from a secure browser.

If the caller has the course.assessment.EXECUTE entitlement, and the attempt is associated with an assessment where the flag to require secure reviewing is enabled, and the attempt status is not InProgress, then the studentSubmission is omitted unless the call comes from a secure browser.

Since: 3100.4.0

Deprecated: since 3300.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
attemptId
required
string
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "userId": "string",
  • "groupAttemptId": "string",
  • "groupOverride": true,
  • "status": "NotAttempted",
  • "text": "string",
  • "score": 0,
  • "notes": "string",
  • "feedback": "string",
  • "studentComments": "string",
  • "studentSubmission": "string",
  • "exempt": true,
  • "created": "2019-08-24T14:15:22Z"
}

Get Column Grades Deprecated

Returns a list of grades associated with the specified grade column. This operation does not include 'ReadyToPost' grades when returning grade details for calculated grade columns.

Users with entitlement 'course.gradebook.MODIFY' can retrieve grades for any or all enrolled users. Requests for grades in a columns whose attempts are not visible to instructors will return with a status of "403 - Forbidden."

Enrolled users without the 'course.gradebook.MODIFY' entitlement may only view their own grade; such users cannot retrieve grades of other users. A request for the grade in a columns that has been hidden from students in the gradebook will return with a status "403 - Forbidden.". A subset of grade properties are available to a student when requesting his or her own grades:

  • userId
  • columnId
  • status
  • text
  • score
  • exempt
  • feedback

Since: 3000.3.0

Deprecated: since 3300.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Column Grade Deprecated

Loads the grade column grade for a specific user. If grade details have yet to be entered for the specified user, then no grade details will be included in the returned grade object. This operation does not include 'ReadyToPost' grades when returning grade details for calculated grade columns.

Users with entitlement 'course.gradebook.MODIFY' can retrieve grades for any or all enrolled users. Requests for grades in a columns whose attempts are not visible to instructors will return with a status of "403 - Forbidden."

Enrolled users without the 'course.gradebook.MODIFY' entitlement may only view their own grade; such users cannot retrieve grades of other users. A request for the grade in a columns that has been hidden from students in the gradebook will return with a status "403 - Forbidden.". A subset of grade properties are available to a student when requesting his or her own grades:

  • userId
  • columnId
  • status
  • text
  • score
  • exempt
  • feedback

Since: 3000.3.0

Deprecated: since 3300.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "columnId": "string",
  • "status": "Graded",
  • "text": "string",
  • "score": 0,
  • "overridden": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "feedback": "string",
  • "exempt": true,
  • "corrupt": true
}

Update Column Grade Deprecated

Update the grade column grade for a specific user, including the text grade, score, instructor notes and feedback, and exempt status. When updating text grade or score, the resulting grade is always marked as 'Posted'. This end-point, currently, does not support marking the grade as 'ReadyToPost'. Grade overrides may be cleared by either specifying the 'score' attribute as null, or the 'text'; attribute as null, '', or '-' in the body of the request. The entitlement 'course.gradebook.MODIFY' is required to perform this operation.

Since: 3000.5.0

Deprecated: since 3300.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
columnId
required
string

The grade column ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type. The ID may also be the keyword 'finalGrade', which indicates that the course's final grade column is specified.

ID type Example
primary _123_1
externalId externalId:column1
finalGrade finalGrade
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json
text
string

The text representation of this grade.

score
number

The score associated with this grade.

notes
string

The instructor notes associated with this grade. This notes field is used for grades on manual grade columns. That is, when column.grading.type = Manual. It is also used when column.grading.type = Attempts and the grade has been manually overridden.

feedback
string

The instructor feedback associated with this grade. This feedback is used for grades on manual grade columns. That is, when column.grading.type = Manual. It is also used when column.grading.type = Attempts and the grade has been manually overridden.

exempt
boolean

Whether the score associated with this grade is ignored when computing the course grade.

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "score": 0,
  • "notes": "string",
  • "feedback": "string",
  • "exempt": true
}

Response samples

Content type
application/json
{
  • "userId": "string",
  • "columnId": "string",
  • "status": "Graded",
  • "text": "string",
  • "score": 0,
  • "overridden": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "feedback": "string",
  • "exempt": true,
  • "corrupt": true
}

Get User Grades Deprecated

Loads the course grades for a specific user.

Users with entitlement "course.gradebook.MODIFY" have read access to all the properties of the collection results.

Users without entitlement "course.gradebook.MODIFY" requesting grades for themselves (i.e., userId = current user id) have read access to a restricted subset of properties of the collections result. These are the properties available to a student when requesting his or her own grades:

  • userId
  • columnId
  • status
  • text
  • score
  • exempt
  • feedback

Since: 3000.3.0

Deprecated: since 3300.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

deprecated - course group users

Get Group Memberships Deprecated

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

Callers not enrolled in the group must have at least one of the following entitlements:

  • course.group.VIEW

Since: 3100.6.0

Deprecated: since 3600.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Get Group Membership Deprecated

Loads a group membership in the specified group.

Callers not enrolled in the group must have at least one of the following entitlements:

  • course.group.VIEW

Since: 3100.6.0

Deprecated: since 3600.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "user": {
    }
}

Create Group Membership Deprecated

Creates a group membership in the specified group.

Minimal entitlements required:

  • course.group.MODIFY

Since: 3100.6.0

Deprecated: since 3600.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "userId": "string",
  • "user": {
    }
}

Delete Group Membership Deprecated

Deletes a group from the specified course.

Required entitlements:

  • course.group.MODIFY

Since: 3100.6.0

Deprecated: since 3600.0.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
userId
required
string

The user ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:jsmith
userName userName:jsmith
uuid uuid:915c7567d76d444abf1eed56aad3beb5

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

deprecated - course groups

Get Groups Deprecated

Callers with the following entitlement can view all groups in the course:

  • course.groups.VIEW Callers enrolled in course can view all groups they're enrolled in, and all self-enrollment groups

Since: 3100.5.0

Deprecated: since 3800.6.0; use the v2 end-point instead.

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name(desc)" Supported fields are:

  • name
  • externalId

Since: 3100.4.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Group Deprecated

Creates a group in the specified course.

Minimal entitlements required:

  • course.group.CREATE

Since: 3100.5.0

Deprecated: since 3800.6.0; use the v2 end-point instead.

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string

An externally-defined unique ID for the group. Defaults to a random UUID if not provided during create.

parentId
string

The primary ID of the group's parent group set.

name
required
string

The title of the group.

description
string <BbML>

The description of the group. This field supports BbML; see here for more information.

isGroupSet
boolean

Whether or not this is a group set.

Since: 3700.1.0

object (Availability)

Settings controlling availability of the group to students.

object (Enrollment)

Settings controlling enrollment of the group to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "parentId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "isGroupSet": true,
  • "availability": {
    },
  • "enrollment": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "parentId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "isGroupSet": true,
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string"
}

Get Group Deprecated

Loads a group in the specified course.

Entitlement and field visibility rules are the same as those when loading the groups collection.

Since: 3100.5.0

Deprecated: since 3800.6.0; use the v2 end-point instead.

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "parentId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "isGroupSet": true,
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string"
}

Delete Group Deprecated

Deletes a group from the specified course.

Required entitlements:

  • course.group.DELETE

Since: 3100.5.0

Deprecated: since 3800.6.0; use the v2 end-point instead.

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Group Deprecated

Updates a group in the specified course.

Minimal entitlements required:

  • course.group.MODIFY

Since: 3100.5.0

Deprecated: since 3800.6.0; use the v2 end-point instead.

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
groupId
required
string

The group ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:breakfastClub
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string

An externally-defined unique ID for the group. Defaults to a random UUID if not provided during create.

parentId
string

The primary ID of the group's parent group set.

name
string

The title of the group.

description
string <BbML>

The description of the group. This field supports BbML; see here for more information.

object (Availability)

Settings controlling availability of the group to students.

object (Enrollment)

Settings controlling enrollment of the group to students.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "parentId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "availability": {
    },
  • "enrollment": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "externalId": "string",
  • "parentId": "string",
  • "name": "string",
  • "description": "<!-- {\"bbMLEditorVersion\":1} --><div data-bbid=\"bbml-editor-id_9c6a9556-80a5-496c-b10d-af2a9ab22d45\"> <h4>Header Large</h4> <h5>Header Medium</h5> <h6>Header Small</h6> <p><strong>Bold&nbsp;</strong><em>Italic&nbsp;<span style=\"text-decoration: underline;\">Italic Underline</span></em></p> <ul> <li><span style=\"text-decoration: underline;\"><em></em></span>Bullet 1</li> <li>Bullet 2</li> </ul> <p> <img src=\"@X@EmbeddedFile.requestUrlStub@X@bbcswebdav/xid-1217_1\"> <span>\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"</span> </p> <p><span>&lt;braces test=\"values\" other=\"strange things\"&gt;</span></p> <p>Header Small</p> <ol> <li>Number 1</li> <li>Number 2</li> </ol> <p>Just words followed by a formula</p> <p><img align=\"middle\" alt=\"3 divided by 4 2 root of 7\" class=\"Wirisformula\" src=\"@X@EmbeddedFile.requestUrlStub@X@sessions/EA5F7FF3DF32D271D0E54AF0150D924A/anonymous/wiris/49728c9f5b4091622e2f4d183d857d35.png\" data-mathml=\"«math xmlns=¨http://www.w3.org/1998/Math/MathML¨»«mn»3«/mn»«mo»/«/mo»«mn»4«/mn»«mroot»«mn»7«/mn»«mn»2«/mn»«/mroot»«/math»\"></p> <p><a href=\"http://www.blackboard.com\">Blackboard</a></p> </div>",
  • "isGroupSet": true,
  • "availability": {
    },
  • "enrollment": {
    },
  • "uuid": "string"
}

deprecated - courses

Get Courses Deprecated

Returns a list of courses and organizations.

To view disabled courses a user must have the entitlement 'system.course.VIEW'.

Users with the 'course.configure-properties.EXECUTE' entitlement can access all course properties.

Users enrolled in the course have read access to all properties except:

  • uuid
  • externalId
  • dataSourceId
  • created
  • allowGuests
  • enrollment.accessCode

Users who are not enrolled in the course and do not have associated entitlements only have read access to the following properties:

  • id
  • courseId
  • name
  • description
  • organization
  • readOnly
  • termId
  • availability.available
  • availability.duration.type
  • availability.duration.start
  • availability.duration.end
  • availability.duration.daysOfUse If the course enrollment is self-enroll, all users can view the course as though they were enrolled.

Since: 3000.1.0

Deprecated: since 3400.8.0; use the v2 end-point instead

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

courseId
string

Search for courses with courseId properties that contain this value.

Since: 3100.0.0

name
string

Search for courses with name properties that contain this value.

Since: 3100.0.0

description
string

Search for courses with description properties that contain this value.

Since: 3100.0.0

externalId
string

Search for courses with externalId properties that contain this value.

Since: 3100.0.0

created
string <date-time>

Search for courses with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3100.0.0

allowGuests
boolean

Search for courses which are configured to allow/disallow guest access, based on input. Default: n/a (return courses regardless of guests allowed)

Since: 3200.3.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3100.0.0

Type Description
lessThan
greaterOrEqual
availability.available
string
Enum: "Yes" "No" "Disabled" "Term"

Search for courses with availability.available properties that contain this value.

Since: 3000.13.0

Type Description
Yes Students may access the course.
No Students may not access the course.
Disabled Disabled by the SIS. Students may not access the course. Since: 3100.0.0
Term Availability is inherited from the term settings. Requires a termId be set.
dataSourceId
string

Search for courses with this dataSourceId. This may optionally be the data source's externalId using the syntax "externalId:math101".

Since: 3100.0.0

termId
string

Search for courses with this termId. This may optionally be the term's externalId using the syntax "externalId:spring2015".

Since: 3100.0.0

organization
boolean

Search for courses by organization flag. A value of 'true' indicates that search results should be limited to only Organizations. A value of 'false' indicates results should be limited to Courses. Not setting this field indicates that both Courses and Organizations should be returned.

Since: 3100.0.0

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name(desc),created" Supported fields are:

  • courseId
  • name
  • externalId
  • created

Since: 3100.0.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Course Deprecated

Creates a course or organization.

The 'system.course.CREATE' entitlement is needed to create a course, while 'system.org.CREATE' is needed for an organization.

Since: 2015.11.0

Deprecated: since 3400.8.0; use the v2 end-point instead

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An optional externally-defined unique ID for the course. Defaults to the courseId.

Formerly known as 'batchUid'.

dataSourceId
string

The ID of the data source associated with this course. This may optionally be the data source's externalId using the syntax "externalId:math101".

courseId
required
string <= 100 characters

The Course ID attribute, shown to users in the UI.

name
required
string <= 333 characters

The name of the course.

description
string

The description of the course.

organization
boolean

Whether this object represents an Organization. Defaults to false.

ultraStatus
string
Enum: "Undecided" "Classic" "Ultra" "UltraPreview"

Whether the course is rendered using Classic or Ultra Course View.

Type Description
Undecided The ultra status is not decided.
Classic The course is decided as classic.
Ultra The course is decided as ultra
UltraPreview The course is currently in Ultra mode but during the preview state where it may still be reverted via a Restore to the classic state
allowGuests
boolean

Whether guests (users with the role guest) are allowed access to the course. Modifiable only for Classic course. Defaults to true for Classic Courses and false for Ultra Courses.

readOnly
boolean

This status does not affect availability of the course for viewing in any way. readOnly is valid for both Ultra and Classic courses. If an Ultra course is in readOnly mode, updates are not possible. For a Classic course in readOnly mode, updates are still possible (through Web UI but not through REST i.e. closed is enforced for original courses when updated through REST the same way Ultra courses are blocked) but new notifications are not generated.

Deprecated: since 3400.8.0; use the v2 endpoint's closedComplete property instead

termId
string

The ID of the term associated to this course. This may optionally be the term's externalId using the syntax "externalId:spring.2016".

object (Availability)

Settings controlling availability of the course to students.

object (Enrollment)

Settings controlling how students may enroll in the course.

object (Locale)

Settings controlling localization within the course.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "readOnly": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "readOnly": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}

Get Course Deprecated

Loads a specific course or organization.

To view disabled courses a user must have the entitlement 'system.course.VIEW'.

Users with the 'course.configure-properties.EXECUTE' entitlement can access all course properties.

Users enrolled in the course have read access to all properties except:

  • uuid
  • externalId
  • dataSourceId
  • created
  • allowGuests
  • enrollment.accessCode

Users who are not enrolled in the course and do not have associated entitlements only have read access to the following properties:

  • id
  • courseId
  • name
  • description
  • organization
  • readOnly
  • termId
  • availability.available
  • availability.duration.type
  • availability.duration.start
  • availability.duration.end
  • availability.duration.daysOfUse If the course enrollment is self-enroll, all users can view the course as though they were enrolled.

Since: 2015.11.0

Deprecated: since 3400.8.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "readOnly": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}

Delete Course Deprecated

Deletes a course or organization in synchronous fashion.

The 'system.course.DELETE' entitlement is needed to delete a course, while 'system.org.DELETE' is needed for an organization.

Since: 2015.11.0

Deprecated: since 3400.8.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
removeFiles
boolean

Whether to delete course files. Defaults to true.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Course Deprecated

Updates a course or organization.

To update a course, the user must have either 'system.course|org.properties.MODIFY' or 'course.configure-properties.EXECUTE' entitlements. However, if the user has the latter entitlement, then additional entitlements are needed to be able to update certain fields, as shown below:

Field Entitlements Required
name course.name.MODIFY
description course.name.MODIFY
allowGuests course.configure-guest-access.EXECUTE
enrollment.type course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.start course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.end course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.accessCode course.configure-properties.EXECUTE, course.enrollment.MODIFY
availability.available course.configure-properties.EXECUTE, course.availability.MODIFY
locale.id course.configure-properties.EXECUTE, course.locale.MODIFY
locale.force course.configure-properties.EXECUTE, course.locale.MODIFY
availability.duration.type course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.start course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.end course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.daysOfUse course.configure-properties.EXECUTE, course.configure-duration.EXECUTE

Since: 2015.11.0

Deprecated: since 3400.8.0; use the v2 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An optional externally-defined unique ID for the course. Defaults to the courseId.

Formerly known as 'batchUid'.

dataSourceId
string

The ID of the data source associated with this course. This may optionally be the data source's externalId using the syntax "externalId:math101".

name
string <= 333 characters

The name of the course.

description
string

The description of the course.

allowGuests
boolean

Whether guests (users with the role guest) are allowed access to the course. Modifiable only for Classic course. Defaults to true for Classic Courses and false for Ultra Courses.

readOnly
boolean

This status does not affect availability of the course for viewing in any way. readOnly is valid for both Ultra and Classic courses. If an Ultra course is in readOnly mode, updates are not possible. For a Classic course in readOnly mode, updates are still possible (through Web UI but not through REST i.e. closed is enforced for original courses when updated through REST the same way Ultra courses are blocked) but new notifications are not generated.

Deprecated: since 3400.8.0; use the v2 endpoint's closedComplete property instead

termId
string

The ID of the term associated to this course. This may optionally be the term's externalId using the syntax "externalId:spring.2016".

object (Availability)

Settings controlling availability of the course to students.

object (Enrollment)

Settings controlling how students may enroll in the course.

object (Locale)

Settings controlling localization within the course.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "name": "string",
  • "description": "string",
  • "allowGuests": true,
  • "readOnly": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "readOnly": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}

Copy Course Deprecated

Creates an exact copy of an existing Course into a new Course.

Users with entitlements 'system.course.copy.EXECUTE' can create a course copy. Users with entitlements 'system.org.copy.EXECUTE' can create an organization copy. All users's must also have 'course.content.copy.EXECUTE' entitlement associated with the specified source courseId.

Since: 3300.0.0

Deprecated: since 3800.0.0; use the v2 end-point instead.

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
Request Body schema: application/json
courseId
required
string

The Course ID to copy into.

Responses

Request samples

Content type
application/json
{
  • "courseId": "string"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Get Courses Deprecated

Returns a list of courses and organizations.

To view disabled courses a user must have the entitlement 'system.course.VIEW'.

Users with the 'course.configure-properties.EXECUTE' course entitlement, or the 'system.course.properties.MODIFY' system entitlement can access all course properties.

Users enrolled in the course have read access to all properties except:

  • uuid
  • externalId
  • dataSourceId
  • created
  • allowGuests
  • enrollment.accessCode

Users who are not enrolled in the course and do not have associated entitlements only have read access to the following properties:

  • id
  • courseId
  • name
  • description
  • organization
  • readOnly
  • termId
  • availability.available
  • availability.duration.type
  • availability.duration.start
  • availability.duration.end
  • availability.duration.daysOfUse If the course enrollment is self-enroll, all users can view the course as though they were enrolled.

Since: 3400.8.0

Deprecated: since 3800.1.0; use the v3 end-point instead

Authorizations:
bearer
query Parameters
offset
integer <int32>

The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.

limit
integer <int32>

The maximum number of results to be returned. There may be less if the query returned less than the maximum.

modified
string <date-time>

Search for courses with a modified date relative to this value. 'modifiedCompare' may also be sent to control search behavior.

Since: 3500.4.0

modifiedCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'modified' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3500.4.0

Type Description
lessThan
greaterOrEqual
courseId
string

Search for courses with courseId properties that contain this value.

Since: 3100.0.0

name
string

Search for courses with name properties that contain this value.

Since: 3100.0.0

description
string

Search for courses with description properties that contain this value.

Since: 3100.0.0

externalId
string

Search for courses with externalId properties that contain this value.

Since: 3100.0.0

created
string <date-time>

Search for courses with a created date relative to this value. 'createdCompare' may also be sent to control search behavior.

Since: 3100.0.0

allowGuests
boolean

Search for courses which are configured to allow/disallow guest access, based on input. Default: n/a (return courses regardless of guests allowed)

Since: 3200.3.0

createdCompare
string
Enum: "lessThan" "greaterOrEqual"

Used alongside the 'created' search parameter. Defaults to greaterOrEqual if not specified.

Since: 3100.0.0

Type Description
lessThan
greaterOrEqual
availability.available
string
Enum: "Yes" "No" "Disabled" "Term"

Search for courses with availability.available properties that contain this value.

Since: 3000.13.0

Type Description
Yes Students may access the course.
No Students may not access the course.
Disabled Disabled by the SIS. Students may not access the course. Since: 3100.0.0
Term Availability is inherited from the term settings. Requires a termId be set.
dataSourceId
string

Search for courses with this dataSourceId. This may optionally be the data source's externalId using the syntax "externalId:math101".

Since: 3100.0.0

termId
string

Search for courses with this termId. This may optionally be the term's externalId using the syntax "externalId:spring2015".

Since: 3100.0.0

organization
boolean

Search for courses by organization flag. A value of 'true' indicates that search results should be limited to only Organizations. A value of 'false' indicates results should be limited to Courses. Not setting this field indicates that both Courses and Organizations should be returned.

Since: 3100.0.0

sort
string

Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name(desc),created" Supported fields are:

  • courseId
  • name
  • externalId
  • created
  • modified

Since: 3400.8.0

fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "paging": {
    }
}

Create Course Deprecated

Creates a course or organization.

The 'system.course.CREATE' entitlement is needed to create a course, while 'system.org.CREATE' is needed for an organization.

Since: 3400.8.0

Deprecated: since 3800.1.0; use the v3 end-point instead

Authorizations:
bearer
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An optional externally-defined unique ID for the course. Defaults to the courseId.

Formerly known as 'batchUid'.

dataSourceId
string

The ID of the data source associated with this course. This may optionally be the data source's externalId using the syntax "externalId:math101".

courseId
required
string <= 100 characters

The Course ID attribute, shown to users in the UI.

name
required
string <= 333 characters

The name of the course.

description
string

The description of the course.

organization
boolean

Whether this object represents an Organization. Defaults to false.

ultraStatus
string
Enum: "Undecided" "Classic" "Ultra" "UltraPreview"

Whether the course is rendered using Classic or Ultra Course View.

Type Description
Undecided The ultra status is not decided.
Classic The course is decided as classic.
Ultra The course is decided as ultra
UltraPreview The course is currently in Ultra mode but during the preview state where it may still be reverted via a Restore to the classic state
allowGuests
boolean

Whether guests (users with the role guest) are allowed access to the course. Modifiable only for Classic course. Defaults to true for Classic Courses and false for Ultra Courses.

allowObservers
boolean

Whether observers are allowed access to the course. Modifiable only for Classic course. Defaults to false.

Since: 3900.31.0

closedComplete
boolean

This status does not affect availability of the course for viewing in any way. closedComplete is valid for both Ultra and Classic courses. If an Ultra course is in closedComplete mode, updates are not possible. For a Classic course in closedComplete mode, updates are still possible (through Web UI but not through REST i.e. closed is enforced for original courses when updated through REST the same way Ultra courses are blocked) but new notifications are not generated.

termId
string

The ID of the term associated to this course. This may optionally be the term's externalId using the syntax "externalId:spring.2016".

object (Availability)

Settings controlling availability of the course to students.

object (Enrollment)

Settings controlling how students may enroll in the course.

object (Locale)

Settings controlling localization within the course.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}

Get Course Deprecated

Loads a specific course or organization.

To view disabled courses a user must have the entitlement 'system.course.VIEW'.

Users with the 'course.configure-properties.EXECUTE' entitlement can access all course properties.

Users enrolled in the course have read access to all properties except:

  • uuid
  • externalId
  • dataSourceId
  • created
  • allowGuests
  • enrollment.accessCode

Users with no access to the course only have read access to the following properties:

  • id
  • courseId
  • name
  • description
  • organization
  • closedComplete
  • termId
  • availability.available
  • availability.duration.type
  • availability.duration.start
  • availability.duration.end
  • availability.duration.daysOfUse If the course enrollment is self-enroll, all users can view the course as though they were enrolled.

Since: 3400.8.0

Deprecated: since 3800.1.0; use the v3 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}

Delete Course Deprecated

Deletes a course or organization in synchronous fashion.

The 'system.course.DELETE' entitlement is needed to delete a course, while 'system.org.DELETE' is needed for an organization.

Since: 3400.8.0

Deprecated: since 3800.1.0; use the v3 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
removeFiles
boolean

Whether to delete course files. Defaults to true.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "code": "string",
  • "message": "string",
  • "developerMessage": "string",
  • "extraInfo": "string"
}

Update Course Deprecated

Updates a course or organization.

To update a course, the user must have either 'system.course|org.properties.MODIFY' or 'course.configure-properties.EXECUTE' entitlements. However, if the user has the latter entitlement, then additional entitlements are needed to be able to update certain fields, as shown below:

Field Entitlements Required
name course.name.MODIFY
description course.name.MODIFY
allowGuests course.configure-guest-access.EXECUTE
enrollment.type course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.start course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.end course.configure-properties.EXECUTE, course.enrollment.MODIFY
enrollment.accessCode course.configure-properties.EXECUTE, course.enrollment.MODIFY
availability.available course.configure-properties.EXECUTE, course.availability.MODIFY
locale.id course.configure-properties.EXECUTE, course.locale.MODIFY
locale.force course.configure-properties.EXECUTE, course.locale.MODIFY
availability.duration.type course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.start course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.end course.configure-properties.EXECUTE, course.configure-duration.EXECUTE
availability.duration.daysOfUse course.configure-properties.EXECUTE, course.configure-duration.EXECUTE

Since: 3400.8.0

Deprecated: since 3800.1.0; use the v3 end-point instead

Authorizations:
bearer
path Parameters
courseId
required
string

The course or organization ID. This may be the primary ID, or any of the secondary IDs prefixed with the ID type.

ID type Example
primary _123_1
externalId externalId:math101
courseId courseId:math101
uuid uuid:915c7567d76d444abf1eed56aad3beb5
query Parameters
fields
string

A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.

Request Body schema: application/json

JSON input object.

externalId
string <= 256 characters

An optional externally-defined unique ID for the course. Defaults to the courseId.

Formerly known as 'batchUid'.

dataSourceId
string

The ID of the data source associated with this course. This may optionally be the data source's externalId using the syntax "externalId:math101".

name
string <= 333 characters

The name of the course.

description
string

The description of the course.

allowGuests
boolean

Whether guests (users with the role guest) are allowed access to the course. Modifiable only for Classic course. Defaults to true for Classic Courses and false for Ultra Courses.

allowObservers
boolean

Whether observers are allowed access to the course. Modifiable only for Classic course. Defaults to false.

Since: 3900.31.0

closedComplete
boolean

This status does not affect availability of the course for viewing in any way. closedComplete is valid for both Ultra and Classic courses. If an Ultra course is in closedComplete mode, updates are not possible. For a Classic course in closedComplete mode, updates are still possible (through Web UI but not through REST i.e. closed is enforced for original courses when updated through REST the same way Ultra courses are blocked) but new notifications are not generated.

termId
string

The ID of the term associated to this course. This may optionally be the term's externalId using the syntax "externalId:spring.2016".

object (Availability)

Settings controlling availability of the course to students.

object (Enrollment)

Settings controlling how students may enroll in the course.

object (Locale)

Settings controlling localization within the course.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "dataSourceId": "string",
  • "name": "string",
  • "description": "string",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "uuid": "string",
  • "externalId": "string",
  • "dataSourceId": "string",
  • "courseId": "string",
  • "name": "string",
  • "description": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "modified": "2019-08-24T14:15:22Z",
  • "organization": true,
  • "ultraStatus": "Undecided",
  • "allowGuests": true,
  • "allowObservers": true,
  • "closedComplete": true,
  • "termId": "string",
  • "availability": {
    },
  • "enrollment": {
    },
  • "locale": {
    },
  • "hasChildren": true,
  • "parentId": "string",
  • "externalAccessUrl": "string",
  • "guestAccessUrl": "string"
}