Discussion Topics
API for accessing and participating in discussion topics in groups and courses.
A FileAttachment object looks like:
A DiscussionTopic object looks like:
DiscussionTopicsController#index
GET /api/v1/courses/:course_id/discussion_topics
GET /api/v1/courses/:course_id/discussion_topics
Scope: url:GET|/api/v1/courses/:course_id/discussion_topics
GET /api/v1/groups/:group_id/discussion_topics
GET /api/v1/groups/:group_id/discussion_topics
Scope: url:GET|/api/v1/groups/:group_id/discussion_topics
Returns the paginated list of discussion topics for this course or group.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| If “all_dates” is passed, all dates associated with graded discussions’ assignments will be included. if “sections” is passed, includes the course sections that are associated with the topic, if the topic is specific to certain sections of the course. If “sections_user_count” is passed, then:
If “overrides” is passed, the overrides for the assignment will be included Allowed values: |
|
| Determines the order of the discussion topic list. Defaults to “position”. Allowed values: |
|
| Only return discussion topics in the given state(s). Defaults to including all topics. Filtering is done after pagination, so pages may be smaller than requested if topics are filtered. Can pass multiple states as comma separated string. Allowed values: |
|
| Return announcements instead of discussion topics. Defaults to false |
|
| The state of the discussion topic to return. Currently only supports unread state. Allowed values: |
|
| The partial title of the discussion topics to match and return. |
|
| For students, exclude topics that are locked by module progression. Defaults to false. |
Example Request:
Returns a list of DiscussionTopic objects.
DiscussionTopicsController#create
POST /api/v1/courses/:course_id/discussion_topics
POST /api/v1/courses/:course_id/discussion_topics
Scope: url:POST|/api/v1/courses/:course_id/discussion_topics
POST /api/v1/groups/:group_id/discussion_topics
POST /api/v1/groups/:group_id/discussion_topics
Scope: url:POST|/api/v1/groups/:group_id/discussion_topics
Create an new discussion topic for the course or group.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| no description |
|
| no description |
|
| The type of discussion. Defaults to side_comment or not_threaded if not value is given. Accepted values are ‘side_comment’, ‘not_threaded’ for discussions that only allow one level of nested comments, and ‘threaded’ for fully threaded discussions. Allowed values: |
|
| Whether this topic is published (true) or draft state (false). Only teachers and TAs have the ability to create draft state topics. |
|
| If a timestamp is given, the topic will not be published until that time. |
|
| Whether or not users can rate entries in this topic. |
|
| If a timestamp is given, the topic will be scheduled to lock at the provided timestamp. If the timestamp is in the past, the topic will be locked. |
|
| If true, the topic will have an associated podcast feed. |
|
| If true, the podcast will include posts from students as well. Implies podcast_enabled. |
|
| If true then a user may not respond to other replies until that user has made an initial reply. Defaults to false. |
|
| To create an assignment discussion, pass the assignment parameters as a sub-object. See the Create an Assignment API for the available parameters. The name parameter will be ignored, as it’s taken from the discussion title. If you want to make a discussion that was an assignment NOT an assignment, pass set_assignment = false as part of the assignment object |
|
| If true, this topic is an announcement. It will appear in the announcement’s section rather than the discussions section. This requires announcment-posting permissions. |
|
| If true, this topic will be listed in the “Pinned Discussion” section |
|
| By default, discussions are sorted chronologically by creation date, you can pass the id of another topic to have this one show up after the other when they are listed. |
|
| If present, the topic will become a group discussion assigned to the group. |
|
| If true, only graders will be allowed to rate entries. |
|
| If true, entries will be sorted by rating. |
|
| A multipart/form-data form-field-style attachment. Attachments larger than 1 kilobyte are subject to quota restrictions. |
|
| A comma-separated list of sections ids to which the discussion topic should be made specific to. If it is not desired to make the discussion topic specific to sections, then this parameter may be omitted or set to “all”. Can only be present only on announcements and only those that are for a course (as opposed to a group). |
Example Request:
DiscussionTopicsController#update
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id
Scope: url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id
Scope: url:PUT|/api/v1/groups/:group_id/discussion_topics/:topic_id
Update an existing discussion topic for the course or group.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| no description |
|
| no description |
|
| The type of discussion. Defaults to side_comment or not_threaded if not value is given. Accepted values are ‘side_comment’, ‘not_threaded’ for discussions that only allow one level of nested comments, and ‘threaded’ for fully threaded discussions. Allowed values: |
|
| Whether this topic is published (true) or draft state (false). Only teachers and TAs have the ability to create draft state topics. |
|
| If a timestamp is given, the topic will not be published until that time. |
|
| If a timestamp is given, the topic will be scheduled to lock at the provided timestamp. If the timestamp is in the past, the topic will be locked. |
|
| If true, the topic will have an associated podcast feed. |
|
| If true, the podcast will include posts from students as well. Implies podcast_enabled. |
|
| If true then a user may not respond to other replies until that user has made an initial reply. Defaults to false. |
|
| To create an assignment discussion, pass the assignment parameters as a sub-object. See the Create an Assignment API for the available parameters. The name parameter will be ignored, as it’s taken from the discussion title. If you want to make a discussion that was an assignment NOT an assignment, pass set_assignment = false as part of the assignment object |
|
| If true, this topic is an announcement. It will appear in the announcement’s section rather than the discussions section. This requires announcment-posting permissions. |
|
| If true, this topic will be listed in the “Pinned Discussion” section |
|
| By default, discussions are sorted chronologically by creation date, you can pass the id of another topic to have this one show up after the other when they are listed. |
|
| If present, the topic will become a group discussion assigned to the group. |
|
| If true, users will be allowed to rate entries. |
|
| If true, only graders will be allowed to rate entries. |
|
| If true, entries will be sorted by rating. |
|
| A comma-separated list of sections ids to which the discussion topic should be made specific too. If it is not desired to make the discussion topic specific to sections, then this parameter may be omitted or set to “all”. Can only be present only on announcements and only those that are for a course (as opposed to a group). |
Example Request:
DiscussionTopicsController#destroy
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id
Scope: url:DELETE|/api/v1/courses/:course_id/discussion_topics/:topic_id
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id
Scope: url:DELETE|/api/v1/groups/:group_id/discussion_topics/:topic_id
Deletes the discussion topic. This will also delete the assignment, if it’s an assignment discussion.
Example Request:
DiscussionTopicsController#reorder
POST /api/v1/courses/:course_id/discussion_topics/reorder
POST /api/v1/courses/:course_id/discussion_topics/reorder
Scope: url:POST|/api/v1/courses/:course_id/discussion_topics/reorder
POST /api/v1/groups/:group_id/discussion_topics/reorder
POST /api/v1/groups/:group_id/discussion_topics/reorder
Scope: url:POST|/api/v1/groups/:group_id/discussion_topics/reorder
Puts the pinned discussion topics in the specified order. All pinned topics should be included.
Request Parameters:
Parameter | Type | Description |
---|---|---|
| Required | The ids of the pinned discussion topics in the desired order. (For example, “order=104,102,103”.) |
DiscussionEntriesController#update
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:id
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:id
Scope: url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:id
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:id
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:id
Scope: url:PUT|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:id
Update an existing discussion entry.
The entry must have been created by the current user, or the current user must have admin rights to the discussion. If the edit is not allowed, a 401 will be returned.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| The updated body of the entry. |
Example Request:
DiscussionEntriesController#destroy
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:id
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:id
Scope: url:DELETE|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:id
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:id
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:id
Scope: url:DELETE|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:id
Delete a discussion entry.
The entry must have been created by the current user, or the current user must have admin rights to the discussion. If the delete is not allowed, a 401 will be returned.
The discussion will be marked deleted, and the user_id and message will be cleared out.
Example Request:
DiscussionTopicsApiController#show
GET /api/v1/courses/:course_id/discussion_topics/:topic_id
GET /api/v1/courses/:course_id/discussion_topics/:topic_id
Scope: url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_id
GET /api/v1/groups/:group_id/discussion_topics/:topic_id
GET /api/v1/groups/:group_id/discussion_topics/:topic_id
Scope: url:GET|/api/v1/groups/:group_id/discussion_topics/:topic_id
Returns data on an individual discussion topic. See the List action for the response formatting.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| If “all_dates” is passed, all dates associated with graded discussions’ assignments will be included. if “sections” is passed, includes the course sections that are associated with the topic, if the topic is specific to certain sections of the course. If “sections_user_count” is passed, then:
If “overrides” is passed, the overrides for the assignment will be included Allowed values: |
Example Request:
DiscussionTopicsApiController#summary
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/summaries
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/summaries
Scope: url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_id/summaries
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/summaries
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/summaries
Scope: url:GET|/api/v1/groups/:group_id/discussion_topics/:topic_id/summaries
Generates a summary for a discussion topic.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| Areas or topics for the summary to focus on. |
Example Request:
Example Response:
DiscussionTopicsApiController#disable_summary
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/summaries/disable
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/summaries/disable
Scope: url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id/summaries/disable
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/summaries/disable
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/summaries/disable
Scope: url:PUT|/api/v1/groups/:group_id/discussion_topics/:topic_id/summaries/disable
Disables the summary for a discussion topic.
Example Request:
Example Response:
DiscussionTopicsApiController#summary_feedback
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/summaries/:summary_id/feedback
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/summaries/:summary_id/feedback
Scope: url:POST|/api/v1/courses/:course_id/discussion_topics/:topic_id/summaries/:summary_id/feedback
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/summaries/:summary_id/feedback
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/summaries/:summary_id/feedback
Scope: url:POST|/api/v1/groups/:group_id/discussion_topics/:topic_id/summaries/:summary_id/feedback
Persists feedback on a discussion topic summary.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| Required The action to take on the summary. Possible values are:
Any other value will result in an error response. |
Example Request:
Example Response:
DiscussionTopicsApiController#view
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/view
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/view
Scope: url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_id/view
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/view
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/view
Scope: url:GET|/api/v1/groups/:group_id/discussion_topics/:topic_id/view
Return a cached structure of the discussion topic, containing all entries, their authors, and their message bodies.
May require (depending on the topic) that the user has posted in the topic. If it is required, and the user has not posted, will respond with a 403 Forbidden status and the body ‘require_initial_post’.
In some rare situations, this cached structure may not be available yet. In that case, the server will respond with a 503 error, and the caller should try again soon.
The response is an object containing the following keys:
“participants”: A list of summary information on users who have posted to the discussion. Each value is an object containing their id, display_name, and avatar_url.
“unread_entries”: A list of entry ids that are unread by the current user. this implies that any entry not in this list is read.
“entry_ratings”: A map of entry ids to ratings by the current user. Entries not in this list have no rating. Only populated if rating is enabled.
“forced_entries”: A list of entry ids that have forced_read_state set to true. This flag is meant to indicate the entry’s read_state has been manually set to ‘unread’ by the user, so the entry should not be automatically marked as read.
“view”: A threaded view of all the entries in the discussion, containing the id, user_id, and message.
“new_entries”: Because this view is eventually consistent, it’s possible that newly created or updated entries won’t yet be reflected in the view. If the application wants to also get a flat list of all entries not yet reflected in the view, pass include_new_entries=1 to the request and this array of entries will be returned. These entries are returned in a flat array, in ascending created_at order.
Example Request:
Example Response:
DiscussionTopicsApiController#add_entry
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/entries
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/entries
Scope: url:POST|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/entries
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/entries
Scope: url:POST|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries
Create a new entry in a discussion topic. Returns a json representation of the created entry (see documentation for ‘entries’ method) on success.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| The body of the entry. |
|
| a multipart/form-data form-field-style attachment. Attachments larger than 1 kilobyte are subject to quota restrictions. |
Example Request:
DiscussionTopicsApiController#duplicate
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/duplicate
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/duplicate
Scope: url:POST|/api/v1/courses/:course_id/discussion_topics/:topic_id/duplicate
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/duplicate
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/duplicate
Scope: url:POST|/api/v1/groups/:group_id/discussion_topics/:topic_id/duplicate
Duplicate a discussion topic according to context (Course/Group)
Example Request:
Returns a DiscussionTopic object.
DiscussionTopicsApiController#entries
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/entries
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/entries
Scope: url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/entries
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/entries
Scope: url:GET|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries
Retrieve the (paginated) top-level entries in a discussion topic.
May require (depending on the topic) that the user has posted in the topic. If it is required, and the user has not posted, will respond with a 403 Forbidden status and the body ‘require_initial_post’.
Will include the 10 most recent replies, if any, for each entry returned.
If the topic is a root topic with children corresponding to groups of a group assignment, entries from those subtopics for which the user belongs to the corresponding group will be returned.
Ordering of returned entries is newest-first by posting timestamp (reply activity is ignored).
API response field:
id
The unique identifier for the entry.
user_id
The unique identifier for the author of the entry.
editor_id
The unique user id of the person to last edit the entry, if different than user_id.
user_name
The name of the author of the entry.
message
The content of the entry.
read_state
The read state of the entry, “read” or “unread”.
forced_read_state
Whether the read_state was forced (was set manually)
created_at
The creation time of the entry, in ISO8601 format.
updated_at
The updated time of the entry, in ISO8601 format.
attachment
JSON representation of the attachment for the entry, if any. Present only if there is an attachment.
attachments
Deprecated. Same as attachment, but returned as a one-element array. Present only if there is an attachment.
recent_replies
The 10 most recent replies for the entry, newest first. Present only if there is at least one reply.
has_more_replies
True if there are more than 10 replies for the entry (i.e., not all were included in this response). Present only if there is at least one reply.
Example Response:
DiscussionTopicsApiController#add_reply
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/replies
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/replies
Scope: url:POST|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/replies
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/replies
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/replies
Scope: url:POST|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/replies
Add a reply to an entry in a discussion topic. Returns a json representation of the created reply (see documentation for ‘replies’ method) on success.
May require (depending on the topic) that the user has posted in the topic. If it is required, and the user has not posted, will respond with a 403 Forbidden status and the body ‘require_initial_post’.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| The body of the entry. |
|
| a multipart/form-data form-field-style attachment. Attachments larger than 1 kilobyte are subject to quota restrictions. |
Example Request:
DiscussionTopicsApiController#replies
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/replies
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/replies
Scope: url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/replies
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/replies
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/replies
Scope: url:GET|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/replies
Retrieve the (paginated) replies to a top-level entry in a discussion topic.
May require (depending on the topic) that the user has posted in the topic. If it is required, and the user has not posted, will respond with a 403 Forbidden status and the body ‘require_initial_post’.
Ordering of returned entries is newest-first by creation timestamp.
API response field:
id
The unique identifier for the reply.
user_id
The unique identifier for the author of the reply.
editor_id
The unique user id of the person to last edit the entry, if different than user_id.
user_name
The name of the author of the reply.
message
The content of the reply.
read_state
The read state of the entry, “read” or “unread”.
forced_read_state
Whether the read_state was forced (was set manually)
created_at
The creation time of the reply, in ISO8601 format.
Example Response:
DiscussionTopicsApiController#entry_list
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/entry_list
GET /api/v1/courses/:course_id/discussion_topics/:topic_id/entry_list
Scope: url:GET|/api/v1/courses/:course_id/discussion_topics/:topic_id/entry_list
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/entry_list
GET /api/v1/groups/:group_id/discussion_topics/:topic_id/entry_list
Scope: url:GET|/api/v1/groups/:group_id/discussion_topics/:topic_id/entry_list
Retrieve a paginated list of discussion entries, given a list of ids.
May require (depending on the topic) that the user has posted in the topic. If it is required, and the user has not posted, will respond with a 403 Forbidden status and the body ‘require_initial_post’.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| A list of entry ids to retrieve. Entries will be returned in id order, smallest id first. |
API response field:
id
The unique identifier for the reply.
user_id
The unique identifier for the author of the reply.
user_name
The name of the author of the reply.
message
The content of the reply.
read_state
The read state of the entry, “read” or “unread”.
forced_read_state
Whether the read_state was forced (was set manually)
created_at
The creation time of the reply, in ISO8601 format.
deleted
If the entry has been deleted, returns true. The user_id, user_name, and message will not be returned for deleted entries.
Example Request:
Example Response:
DiscussionTopicsApiController#mark_topic_read
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/read
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/read
Scope: url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id/read
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/read
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/read
Scope: url:PUT|/api/v1/groups/:group_id/discussion_topics/:topic_id/read
Mark the initial text of the discussion topic as read.
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Example Request:
DiscussionTopicsApiController#mark_all_topic_read
PUT /api/v1/courses/:course_id/discussion_topics/read_all
PUT /api/v1/courses/:course_id/discussion_topics/read_all
Scope: url:PUT|/api/v1/courses/:course_id/discussion_topics/read_all
PUT /api/v1/groups/:group_id/discussion_topics/read_all
PUT /api/v1/groups/:group_id/discussion_topics/read_all
Scope: url:PUT|/api/v1/groups/:group_id/discussion_topics/read_all
Mark the initial text of all the discussion topics as read in the context.
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Example Request:
DiscussionTopicsApiController#mark_topic_unread
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/read
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/read
Scope: url:DELETE|/api/v1/courses/:course_id/discussion_topics/:topic_id/read
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/read
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/read
Scope: url:DELETE|/api/v1/groups/:group_id/discussion_topics/:topic_id/read
Mark the initial text of the discussion topic as unread.
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Example Request:
DiscussionTopicsApiController#mark_all_read
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/read_all
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/read_all
Scope: url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id/read_all
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/read_all
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/read_all
Scope: url:PUT|/api/v1/groups/:group_id/discussion_topics/:topic_id/read_all
Mark the discussion topic and all its entries as read.
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| A boolean value to set all of the entries’ forced_read_state. No change is made if this argument is not specified. |
Example Request:
DiscussionTopicsApiController#mark_all_unread
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/read_all
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/read_all
Scope: url:DELETE|/api/v1/courses/:course_id/discussion_topics/:topic_id/read_all
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/read_all
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/read_all
Scope: url:DELETE|/api/v1/groups/:group_id/discussion_topics/:topic_id/read_all
Mark the discussion topic and all its entries as unread.
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| A boolean value to set all of the entries’ forced_read_state. No change is made if this argument is not specified. |
Example Request:
DiscussionTopicsApiController#mark_entry_read
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/read
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/read
Scope: url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/read
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/read
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/read
Scope: url:PUT|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/read
Mark a discussion entry as read.
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| A boolean value to set the entry’s forced_read_state. No change is made if this argument is not specified. |
Example Request:
DiscussionTopicsApiController#mark_entry_unread
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/read
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/read
Scope: url:DELETE|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/read
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/read
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/read
Scope: url:DELETE|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/read
Mark a discussion entry as unread.
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| A boolean value to set the entry’s forced_read_state. No change is made if this argument is not specified. |
Example Request:
DiscussionTopicsApiController#rate_entry
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/rating
POST /api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/rating
Scope: url:POST|/api/v1/courses/:course_id/discussion_topics/:topic_id/entries/:entry_id/rating
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/rating
POST /api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/rating
Scope: url:POST|/api/v1/groups/:group_id/discussion_topics/:topic_id/entries/:entry_id/rating
Rate a discussion entry.
On success, the response will be 204 No Content with an empty body.
Request Parameters:
Parameter | Type | Description |
---|---|---|
|
| A rating to set on this entry. Only 0 and 1 are accepted. |
Example Request:
DiscussionTopicsApiController#subscribe_topic
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/subscribed
PUT /api/v1/courses/:course_id/discussion_topics/:topic_id/subscribed
Scope: url:PUT|/api/v1/courses/:course_id/discussion_topics/:topic_id/subscribed
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/subscribed
PUT /api/v1/groups/:group_id/discussion_topics/:topic_id/subscribed
Scope: url:PUT|/api/v1/groups/:group_id/discussion_topics/:topic_id/subscribed
Subscribe to a topic to receive notifications about new entries
On success, the response will be 204 No Content with an empty body
Example Request:
DiscussionTopicsApiController#unsubscribe_topic
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/subscribed
DELETE /api/v1/courses/:course_id/discussion_topics/:topic_id/subscribed
Scope: url:DELETE|/api/v1/courses/:course_id/discussion_topics/:topic_id/subscribed
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/subscribed
DELETE /api/v1/groups/:group_id/discussion_topics/:topic_id/subscribed
Scope: url:DELETE|/api/v1/groups/:group_id/discussion_topics/:topic_id/subscribed
Unsubscribe from a topic to stop receiving notifications about new entries
On success, the response will be 204 No Content with an empty body
Example Request:
© Instructure, Inc. Generated on Wed Nov 6 14:20:06 2024 This documentation is generated directly from the Canvas LMS source code, available on Github.
Last updated