openapi: 3.1.0 info: title: Thought Industries REST Content API description: The Thought Industries REST API v1 provides programmatic access to the Thought Industries B2B learning platform. Enables management of users, courses, enrollments, groups, content, categories, bundles, and reporting. Authentication uses API key via X-API-Key header or apiKey query parameter. Base URL is tenant-scoped per subdomain. version: '1.0' contact: url: https://developer.thoughtindustries.com/ termsOfService: https://www.thoughtindustries.com/ license: name: Commercial url: https://www.thoughtindustries.com/ servers: - url: https://{subdomain}.thoughtindustries.com/incoming/api/v1 description: Thought Industries REST API v1 (tenant-scoped) variables: subdomain: default: yourtenant description: Your Thought Industries tenant subdomain security: - ApiKeyHeader: [] - ApiKeyQuery: [] tags: - name: Content description: Learning content and categories paths: /content: get: operationId: listContent summary: List Content description: Returns a paginated list of learning content items. tags: - Content parameters: - name: page in: query schema: type: integer default: 1 - name: per_page in: query schema: type: integer default: 25 - name: content_type in: query schema: type: string description: Filter by content type. responses: '200': description: List of content items content: application/json: schema: $ref: '#/components/schemas/ContentListResponse' /categories: get: operationId: listCategories summary: List Categories description: Returns all content categories defined in the tenant. tags: - Content responses: '200': description: List of categories content: application/json: schema: $ref: '#/components/schemas/CategoryListResponse' components: schemas: Category: type: object properties: id: type: string name: type: string parent_id: type: string ContentListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/ContentItem' meta: $ref: '#/components/schemas/PaginationMeta' ContentItem: type: object properties: id: type: string title: type: string content_type: type: string category_id: type: string status: type: string created_at: type: string format: date-time PaginationMeta: type: object properties: total: type: integer page: type: integer per_page: type: integer total_pages: type: integer CategoryListResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/Category' securitySchemes: ApiKeyHeader: type: apiKey in: header name: X-API-Key description: API key passed as X-API-Key request header. ApiKeyQuery: type: apiKey in: query name: apiKey description: API key passed as apiKey query parameter. externalDocs: description: Thought Industries Developer Portal url: https://developer.thoughtindustries.com/