https://chatgpt-plugin.outschool.com/.well-known/ai-plugin.json
{
"schema_version": "v1",
"name_for_human": "Outschool",
"name_for_model": "Outschool",
"description_for_human": "Search for top-quality online classes and teachers on Outschool.",
"description_for_model": "Search for top-quality online classes and teachers on Outschool.",
"auth": {
"type": "none"
},
"api": {
"type": "openapi",
"url": "https://chatgpt-plugin.outschool.com/openapi.json",
"is_user_authenticated": false
},
"logo_url": "https://chatgpt-plugin.outschool.com/logo.png",
"contact_email": "support@outschool.com",
"legal_info_url": "https://outschool.com/terms"
}
https://chatgpt-plugin.outschool.com/openapi.json
{
"openapi": "3.0.1",
"info": {
"title": "Outschool Plugin",
"description": "A plugin that allows users to search for online classes and teachers on Outschool. This plugin returns live data from the Outschool system and uses a subset of the Outschool search capabilities.",
"version": "v1"
},
"servers": [
{
"url": "https://chatgpt-plugin.outschool.com/api"
}
],
"paths": {
"/classes": {
"get": {
"operationId": "searchClasses",
"description": "Returns a list of online classes",
"parameters": [
{
"name": "timeZone",
"in": "query",
"required": true,
"description": "IANA Time Zone identifier of the user. Either provided by user or derived from their location. Since Outschool parents and teachers can be from different time zones, this is required to search classes that are available in parent's timezone at reasonable hours. Only IANA format is accepted.",
"schema": {
"type": "string"
},
"examples": {
"losAngeles": {
"value": "America/Los_Angeles"
},
"newYork": {
"value": "America/New_York"
},
"london": {
"value": "Europe/London"
}
}
},
{
"name": "age",
"in": "query",
"required": true,
"description": "Outschool has several classes serving different age groups. The age of the learner(s) helps to find classes that match the best. This is a comma separated list. If the age difference between the children is more than 5 years, it may be better to search for different ages separately to get better search results.",
"schema": {
"type": "string",
"minimum": 3,
"maximum": 18
},
"examples": {
"12": {
"value": "12"
},
"1213": {
"value": "12,13"
},
"5617": {
"value": "5,6,17"
}
}
},
{
"name": "q",
"in": "query",
"required": false,
"description": "Keywords to use to search in the class list. Classes matching the keyword closest will be returned.",
"schema": {
"type": "string"
}
},
{
"name": "delivery",
"in": "query",
"required": false,
"explode": true,
"description": "Filters classes by delivery type. Description for different enum values:\n One-time: Classes that meets once\n Ongoing: Weekly classes that learners can enroll in any week\n Semester course: Multi-week/session classes, usually more than 4 weeks\n Short course: Multi-week/session classes, usually around 4 weeks\n Camp: Semester or short courses during summer and school breaks\n Group: Async chat groups on a specific topic where learners share ideas and experiences, like clubs",
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"One-time",
"Ongoing",
"Semester course",
"Short course",
"Camp",
"Group"
]
}
}
},
{
"name": "userUid",
"in": "query",
"required": false,
"description": "Only search classes taught by a specific teacher. The userUid is the id of the teacher",
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "order",
"in": "query",
"description": "Sort results by either upcoming, new, or relevance. Upcoming sorts by next section start date in ascending order, new sorts by class published date in descending order, and relevance sorts by the keyword relevance and popularity of the class.",
"schema": {
"type": "string",
"enum": [
"upcoming",
"new",
"relevance"
],
"default": "relevance"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"description": "The offset for the results. Offset and limit used in combination to paginate in results. For instance, if limit is 10, to get next 10 results, the offset should be set to 10.",
"schema": {
"type": "number",
"default": 0
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Number of results to return.",
"schema": {
"type": "number",
"default": 10
}
},
{
"name": "startAfter",
"in": "query",
"required": false,
"description": "Search classes that have a section starting on or after a given date. Only today or future dates are allowed.",
"schema": {
"type": "string",
"format": "date"
},
"examples": {
"April152023": {
"value": "2023-04-15"
}
}
},
{
"name": "dow",
"in": "query",
"description": "The day of week to filter classes and only return classes that have a section on given days of the week.",
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun"
]
}
},
"style": "form",
"explode": true,
"required": false,
"examples": {
"Mon": {
"value": "Mon"
},
"Mon_Tue": {
"value": "Mon,Tue"
},
"Mon_Thu": {
"value": "Mon,Tue,Wed,Thu"
},
"Weekdays": {
"value": "Mon,Tue,Wed,Thu,Fri"
},
"Weekend": {
"value": "Sat, Sun"
}
}
},
{
"name": "startAfterTime",
"in": "query",
"description": "The start time of the class in 24 hour format as hour of the day normalized by the user's timezone",
"schema": {
"type": "number",
"minimum": 6,
"maximum": 22
}
},
{
"name": "endByTime",
"in": "query",
"description": "The end time of the class in 24 hour format as hour of the day normalized by the user's timezone",
"schema": {
"type": "number",
"minimum": 6,
"maximum": 22
}
}
],
"responses": {
"200": {
"description": "A list of classes",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/class"
}
}
}
}
}
}
}
},
"/teachers": {
"get": {
"operationId": "searchTeachers",
"description": "Returns a list of teachers",
"parameters": [
{
"name": "name",
"in": "query",
"required": true,
"description": "Name of the teacher to search for",
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "Number of results to return.",
"schema": {
"type": "number",
"default": 10
}
}
],
"responses": {
"200": {
"description": "A list of teachers",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/teacher"
}
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"class": {
"type": "object",
"properties": {
"uid": {
"type": "string",
"format": "uuid",
"description": "Unique ID of the class in the system that can be used in other API end points"
},
"title": {
"type": "string",
"description": "Title of the class"
},
"summary": {
"type": "string",
"description": "Summary of the class"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to the class detail page"
},
"photo": {
"type": "string",
"format": "uri",
"description": "Photo of the class"
},
"is_ongoing_weekly": {
"type": "boolean",
"description": "Whether this class is an ongoing class or not. When a class is an ongoing class, parents can enroll their children for any week of an ongoing class, because the sections of that class meet every week and the weeks don't depend on each other."
},
"age_min": {
"type": "number",
"description": "The minimum age a learner should be to enroll in the class. Although Outschool has classes for different age groups, individual classes may only be appropriate for a certain age range."
},
"age_max": {
"type": "number",
"description": "The maximum age a learner should be to enroll in the class. Although Outschool has classes for different age groups, individual classes may only be appropriate for a certain age range."
},
"teacher": {
"$ref": "#/components/schemas/teacher"
},
"nextSection": {
"$ref": "#/components/schemas/section",
"nullable": true,
"description": "The next section of the class that the parent/caregiver can enroll their children in. This is usually what parents are looking for to enroll in a class."
}
}
},
"teacher": {
"type": "object",
"properties": {
"uid": {
"type": "string",
"format": "uuid",
"description": "Unique ID of the teacher in the system that can be used in other API end points"
},
"name": {
"type": "string",
"description": "Name of the teacher"
},
"about": {
"type": "string",
"description": "A short summary the teacher provides about themselves"
},
"photo": {
"type": "string",
"format": "uri",
"description": "Photo of the teacher"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL to the Outschool profile page of the teacher"
}
}
},
"section": {
"type": "object",
"description": "Sections are what parents enroll their children in for a given class. They are separate cohorts of a class.",
"properties": {
"uid": {
"type": "string",
"format": "uuid",
"description": "Unique ID of the section in the system that can be used in other API end points"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL pointing to the section page"
},
"start_time": {
"type": "string",
"format": "datetime",
"description": "The start time for the first meeting of a section."
},
"end_time": {
"type": "string",
"format": "datetime",
"description": "The end time for the last meeting of a section."
},
"size_max": {
"type": "number",
"description": "How many learners can enroll in the section."
},
"filledSpaceCount": {
"type": "number",
"description": "How many learners are enrolled in the section. size_max - filledSpaceCount gives how many seats are left to enroll in."
},
"nextOngoingMeeting": {
"$ref": "#/components/schemas/meeting",
"nullable": true,
"description": "If the class is an ongoing class, this points to the next meeting for the section."
}
}
},
"meeting": {
"type": "object",
"description": "The online meeting for a section. Meetings are held on Zoom.",
"properties": {
"uid": {
"type": "string",
"format": "uuid",
"description": "Unique ID of the meeting in the system that can be used in other API end points"
},
"start_time": {
"type": "string",
"format": "datetime",
"description": "The start time of the meeting."
},
"end_time": {
"type": "string",
"format": "datetime",
"description": "The end time of the meeting."
}
}
}
}
}
}
Discover other plugins from the education category

Speak
Learn how to say anything in another language with Speak, your AI-powered language tutor.
0 Comments
edX
Find courses and content from leading universities to expand your knowledge at any level.
0 Comments

AmazingTalker
Elevate your language learning at any level with personalized 1-on-1 online lessons from tutors across the world.
0 Comments
Preply
Plugin for finding the best language tutors and managing your lessons
0 Comments

IELTS Prep by Talkface
Use lastest IELTS Speaking exam questions to prep your IELTS speaking with Talkface
0 Comments

Coursera
Find recommendation for courses, specializations, and degrees on Coursera.
0 Comments

Open Lecture
Discover and access the right moments in open course lectures for targeted learning.
0 Comments

ABCmouse
Provides fun and educational learning activities for children 2-8 years old.
0 Comments
Upskillr
Custom curriculum, lesson plans, and upskilling support on any topic by Upskillr. Powered by Shorthills Tech.
0 Comments

QuickRecall
Create flashcards and review them with spaced repeition.
0 Comments

ProApp Learn Design
Level up your design skills quickly with a wide range of design courses, interactive workshops and AI-guided mentorship.
0 Comments

MixerBox Translate
Translate any language right away! Learn foreign languages easily by conversing with AI tutors!
0 Comments

Giga Tutor
Giga is your AI powered personalised tutor, it keeps the answers to your questions personalised.
0 Comments

Duoduo English
Learn and practice English for Duolingo English Test.
0 Comments

Japanese Strokes
Educational tool to help with learning Japanese writing strokes using animations.
0 Comments

Ukr-School-Books
Interact with a books database. List, get content, and find books.
0 Comments
Course Hero
Get course-specific study materials from Course Hero's library.
0 Comments

MightyOwl K-8
MightyOwl is a K-8 educational resource offering fun and engaging videos, quizzes and worksheets.
0 Comments

MetaMentor by AxonAI
MetaMentor personalizes your learning path in any topic and provides you with PDF,HTML and DOCX study guides.
0 Comments

Eduguide
A tool designed to respond to college admission-related inquiries.
0 Comments

Daily Learning
Unlock your full potential with a personalized education journey featuring custom-tailored lesson plans!
0 Comments

Kokoro
Learn with Kokoro!
0 Comments

BlendED
Create educational resources (question papers, bubble sheets, worksheets, etc.) instantly from your teaching material.
0 Comments

FlashcardsGenerator
Generate Anki flashcards and downloable Decks!
0 Comments