TalentLMS Course API
The Course API from TalentLMS — 6 operation(s) for course.
The Course API from TalentLMS — 6 operation(s) for course.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/talentlms-course-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: TalentLMS Public Course API
description: TalentLMS offers a range of API endpoints and resources designed to integrate TalentLMS with your internal systems seamlessly.
version: 1.0.0
servers:
- url: https://your-domain.talentlms.com
security:
- apikeyAuth: []
tags:
- name: Course
paths:
/api/v2/courses:
get:
tags:
- Course
summary: List all courses
description: '### List all courses
Retrieves a paginated list of all courses in your TalentLMS account. Upon a successful request, the API returns a JSON response containing course objects, including their associated metadata and configuration details. Results are delivered in a paginated format to ensure efficient handling of large datasets. You can optionally filter the response using course custom fields.'
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
responses:
200:
description: Successful response
content:
application/json: {}
operationId: getApiV2Courses
x-operation-id-source: derived
post:
tags:
- Course
summary: Create course
description: '### Create course
Creates a new course in your TalentLMS account. To successfully create a course, provide the required attributes (such as the course name, code, and other relevant details) in the request body. If the request is valid, the API creates the course and returns the newly created course object, including its unique ID. This endpoint allows you to define course properties such as description, category, pricing, visibility, and other configuration settings depending on your account setup.'
requestBody:
content:
application/json:
schema:
type: object
example:
name: <string>
code: <string>
description: <string>
category_id: <integer>
price: <float>
capacity: <integer>
level: <integer>
time_limit: <integer>
start_datetime: <timestamp>
expiration_datetime: <timestamp>
is_active: <boolean>
custom_fields:
<custom_field_name>: <custom_field_value>
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
responses:
200:
description: Successful response
content:
application/json: {}
operationId: postApiV2Courses
x-operation-id-source: derived
/api/v2/courses/:id:
get:
tags:
- Course
summary: Get a course
description: '### Get a course
Retrieves the full details of a specific course. To successfully fetch a course, include the course’s unique ID as a path parameter in the request URL. If the request is valid and the course exists, the API returns detailed information about the course, including its metadata, settings, and related attributes.'
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
responses:
200:
description: Successful response
content:
application/json: {}
operationId: getApiV2Courses:id
x-operation-id-source: derived
delete:
tags:
- Course
summary: Delete a course
description: '### Delete a course
Permanently deletes a specific course from your TalentLMS account. To successfully remove a course, include the course’s unique ID as a path parameter in the request URL. If the request is valid and the course exists, the API deletes the course and returns a 204 No Content response upon success.'
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
responses:
200:
description: Successful response
content:
application/json: {}
operationId: deleteApiV2Courses:id
x-operation-id-source: derived
/api/v2/enrollments:
post:
tags:
- Course
summary: Enroll user to course
description: '### Enroll user to course
Enrolls a user into a specific course. To create an enrollment, provide the user’s unique ID using the user_id attribute and the course’s unique **I**D using the course_id attribute in the request body. If the request is valid and both the user and course exist, the API creates the enrollment and returns the enrollment details in the response.'
requestBody:
content:
application/json:
schema:
type: object
example:
course_id: <integer>
user_id: <integer>
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
- name: Content-Type
in: header
schema:
type: string
example: application/json
responses:
200:
description: Successful response
content:
application/json: {}
operationId: postApiV2Enrollments
x-operation-id-source: derived
delete:
tags:
- Course
summary: Delete a user from a course
description: '### Delete a user from a course
Removes a user’s enrollment from a specific course. To successfully unenroll a user, provide the user’s unique ID using the `user_id` attribute and the course’s unique ID using the `course_id` attribute. If the request is valid and the enrollment exists, the API deletes the enrollment and removes the user’s access to the course.'
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
- name: Content-Type
in: header
schema:
type: string
example: application/json
responses:
200:
description: Successful response
content:
application/json: {}
operationId: deleteApiV2Enrollments
x-operation-id-source: derived
/api/v2/courses/:course_id/users/:user_id/goto:
get:
tags:
- Course
summary: Goto Course
description: '### Goto Course
Provided the course & user ID a goto url is returned for accessing the course with the specified ID. Optionally, the user is able to provide the encoded redirection urls when a user logs out or completes the course.'
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
- name: logout_redirect
in: query
schema:
type: string
example: <base64_encoded_url>
- name: course_completed_redirect
in: query
schema:
type: string
example: <base64_encoded_url>
responses:
200:
description: Successful response
content:
application/json: {}
operationId: getApiV2Courses:courseIdUsers:userIdGoto
x-operation-id-source: derived
/api/v2/course-fields:
get:
tags:
- Course
summary: Get course custom fields
description: '### Get course custom fields
Retrieves a paginated list of all custom fields defined for courses. Upon a successful request, the API returns a JSON response containing the available custom course fields, including their configuration details and metadata. Results are returned in a paginated format to support efficient data retrieval.'
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
responses:
200:
description: Successful response
content:
application/json: {}
operationId: getApiV2CourseFields
x-operation-id-source: derived
/api/v2/courses/:id/purchase:
post:
tags:
- Course
summary: Purchase a course
description: '### Purchase a course
Provided the course ID in the endpoint''s path and the user ID in the request''s body a course can be purchased for this specific user. Optionally, you can specify the redirection url if the purchase is cancelled or succeeded and you can also provide a coupon key.'
requestBody:
content:
application/json:
schema:
type: object
example:
user_id: <integer>
cancel_path: <string>
return_path: <string>
coupon: <string|null>
parameters:
- name: X-API-Version
in: header
schema:
type: string
example: '{{apiVersion}}'
- name: Content-Type
in: header
schema:
type: string
example: application/json
responses:
200:
description: Successful response
content:
application/json: {}
operationId: postApiV2Courses:idPurchase
x-operation-id-source: derived
components:
securitySchemes:
apikeyAuth:
type: apiKey
in: header
name: X-API-Key