Tabs API
A Tab object looks like:
{
"html_url": "/courses/1/external_tools/4",
"id": "context_external_tool_4",
"label": "WordPress",
"type": "external",
// only included if true
"hidden": true,
// possible values are: public, members, admins, and none
"visibility": "public",
// 1 based
"position": 2
}
List available tabs for a course or group TabsController#index
GET /api/v1/accounts/:account_id/tabs
Scope:
url:GET|/api/v1/accounts/:account_id/tabs
GET /api/v1/courses/:course_id/tabs
Scope:
url:GET|/api/v1/courses/:course_id/tabs
GET /api/v1/groups/:group_id/tabs
Scope:
url:GET|/api/v1/groups/:group_id/tabs
GET /api/v1/users/:user_id/tabs
Scope:
url:GET|/api/v1/users/:user_id/tabs
Returns a paginated list of navigation tabs available in the current context.
Request Parameters:
Parameter | Type | Description | |
---|---|---|---|
include[] | string |
Allowed values: |
Example Request:
curl -H 'Authorization: Bearer <token>' \
https://<canvas>/api/v1/groups/<group_id>/tabs"
Example Response:
[
{
"html_url": "/courses/1",
"id": "home",
"label": "Home",
"position": 1,
"visibility": "public",
"type": "internal"
},
{
"html_url": "/courses/1/external_tools/4",
"id": "context_external_tool_4",
"label": "WordPress",
"hidden": true,
"visibility": "public",
"position": 2,
"type": "external"
},
{
"html_url": "/courses/1/grades",
"id": "grades",
"label": "Grades",
"position": 3,
"hidden": true
"visibility": "admins"
"type": "internal"
}
]
Update a tab for a course TabsController#update
PUT /api/v1/courses/:course_id/tabs/:tab_id
Scope:
url:PUT|/api/v1/courses/:course_id/tabs/:tab_id
Home and Settings tabs are not manageable, and can’t be hidden or moved
Returns a tab object
Request Parameters:
Parameter | Type | Description | |
---|---|---|---|
position | integer |
The new position of the tab, 1-based |
|
hidden | boolean |
no description |
Example Request:
curl https://<canvas>/api/v1/courses/<course_id>/tabs/tab_id \
-X PUT \
-H 'Authorization: Bearer <token>' \
-d 'hidden=true' \
-d 'position=2' // 1 based