We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.
AI Experiences API
API for creating, accessing and updating AI Experiences. AI Experiences are used to create interactive AI-powered learning scenarios within courses.
An AiExperience object looks like:
// An AI Experience for interactive learning
{
// The ID of the AI experience
"id": 234,
// The title for the AI experience
"title": "Customer Service Simulation",
// The description of the AI experience
"description": "Practice customer service skills in a simulated environment",
// The AI facts for the experience
"facts": "You are a customer service representative...",
// The learning objectives for this experience
"learning_objective": "Students will practice active listening and problem-solving",
// The scenario description for the experience
"scenario": "A customer is calling about a billing issue",
// The current published state of the AI experience
"workflow_state": "published",
// The course this experience belongs to
"course_id": 1578941
}
List AI experiences AiExperiencesController#index
GET /api/v1/courses/:course_id/ai_experiences
url:GET|/api/v1/courses/:course_id/ai_experiences
Retrieve the paginated list of AI experiences for a course
Request Parameters:
Parameter | Type | Description | |
---|---|---|---|
workflow_state | string |
Only return experiences with the specified workflow state. Allowed values: published, unpublished, deleted |
Show an AI experience AiExperiencesController#show
GET /api/v1/courses/:course_id/ai_experiences/:id
url:GET|/api/v1/courses/:course_id/ai_experiences/:id
Retrieve an AI experience by ID
Returns an AiExperience objectShow new AI experience form AiExperiencesController#new
GET /api/v1/courses/:course_id/ai_experiences/new
url:GET|/api/v1/courses/:course_id/ai_experiences/new
Display the form for creating a new AI experience
Show edit AI experience form AiExperiencesController#edit
GET /api/v1/courses/:course_id/ai_experiences/:id/edit
url:GET|/api/v1/courses/:course_id/ai_experiences/:id/edit
Display the form for editing an existing AI experience
Create an AI experience AiExperiencesController#create
POST /api/v1/courses/:course_id/ai_experiences
url:POST|/api/v1/courses/:course_id/ai_experiences
Create a new AI experience for the specified course
Request Parameters:
Parameter | Type | Description | |
---|---|---|---|
title | Required | string |
The title of the AI experience. |
description | string |
The description of the AI experience. |
|
facts | Required | string |
The AI facts for the experience. |
learning_objective | string |
The learning objectives for this experience. |
|
scenario | string |
The scenario description for the experience. |
|
workflow_state | string |
The initial state of the experience. Defaults to ‘unpublished’. Allowed values: published, unpublished |
Update an AI experience AiExperiencesController#update
PUT /api/v1/courses/:course_id/ai_experiences/:id
url:PUT|/api/v1/courses/:course_id/ai_experiences/:id
Update an existing AI experience
Request Parameters:
Parameter | Type | Description | |
---|---|---|---|
title | string |
The title of the AI experience. |
|
description | string |
The description of the AI experience. |
|
facts | string |
The AI facts for the experience. |
|
learning_objective | string |
The learning objectives for this experience. |
|
scenario | string |
The scenario description for the experience. |
|
workflow_state | string |
The state of the experience. Allowed values: published, unpublished |
Delete an AI experience AiExperiencesController#destroy
DELETE /api/v1/courses/:course_id/ai_experiences/:id
url:DELETE|/api/v1/courses/:course_id/ai_experiences/:id
Delete an AI experience (soft delete - marks as deleted)
Returns an AiExperience object