{
  "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
}