curl --request GET \
--url https://api.kombo.dev/v1/lms/courses \
--header 'Authorization: Bearer <token>'{
"status": "success",
"data": {
"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=",
"results": [
{
"id": "3KMdr68N8kG9EzLwjsN9aoz",
"remote_id": "42",
"title": "TypeScript for Beginners",
"description": "A comprehensive introduction to TypeScript programming, covering types, interfaces, generics, and best practices for modern web development.",
"url": "https://learning.acme.com/courses/typescript-beginners",
"remote_created_at": "2022-08-07T14:01:29.196Z",
"skills": [
{
"name": "TypeScript Programming",
"skill_level": "Beginner"
},
{
"name": "JavaScript Fundamentals",
"skill_level": "Intermediate"
}
],
"ordered_content": [
{
"id": "8DMdr68N8kG9EzLwjsN9content1",
"remote_id": "101",
"title": "Introduction to TypeScript",
"description": "Learn what TypeScript is and why it matters",
"url": "https://learning.acme.com/courses/typescript-beginners/intro",
"type": "VIDEO",
"remote_created_at": "2022-08-07T14:01:29.196Z"
},
{
"id": "9EMdr68N8kG9EzLwjsN9content2",
"remote_id": "102",
"title": "Basic Types",
"description": "Understanding TypeScript type system",
"url": "https://learning.acme.com/courses/typescript-beginners/types",
"type": "TEXT",
"remote_created_at": "2022-08-07T14:01:29.196Z"
},
{
"id": "1FMdr68N8kG9EzLwjsN9content3",
"remote_id": "103",
"title": "Types Quiz",
"description": "Test your understanding of TypeScript types",
"url": "https://learning.acme.com/courses/typescript-beginners/quiz-1",
"type": "QUIZ",
"remote_created_at": "2022-08-07T14:01:29.196Z"
}
],
"changed_at": "2022-08-07T14:01:29.196Z",
"remote_deleted_at": null,
"remote_data": null
}
]
}
}Get courses
curl --request GET \
--url https://api.kombo.dev/v1/lms/courses \
--header 'Authorization: Bearer <token>'{
"status": "success",
"data": {
"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=",
"results": [
{
"id": "3KMdr68N8kG9EzLwjsN9aoz",
"remote_id": "42",
"title": "TypeScript for Beginners",
"description": "A comprehensive introduction to TypeScript programming, covering types, interfaces, generics, and best practices for modern web development.",
"url": "https://learning.acme.com/courses/typescript-beginners",
"remote_created_at": "2022-08-07T14:01:29.196Z",
"skills": [
{
"name": "TypeScript Programming",
"skill_level": "Beginner"
},
{
"name": "JavaScript Fundamentals",
"skill_level": "Intermediate"
}
],
"ordered_content": [
{
"id": "8DMdr68N8kG9EzLwjsN9content1",
"remote_id": "101",
"title": "Introduction to TypeScript",
"description": "Learn what TypeScript is and why it matters",
"url": "https://learning.acme.com/courses/typescript-beginners/intro",
"type": "VIDEO",
"remote_created_at": "2022-08-07T14:01:29.196Z"
},
{
"id": "9EMdr68N8kG9EzLwjsN9content2",
"remote_id": "102",
"title": "Basic Types",
"description": "Understanding TypeScript type system",
"url": "https://learning.acme.com/courses/typescript-beginners/types",
"type": "TEXT",
"remote_created_at": "2022-08-07T14:01:29.196Z"
},
{
"id": "1FMdr68N8kG9EzLwjsN9content3",
"remote_id": "103",
"title": "Types Quiz",
"description": "Test your understanding of TypeScript types",
"url": "https://learning.acme.com/courses/typescript-beginners/quiz-1",
"type": "QUIZ",
"remote_created_at": "2022-08-07T14:01:29.196Z"
}
],
"changed_at": "2022-08-07T14:01:29.196Z",
"remote_deleted_at": null,
"remote_data": null
}
]
}
}Filter by a comma-separated list of IDs such as 222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3.
Filter by a comma-separated list of remote IDs.
Filter by the title field. Can be used to find courses by keywords present in the course title.
GET /lms/courses Positive response
"success"Show child attributes
Cursor string that can be passed to the cursor query parameter to get the next page. If this is null, then there are no more pages.
Show child attributes
The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
The title of the course.
A description of the course.
URL where the course can be accessed.
The date and time the object was created in the remote system.
Ordered list of content items that make up this course.
Show child attributes
The Kombo ID of the content item.
The remote ID of the content item.
The title of the content item.
A description of the content item.
URL where the content can be accessed.
The type of learning content.
COACHING, VIDEO, TEXT, QUIZ The date and time the object was created in the remote system.
The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the updated_after parameter which will return records when either the record itself OR its related models have been updated.
Date when the course was deleted.
Includes the data fetched from the remote system. Please be aware that including this in you scope config might violate other scopes that are set.
Remote data always has the endpoint path that we got the data from as the
top level key. For example, it could look like: { "/companies": { ... }}
This is not available on all plans. Reach out to Kombo if you need it.
Was this page helpful?