Skip to main content
POST
/
lms
/
content
Add content to course
curl --request POST \
  --url https://api.kombo.dev/v1/lms/content \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "course_id": "<string>",
  "title": "<string>",
  "description": "<string>",
  "url": "<string>",
  "type": "COACHING"
}'
{
"status": "success",
"data": {
"id": "8DMdr68N8kG9EzLwjsN9content1",
"remote_id": "101",
"title": "Understanding Async/Await",
"description": "Deep dive into asynchronous programming patterns in TypeScript, covering promises, async/await syntax, and error handling.",
"url": "https://learning.acme.com/courses/typescript-advanced/async-await",
"type": "VIDEO",
"course_id": "9ZMdr68N8kG9EzLwjsN9def",
"remote_created_at": "2022-08-07T14:01:29.196Z",
"changed_at": "2022-08-07T14:01:29.196Z",
"remote_data": null
}
}

Authorizations

Authorization
string
header
required

Create an API key on the Secrets page in the Kombo dashboard.

Body

application/json

POST /lms/content Request body

course_id
string
required

The ID of the course to add this content to

title
string
required

The title of the content item

type
enum<string>
required

The type of learning content

Available options:
COACHING,
VIDEO,
TEXT,
QUIZ
description
string | null

A description of the content item

url
string | null

URL where the content can be accessed

Response

POST /lms/content Positive response

status
string
required
Allowed value: "success"
data
object
required
Examples:
{
"id": "8DMdr68N8kG9EzLwjsN9content1",
"remote_id": "101",
"title": "Understanding Async/Await",
"description": "Deep dive into asynchronous programming patterns in TypeScript, covering promises, async/await syntax, and error handling.",
"url": "https://learning.acme.com/courses/typescript-advanced/async-await",
"type": "VIDEO",
"course_id": "9ZMdr68N8kG9EzLwjsN9def",
"remote_created_at": "2022-08-07T14:01:29.196Z",
"changed_at": "2022-08-07T14:01:29.196Z",
"remote_data": null
}