Virtual Teaching Assistant
VTA-specific features, course integration, configuration
Written By jazilkalim
Last updated 3 months ago
What is a VTA?
Virtual Teaching Assistants (VTAs) are specialized AI agents designed specifically for educational contexts. VTAs integrate with Learning Management Systems (Canvas, Blackboard) to help students with course materials, assignments, and questions.
Why Use VTAs?
Course Integration: Automatically sync with Canvas and Blackboard
24/7 Availability: Students get help anytime
Personalized Support: Tailored to specific course content
Instructor Control: Configure behavior, tone, and boundaries
List VTAs
Retrieve a paginated list of VTAs with detailed configuration.
Endpoint Details
Method:
POSTURL:
{{baseURL}}/api/v1/list_vtaAuthentication: Required (JWT Bearer token)
Request Body
Example Request
curl -X POST "https://<baseURL>/api/v1/list_vta" \
-H "Authorization: Bearer <jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"page": 1,
"limit": 5
}'
Response
Status Code: 200 OK
{
"current_page": 1,
"next_page": 2,
"total_pages": 10,
"total_records": 47,
"limit": 5,
"data": [
{
"tenant_id": "d508624f-a0b7-4fd3-9511-05b18ca02784",
"tenant_name": "University ABC",
"user_id": "instructor@example.com",
"user_name": "Prof. Smith",
"user_email": "instructor@example.com",
"user_role": 2,
"id": "vta-123",
"vta_id": "asst_XN5v91U6aVRS0r0pJHc6zN18",
"assistant_type": "vta",
"vta_basics": {
"vta_name": "CS101_VTA",
"vta_course_name": "Introduction to Computer Science",
"vta_course": {...},
"vta_human_ta": {
"vta_ta_name": "Jane Doe",
"vta_ta_email": "ta@example.com"
},
"vta_welcome_message": {
"vta_welcome_message": "Hi! I'm your CS101 assistant...",
"vta_welcome_message_enable": true
},
"vta_prompt_starters": {...},
"vta_tone_voice": {...},
"vta_instruction_style": {...},
"vta_feedback_style": {...},
"vta_academic_integrity": {...},
"vta_offlimit_topics": {...}
},
"vta_overall_start_date": "2024-08-20T00:00:00Z",
"vta_overall_end_date": "2024-12-15T23:59:59Z",
"conversations": 342,
"last_active": "2024-12-02T10:30:00Z",
"vta_published": 1,
"vta_active": 1,
"vta_access": ["groups"]
}
]
}
Get VTA Details
Retrieve complete configuration for a specific VTA.
Endpoint Details
Method:
POSTURL:
{{baseURL}}/api/v1/get_vta_detailsAuthentication: Required (JWT Bearer token)
Request Body
Example Request
curl -X POST "https://<baseURL>/api/v1/get_vta_details" \
-H "Authorization: Bearer <jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"vta_id": "asst_XN5v91U6aVRS0r0pJHc6zN18"
}'
Response
Status Code: 200 OK
{
"data": {
"tenant_id": "d508624f-a0b7-4fd3-9511-05b18ca02784",
"tenant_name": "Royal Cyber",
"user_id": "admincb@royalcyber.com",
"user_name": "Admin CB",
"user_role": 3,
"assistant_type": "vta",
"vta_basics": {
"vta_name": "VTARobotVta",
"vta_course_name": "Foundations of Robot Motion",
"vta_human_ta": {
"vta_ta_name": "sujaDevi",
"vta_ta_email": "suja@educational.com"
},
"vta_welcome_message": {
"vta_welcome_message": "Hi! I'm your Virtual Teaching Assistant...",
"vta_welcome_message_enable": true
}
},
"vta_advance": {
"vta_llm_model": "gpt4o",
"vta_web_search_enable": true,
"vta_code_interpreter_enable": true,
"vta_image_generation_enable": true
},
"vta_data_sources": {
"vta_canvas_enable": true,
"vta_blackboard_enable": false
},
"vta_pipeline_schedule": {
"vta_pipeline_schedule_canvas_enable": true,
"vta_pipeline_schedule_filestorage_enable": true
},
"vta_groups": [
{
"group_id": 1000385,
"group_name": "VTARobotVta_Admin",
"role_id": 3
},
{
"group_id": 1000386,
"group_name": "VTARobotVta_Instructor",
"role_id": 2
},
{
"group_id": 1000387,
"group_name": "VTARobotVta_Students",
"role_id": 1
}
],
"vta_created_at": "2025-10-06T13:09:22.390160Z",
"vta_updated_at": "2025-10-06T20:26:37.431821Z",
"vta_published": 1,
"vta_active": 1
}
}
VTA Configuration
Basic Settings (vta_basics)
Advanced Settings (vta_advance)
Data Sources (vta_data_sources)
Pipeline Schedule (vta_pipeline_schedule)
Groups (vta_groups)
VTAs automatically create three default groups:
Admin Group: Full VTA management (role_id: 3)
Instructor Group: Course-level access (role_id: 2)
Student Group: Student access (role_id: 1)
VTA Status
Common Use Cases
List All Course VTAs
curl -X POST "https://<baseURL>/api/v1/list_vta" \
-H "Authorization: Bearer <jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"page": 1,
"limit": 20
}'
Get VTA Configuration
curl -X POST "https://<baseURL>/api/v1/get_vta_details" \
-H "Authorization: Bearer <jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"vta_id": "asst_XN5v91U6aVRS0r0pJHc6zN18"
}'
Find VTAs by Course
List all VTAs and filter by vta_course_name in your application.
VTA vs Custom Agent
Error Responses
Best Practices
Use pagination: Set appropriate page size (5-20 for VTAs)
Cache details: Store VTA configuration to reduce API calls
Check active status: Only show active VTAs to students
Verify groups: Ensure students are in VTA student groups
Monitor conversations: Track usage via
conversationsfield