Skip to main content

Quick Start

This guide will help you understand the basics of creating courses using the Thought Industries API.

Prerequisites

Before you begin, ensure you have:

  • API credentials (Bearer token)
  • Access to your Thought Industries instance
  • Basic understanding of REST API concepts
  • A tool for making HTTP requests (Postman, cURL, or similar)

Endpoint Overview

The course creation API allows you to programmatically create learning content on the Thought Industries platform.

Base Endpoint:

POST https://{your-instance-url}/incoming/v2/content/course/create

Quick Start Example

Here's a simple example to create a basic course:

curl -X POST "https://{your-instance-url}/incoming/v2/content/course/create" \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-d '{
"courseAttributes": [
{
"title": "My First Course",
"kind": "courseGroup",
"availableToPublic": true,
"sections": [
{
"title": "Introduction",
"lessons": [
{
"title": "Welcome",
"openType": "studentsOnly",
"topics": [
{
"title": "Getting Started",
"type": "text",
"body": "<p>Welcome to the course!</p>"
}
]
}
]
}
]
}
]
}'

Response

Successful creation returns an array of course IDs:

["course-abc123"]

Understanding the Structure

Required Fields

Course Hierarchy

For structured courses (kind: "courseGroup"):

Course
└─ Sections
└─ Lessons
└─ Topics

Each level is required for proper course structure.

Next Steps

Common Issues

Missing Structure

If you don't provide sections/lessons/topics, a default structure is created, but it's better to define it explicitly.

Date Validation

If you specify dates, ensure:

  • enrollmentStartDate < enrollmentEndDate
  • courseStartDate < courseEndDate
  • Dates are in ISO 8601 format (e.g., 2024-01-15T00:00:00Z)

Authentication

All requests require a valid Bearer token in the Authorization header.