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 (optional)
"facts": "You are a customer service representative...",
// The learning objectives for this experience
"learning_objective": "Students will practice active listening and problem-solving",
// The pedagogical guidance for the experience
"pedagogical_guidance": "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 | string |
The AI facts for the experience. |
|
| learning_objective | Required | string |
The learning objectives for this experience. |
| pedagogical_guidance | Required | string |
The pedagogical guidance 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 | Required | string |
The learning objectives for this experience. |
| pedagogical_guidance | Required | string |
The pedagogical guidance 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 objectList student AI conversations AiExperiencesController#ai_conversations_index
GET /api/v1/courses/:course_id/ai_experiences/:id/ai_conversations
url:GET|/api/v1/courses/:course_id/ai_experiences/:id/ai_conversations
Retrieve the latest AI conversation for each student in the course for this AI experience. Only available to teachers and course managers.
Show student AI conversation AiExperiencesController#ai_conversation_show
GET /api/v1/courses/:course_id/ai_experiences/:id/ai_conversations/:conversation_id
url:GET|/api/v1/courses/:course_id/ai_experiences/:id/ai_conversations/:conversation_id
Retrieve a specific student’s AI conversation with full message history. Only available to teachers and course managers.