> ## Documentation Index
> Fetch the complete documentation index at: https://help.hoopai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Import Courses

> Import Courses through public channels



## OpenAPI

````yaml /api-reference/courses/openapi.json post /courses/courses-exporter/public/import
openapi: 3.0.0
info:
  title: Courses API
  description: API Service for Courses and Memberships in the HoopAI Platform.
  version: '1.0'
  contact: {}
servers:
  - url: https://services.leadconnectorhq.com
security: []
tags:
  - name: Courses
    description: API Service for Courses and Memberships in the HoopAI Platform.
paths:
  /courses/courses-exporter/public/import:
    post:
      tags:
        - Courses
      summary: Import Courses
      description: Import Courses through public channels
      operationId: import-courses
      parameters:
        - name: Version
          in: header
          description: API Version
          required: true
          schema:
            type: string
            enum:
              - '2021-07-28'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicExporterPayload'
      responses:
        '201':
          description: Courses imported successfully.
      security:
        - bearer: []
components:
  schemas:
    PublicExporterPayload:
      type: object
      properties:
        locationId:
          type: string
        userId:
          type: string
        products:
          type: array
          items:
            $ref: '#/components/schemas/ProductInterface'
      required:
        - locationId
        - products
    ProductInterface:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        imageUrl:
          type: string
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryInterface'
        instructorDetails:
          $ref: '#/components/schemas/InstructorDetails'
      required:
        - title
        - description
        - categories
    CategoryInterface:
      type: object
      properties:
        title:
          type: string
        visibility:
          $ref: '#/components/schemas/visibility'
        thumbnailUrl:
          type: string
        posts:
          type: array
          items:
            $ref: '#/components/schemas/PostInterface'
        subCategories:
          type: array
          items:
            $ref: '#/components/schemas/SubCategoryInterface'
      required:
        - title
        - visibility
    InstructorDetails:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
      required:
        - name
        - description
    visibility:
      type: string
      enum:
        - published
        - draft
    PostInterface:
      type: object
      properties:
        title:
          type: string
        visibility:
          $ref: '#/components/schemas/visibility'
        thumbnailUrl:
          type: string
        contentType:
          $ref: '#/components/schemas/contentType'
        description:
          type: string
        bucketVideoUrl:
          type: string
        postMaterials:
          type: array
          items:
            $ref: '#/components/schemas/PostMaterialInterface'
      required:
        - title
        - visibility
        - contentType
        - description
    SubCategoryInterface:
      type: object
      properties:
        title:
          type: string
        visibility:
          $ref: '#/components/schemas/visibility'
        thumbnailUrl:
          type: string
        posts:
          type: array
          items:
            $ref: '#/components/schemas/PostInterface'
      required:
        - title
        - visibility
    contentType:
      type: string
      enum:
        - video
        - assignment
        - quiz
    PostMaterialInterface:
      type: object
      properties:
        title:
          type: string
        type:
          $ref: '#/components/schemas/type'
        url:
          type: string
      required:
        - title
        - type
        - url
    type:
      type: string
      enum:
        - pdf
        - image
        - docx
        - pptx
        - xlsx
        - html
        - dotx
        - epub
        - webp
        - gdoc
        - mp3
        - doc
        - txt
        - zip
        - ppt
        - key
        - htm
        - xls
        - odp
        - odt
        - rtf
        - m4a
        - ods
        - mp4
        - ai
        - avi
        - mov
        - wmv
        - mkv
        - wav
        - flac
        - ogg
        - png
        - jpeg
        - jpg
        - gif
        - bmp
        - tiff
        - svg
        - odg
        - sxw
        - sxc
        - sxi
        - rar
        - 7z
        - json
        - xml
        - csv
        - md
        - obj
        - stl
        - woff
        - ttf
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Use the Access Token generated with user type as Sub-Account (OR)
        Private Integration Token of Sub-Account.
      type: http

````