Thought Industries website screenshot

Thought Industries

Thought Industries is a B2B learning platform (LMS/LXP) providing REST and GraphQL APIs for programmatic access to courses, users, enrollments, content management, and reporting. Their developer portal enables integration of learning experiences into enterprise workflows with webhook support and comprehensive API coverage for user lifecycle, content, and analytics.

2 APIs 0 Features
EducationLearningLMSLXPE-LearningTraining

APIs

Thought Industries REST API

The Thought Industries REST API v1 provides programmatic access to users, enrollments, courses, groups, content, categories, bundles, reports, and learning paths. Authentication...

Thought Industries GraphQL API

The Thought Industries GraphQL API provides flexible querying of platform data including courses, users, content, and enrollments. Available at /incoming/api/graphql with schema...

Collections

GraphQL

Thought Industries GraphQL API

The Thought Industries GraphQL API provides flexible querying of platform data including courses, users, content, and enrollments. Available at /incoming/api/graphql with schema...

GRAPHQL

Pricing Plans

Rate Limits

Thought Industries Rate Limits

5 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Thought Industries Context

20 classes · 0 properties

JSON-LD

API Governance Rules

Thought Industries API Rules

8 rules · 3 errors 5 warnings

SPECTRAL

JSON Structure

Thought Industries User Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🌐
DeveloperPortal
DeveloperPortal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
Webhooks
Webhooks
💬
Support
Support

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Thought Industries REST API
  version: '1.0'
request:
  auth:
    type: apikey
    key: X-API-Key
    value: '{{X-API-Key}}'
    placement: header
items:
- info:
    name: Users
    type: folder
  items:
  - info:
      name: List Users
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/users
      params:
      - name: page
        value: ''
        type: query
        description: Page number for pagination.
      - name: per_page
        value: ''
        type: query
        description: Number of records per page (max 100).
      - name: email
        value: ''
        type: query
        description: Filter users by email address.
    docs: Returns a paginated list of all users in the tenant. Default page size is 25. Use page and per_page parameters for
      pagination.
  - info:
      name: Create User
      type: http
    http:
      method: POST
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/users
      body:
        type: json
        data: '{}'
    docs: Creates a new user in the tenant. Email must be unique per tenant.
  - info:
      name: Get User
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/users/:id
      params:
      - name: id
        value: ''
        type: path
        description: User ID.
    docs: Returns details for a single user by ID.
  - info:
      name: Update User
      type: http
    http:
      method: PUT
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/users/:id
      params:
      - name: id
        value: ''
        type: path
        description: User ID.
      body:
        type: json
        data: '{}'
    docs: Updates a user record. Full object replacement semantics apply. To deactivate a user, set active to false.
  - info:
      name: Delete User
      type: http
    http:
      method: DELETE
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/users/:id
      params:
      - name: id
        value: ''
        type: path
        description: User ID.
    docs: Permanently deletes a user. Deactivation is preferred over deletion.
- info:
    name: Enrollments
    type: folder
  items:
  - info:
      name: Get User Enrollments
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/users/:id/enrollments
      params:
      - name: id
        value: ''
        type: path
        description: User ID.
      - name: page
        value: ''
        type: query
      - name: per_page
        value: ''
        type: query
    docs: Returns course enrollment data for a specific user.
  - info:
      name: Enroll User in Course
      type: http
    http:
      method: POST
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/courses/:courseId/enrollments
      params:
      - name: courseId
        value: ''
        type: path
        description: Course ID.
      body:
        type: json
        data: '{}'
    docs: Enrolls a user in a course. The course must be published and the user must be active before calling this endpoint.
  - info:
      name: Bulk Remove User Access
      type: http
    http:
      method: POST
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/courses/:courseId/enrollments/bulk-remove
      params:
      - name: courseId
        value: ''
        type: path
        description: Course ID.
      body:
        type: json
        data: '{}'
    docs: Removes access for multiple learners from a course or learning path without affecting their existing access elsewhere.
- info:
    name: Courses
    type: folder
  items:
  - info:
      name: List Courses
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/courses
      params:
      - name: page
        value: ''
        type: query
      - name: per_page
        value: ''
        type: query
      - name: status
        value: ''
        type: query
        description: Filter by course status.
    docs: Returns a paginated list of all courses in the tenant.
  - info:
      name: Get Course
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/courses/:courseId
      params:
      - name: courseId
        value: ''
        type: path
        description: Course ID.
    docs: Returns details for a specific course.
- info:
    name: Groups
    type: folder
  items:
  - info:
      name: List Groups
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/groups
      params:
      - name: page
        value: ''
        type: query
      - name: per_page
        value: ''
        type: query
    docs: Returns a paginated list of all user groups.
  - info:
      name: Add User to Group
      type: http
    http:
      method: POST
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/groups/:groupId/users
      params:
      - name: groupId
        value: ''
        type: path
        description: Group ID.
      body:
        type: json
        data: '{}'
    docs: Assigns a user to an existing group.
- info:
    name: Content
    type: folder
  items:
  - info:
      name: List Content
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/content
      params:
      - name: page
        value: ''
        type: query
      - name: per_page
        value: ''
        type: query
      - name: content_type
        value: ''
        type: query
        description: Filter by content type.
    docs: Returns a paginated list of learning content items.
  - info:
      name: List Categories
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/categories
    docs: Returns all content categories defined in the tenant.
- info:
    name: Reports
    type: folder
  items:
  - info:
      name: Get Learning Path Actions Report
      type: http
    http:
      method: GET
      url: https://{subdomain}.thoughtindustries.com/incoming/api/v1/reports/learning-path-actions
      params:
      - name: start_date
        value: ''
        type: query
        description: Report start date.
      - name: end_date
        value: ''
        type: query
        description: Report end date.
      - name: page
        value: ''
        type: query
    docs: Returns learning path enrollment actions including Panorama enrollments and main site enrollments.
bundled: true