Skip to main content
The Courses API lets you programmatically import and manage online courses, lesson content, categories, and membership products on the HoopAI Platform. Use it to migrate existing course libraries into the platform, automate content updates, and keep your membership product catalog in sync with external systems. The API supports rich course structures including nested categories, sub-categories, individual lesson posts, attached materials, and instructor details — giving you full control over how courses are organized and delivered to your members.

Base URL

https://services.leadconnectorhq.com

Authentication

All requests require a Bearer token in the Authorization header. Obtain tokens through the OAuth 2.0 flow.
Authorization: Bearer <access_token>
Version: 2021-07-28
The Version header is required on every request and must be set to 2021-07-28.

OAuth scopes

ScopeAccess
courses.readonlyRead course data, categories, and lesson content
courses.writeFull read and write access including import and update operations

Quick start

Import a course into a location:
curl --request POST \
  --url 'https://services.leadconnectorhq.com/courses/courses-exporter/public/import' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Version: 2021-07-28' \
  --header 'Content-Type: application/json' \
  --data '{
    "locationId": "YOUR_LOCATION_ID",
    "products": [
      {
        "title": "Intro to Basketball Analytics",
        "description": "A foundational course on basketball data and analytics.",
        "categories": [
          {
            "title": "Module 1 — Fundamentals",
            "visibility": "published",
            "posts": [
              {
                "title": "Lesson 1 — Reading the Box Score",
                "visibility": "published",
                "contentType": "video",
                "description": "Learn how to interpret standard box score statistics."
              }
            ]
          }
        ]
      }
    ]
  }'

Endpoints

MethodPathDescription
POST/courses/courses-exporter/public/importImport one or more courses into a location

Course structure

When importing courses, the request body follows a nested structure:
FieldTypeDescription
locationIdstringThe location to import courses into
userIdstringOptional. The user performing the import
productsarrayArray of course product objects
products[].titlestringCourse title
products[].descriptionstringCourse description
products[].imageUrlstringCourse thumbnail URL
products[].categoriesarrayTop-level categories (modules)
products[].instructorDetailsobjectInstructor name and description
categories[].titlestringCategory (module) title
categories[].visibilitystringpublished or draft
categories[].postsarrayLessons within this category
categories[].subCategoriesarrayNested sub-categories
posts[].titlestringLesson title
posts[].contentTypestringvideo, assignment, or quiz
posts[].visibilitystringpublished or draft
posts[].descriptionstringLesson description
posts[].bucketVideoUrlstringVideo URL for video lessons
posts[].postMaterialsarrayDownloadable materials attached to the lesson
Last modified on March 4, 2026