Preply Chatgpt Openapi API

The Chatgpt Openapi API from Preply — 2 operation(s) for chatgpt openapi.

OpenAPI Specification

preply-chatgpt-openapi-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Preply plugin Chatgpt Openapi API
  description: Plugin for finding best tutors for you and managing your lessons.
  version: v1
servers:
- url: https://preply.com
tags:
- name: Chatgpt Openapi
paths:
  /api/chatgpt_openapi/tutors/{id}:
    get:
      operationId: tutor-by-id
      summary: Get full info about specific tutor
      parameters:
      - name: id
        in: path
        description: ID of the tutor
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tutorByIDResponse'
      tags:
      - Chatgpt Openapi
  /api/chatgpt_openapi/tutors/:
    get:
      operationId: searching-tutors
      summary: Get a list of tutors. Results are split into pages, which size is 10. If not tutors are returned suggest removing some used filters
      parameters:
      - name: subject
        in: query
        description: Filter tutors by subject. Possible options are 'english', 'spanish', 'ukrainian
        required: true
        schema:
          type: string
      - name: sort
        in: query
        description: The way to sort tutors. Possible options are 'price_highest' (expensive tutors go first), 'price_lowest' (cheap tutors go first), 'popularity' (popular tutors go first), 'reviews' (tutors with the most reviews go first), 'rating' (tutors with the highest lessons rating go first). The 'rating' value is often used to find the best tutors, thus is recommended.
        required: false
        schema:
          type: string
          enum:
          - price_highest
          - price_lowest
          - popularity
          - reviews
          - rating
      - name: page
        in: query
        description: Page number of the results. Default value is "1". To get more tutors for the same result pass "2" or "3" and so on
        required: false
        schema:
          type: number
      - name: priceRange
        in: query
        description: Price range filter for tutors. The format is "minPrice-maxPrice". For example, "10-20" means that tutors charge from 10 to 20 dollars per hour.
        required: false
        schema:
          type: string
      - name: tutorIsFrom
        in: query
        description: Filter tutors by country of birth. Two letter country code, for example 'US', 'UA', 'GB' for the United Kingdom, 'ES' and so on.  If need to filter by multiple countries, use comma separated list, for example 'US,UA,ES'.
        required: false
        schema:
          type: string
      - name: tl
        in: query
        description: Filter tutors by languages they speak. Two lower-case letters language code, for example 'en', 'nl' and so on
        required: false
        schema:
          type: string
      - name: native
        in: query
        description: Filter tutors by teached language is their native
        required: false
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: certified
        in: query
        description: Filter tutors that are proffefionals (or in other words, certified)
        required: false
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      - name: searchtext
        in: query
        description: Filter tutors by any term or pharse in their profile
        required: false
        schema:
          type: string
      - name: day
        in: query
        description: Filter tutors by day of week availability.
        required: false
        schema:
          type: string
          enum:
          - sun
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
      - name: time
        in: query
        description: 'Filter tutors by time availability in UTC. Possible values are: "MORNING" - 6am-9am, "MORNING_LATE" - 9am-12pm, "AFTERNOON" - 9pm-3pm, "AFTERNOON_LATE" - 3pm-6pm, "EVENING" - 6pm-9pm, "EVENING_LATE" - 9pm-12am, "NIGHT" - 12am-3am, "NIGHT_LATE" - 3am-6am'
        required: false
        schema:
          type: string
          enum:
          - MORNING
          - MORNING_LATE
          - AFTERNOON
          - AFTERNOON_LATE
          - EVENING
          - EVENING_LATE
          - NIGHT
          - NIGHT_LATE
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tutorsResponse'
      tags:
      - Chatgpt Openapi
components:
  schemas:
    User:
      type: object
      properties:
        profile:
          $ref: '#/components/schemas/Profile'
          description: User profile information
    Review:
      type: object
      properties:
        id:
          type: string
          description: ID of the review
        score:
          type: integer
          description: Review score
        content:
          type: string
          description: Review content (text)
        created:
          type: string
          description: Creation timestamp of the review
    Education:
      type: object
      properties:
        dates:
          type: string
          description: Education dates
        university:
          type: string
          description: University name
        degree:
          type: string
          description: Degree obtained
        degreeType:
          type: string
          description: Type of the degree
        tutorDocument:
          $ref: '#/components/schemas/TutorDocument'
          description: Tutor document information
    Country:
      type: object
      properties:
        name:
          type: string
          description: Name of the country
    Certificate:
      type: object
      properties:
        dates:
          type: string
          description: Certificate dates
        certificate:
          type: string
          description: Certificate name
        description:
          type: string
          description: Certificate description
        tutorDocument:
          $ref: '#/components/schemas/TutorDocument'
          description: Tutor document information
    AvailabilityRange:
      type: object
      properties:
        time:
          type: string
          description: time of the day by hours, like 08:00:00, 09:00:00
        dow:
          type: number
          description: Day of the week, 0 is Monday, 1 is Tuesday etc.
    tutorsResponse:
      type: object
      properties:
        errors:
          type: array
          description: List of errors that happened during request
          items:
            type: string
            description: Error message
        data:
          type: object
          properties:
            allTutors:
              type: object
              properties:
                totalResults:
                  type: number
                  description: Total number of tutors for user query
                tutors:
                  type: array
                  description: List of tutors
                  items:
                    type: object
                    description: Tutor
                    properties:
                      id:
                        type: number
                        description: Tutor id
                      countryOfBirth:
                        type: object
                        properties:
                          name:
                            type: string
                            description: Country of birth
                      totalLessons:
                        type: number
                        description: Total lessons taught
                      averageScore:
                        type: number
                        description: Tutor rating
                      publicUrl:
                        type: string
                        description: Public url
                      price:
                        type: object
                        properties:
                          value:
                            type: number
                            description: Amount
                          currency:
                            type: object
                            properties:
                              code:
                                type: string
                                description: Currency code
                      user:
                        type: object
                        properties:
                          fullName:
                            type: string
                            description: Full name
                          profile:
                            type: object
                            properties:
                              avatarUrlHttps:
                                type: string
                                description: Avatar url
    Price:
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/Currency'
          description: Currency information
        value:
          type: number
          description: Price value
    WorkExperience:
      type: object
      properties:
        dates:
          type: string
          description: Work experience dates
        company:
          type: string
          description: Company name
        position:
          type: string
          description: Position held
    TutorDocument:
      type: object
      properties:
        status:
          type: string
          description: Status of the tutor document
    Profile:
      type: object
      properties:
        avatarUrlHttps:
          type: string
          description: URL of the tutor's avatar
        lastSeen:
          type: string
          description: Last seen timestamp of the user
    Currency:
      type: object
      properties:
        code:
          type: string
          description: Currency code
    tutorByIDResponse:
      type: object
      properties:
        errors:
          type: array
          description: List of errors that happened during request
          items:
            type: string
            description: Error message
        data:
          type: object
          properties:
            tutor:
              type: object
              description: Tutor
              properties:
                id:
                  type: string
                  description: ID of the tutor
                fullName:
                  type: string
                  description: Full name of the tutor
                headline:
                  type: string
                  description: Short description of the tutor (bio or self presentation)
                totalLessons:
                  type: integer
                  description: Total number of lessons taught by the tutor
                lessonsBookedLast48h:
                  type: integer
                  description: Number of lessons booked in the last 48 hours
                responseTime:
                  type: string
                  description: How quick tutor responds to messages on Preply (in hours)
                videoIntro:
                  type: string
                  description: Video introduction of the tutor
                shortBio:
                  type: string
                  description: Short biography of the tutor (might be translated)
                shortBioOriginal:
                  type: string
                  description: Original short biography of the tutor
                publicUrl:
                  type: string
                  description: Public URL of the tutor's profile
                multiLanguages:
                  type: array
                  items:
                    $ref: '#/components/schemas/MultiLanguage'
                  description: Languages known by the tutor
                user:
                  $ref: '#/components/schemas/User'
                  description: More personal info about the tutor
                countryOfBirth:
                  $ref: '#/components/schemas/Country'
                  description: Country of birth of the tutor
                numberReviews:
                  type: integer
                  description: Number of reviews for the tutor
                averageScore:
                  type: number
                  description: Tutor rating
                price:
                  $ref: '#/components/schemas/Price'
                  description: Price information of the tutor
                availabilityRange:
                  $ref: '#/components/schemas/AvailabilityRange'
                  description: Availability range of the tutor (when lessons can happen)
                educations:
                  type: array
                  items:
                    $ref: '#/components/schemas/Education'
                  description: Education details of the tutor
                workExperiences:
                  type: array
                  items:
                    $ref: '#/components/schemas/WorkExperience'
                  description: Work experience details of the tutor
                certificates:
                  type: array
                  items:
                    $ref: '#/components/schemas/Certificate'
                  description: Certificate details of the tutor
                reviews:
                  type: array
                  items:
                    $ref: '#/components/schemas/Review'
                  description: Reviews of the tutor
                recommendedTutors:
                  type: array
                  description: Similart tutors to the current one
                  items:
                    $ref: '#/components/schemas/RecommendedTutor'
    RecommendedTutor:
      type: object
      properties:
        id:
          type: string
          description: ID of the recommended tutor