Canvas Career Experiences

Canvas Career Experiences API

API for managing user career experience and role preferences in Canvas.

An ExperienceSummary object looks like:

{
  // The current active experience. One of: 'academic', 'career_learner',
  // 'career_learning_provider'.
  "current_app": "career_learner",
  // List of available experiences for the user. Can include: 'academic',
  // 'career_learner', 'career_learning_provider'.
  "available_apps": ["academic", "career_learner"]
}

CareerExperienceController#experience_summary

GET /api/v1/career/experience_summary

Scope: url:GET|/api/v1/career/experience_summary

Returns the current user’s active experience and available experiences they can switch to.

Example Request:

curl https://<canvas>/api/v1/career_experience/experience_summary \
  -H 'Authorization: Bearer <token>'

Returns an ExperienceSummary object.

CareerExperienceController#switch_experience

POST /api/v1/career/switch_experience

Scope: url:POST|/api/v1/career/switch_experience

Switch the current user’s active experience to the specified one.

Request Parameters:

Parameter
Type
Description

experience

Required string

The experience to switch to.

Allowed values: academic, career

Example Request:

curl -X POST https://<canvas>/api/v1/career_experience/switch_experience \
  -H 'Authorization: Bearer <token>' \
  -d 'experience=academic'

CareerExperienceController#switch_role

POST /api/v1/career/switch_role

Scope: url:POST|/api/v1/career/switch_role

Switch the current user’s role within the current experience.

Request Parameters:

Parameter
Type
Description

role

Required string

The role to switch to.

Allowed values: learner, learning_provider

Example Request:

curl -X POST https://<canvas>/api/v1/career_experience/switch_role \
  -H 'Authorization: Bearer <token>' \
  -d 'role=learner'

This documentation is generated directly from the Canvas LMS source code, available on Github.

Last updated

Was this helpful?