| Note: Access to the TalentLMS API is available on all paid plans. It is not available on the Free plan or during the Free trial. If you need help understanding how our subscription plans work, take a look at the related article. |
The TalentLMS REST API makes it easy to integrate your TalentLMS account with external systems or automate your workflows. You can retrieve data from your portal, push it to another platform, or use the available endpoints to create and manage users, branches, groups, and courses.
To start using the REST API, sign in to your TalentLMS account as an Administrator, go to Account & Settings, select the Integrations (1) tab, and click on the API (2) tile.
Enable (1) the API and make sure to copy your API key (2) — you’ll need it to authenticate your requests. Click Save (3) at the bottom when you’re done.
All API requests must be authenticated. TalentLMS uses the API Key authorization method, which means you include your API key in each request. You also need to specify the API version you’re using by adding it as a header. The version format must be YYYY-MM-DD.
There is a limit of 200 API calls per 5 seconds, so plan your requests accordingly to avoid hitting the rate limit.
This article covers Version 2 (V2) of the TalentLMS API. If you’re still using Version 1, please refer to the V1 documentation.
We provide a Postman collection for the V2 API with a full list of available endpoints and working examples. Our Postman documentation contains detailed information for each endpoint.
What can you manage with the API?
You can list and get details about users and courses, create and update users and groups, manage branches, enroll users in courses, and more. The exact paths and options for these actions are available in the Postman API documentation.
To make a request, include your API key and version in the headers (for example, X-API-Key: your_api_key and X-API-Version: 2025-01-01), and send your call to the appropriate endpoint listed in the documentation.
If you run into any errors, check that your API key is enabled and included correctly in the request headers, and that your version header uses the correct format. Our API returns verbose error messages, so setting up error handling in your API script is recommended to help with troubleshooting and API errors.
What makes V2 better?
1) Better change control
- With v2, every request includes an API version. This lets your integration “lock in” a specific version of behavior so changes can be adopted on your schedule, not unexpectedly.
2) More reliable syncing for large data
- v2 uses a consistent approach for retrieving large lists (paging results in smaller chunks). This reduces the risk of timeouts and makes large “nightly sync” jobs more dependable.
3) Batch endpoints for bulk operations (major benefit for custom integrations)
- v2 includes dedicated batch endpoints for high-volume work such as:
- bulk user upserts (create/update many users in one call),
- bulk course upserts,
- bulk enrollments.
4) Clearer operational limits
- v2 returns clear rate limit information in response headers, so your integration can automatically slow down when needed and avoid disruption.
5) More consistent responses
- v2 responses follow a consistent structure, which makes integrations easier to build and maintain (less special-case logic per endpoint).
6) Clear, structured error responses (easier troubleshooting)
v2 provides specific, structured error responses with clear error codes. This makes it easier for integration teams (and support teams) to:
- understand what went wrong,
- distinguish “bad request” vs “not authorized” vs “too large request”, etc.
- build reliable retry/alerting logic based on consistent error codes.
7) Clear, REST-style endpoint naming
v2 uses clear, consistent endpoint paths based on REST-style naming conventions (resource-oriented paths). In practice, this makes endpoints easier to understand and navigate (for example: users-related actions are under a users path, courses under a courses path, etc.).
8)Uses standard HTTP methods consistently
v2 defines endpoints using the common REST pattern of GET / POST / PATCH / DELETE for reading/creating/updating/deleting resources (v1 is more mixed and often relies on URL patterns/arguments).