openapi: 3.2.0 info: title: Teachable OAuth Current User API description: OAuth 2.0-based API enabling third-party applications to authenticate on behalf of Teachable school owners. Provides access to current user profile, courses, lecture content, progress, and video assets using scoped OAuth tokens with token refresh and revocation support. version: '1' contact: name: Teachable Support url: https://support.teachable.com email: support@teachable.com termsOfService: https://teachable.com/terms-of-use servers: - url: https://developers.teachable.com/v1 description: Teachable OAuth API security: - OAuth2: - courses:read tags: - name: Current User description: Endpoints for the authenticated current user paths: /current_user/me: get: operationId: getCurrentUser summary: Get current user profile description: Retrieve the current authenticated user's profile information including name, email, and assigned role. tags: - Current User security: - OAuth2: - name:read - email:read - AccessToken: [] responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/CurrentUserResponse' '401': description: Unauthorized - invalid or expired access token content: application/json: schema: $ref: '#/components/schemas/OAuthErrorResponse' '403': description: Forbidden - not authorized to access this endpoint content: application/json: schema: $ref: '#/components/schemas/OAuthErrorResponse' components: schemas: CurrentUserResponse: type: object properties: name: type: - string - 'null' description: The name of the user. email: type: string description: The email address of the user. role: type: string enum: - student - owner - author - affiliate description: The role of the user. OAuthErrorResponse: type: object properties: error: type: string description: Error code (e.g., invalid_token, access_forbidden, resource_not_found, unmet_requirements). error_description: type: string description: Human-readable error description. securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://developers.teachable.com/oauth/authorize tokenUrl: https://developers.teachable.com/oauth/token scopes: name:read: Read the current user's name email:read: Read the current user's email address courses:read: Read courses and course content courses:update: Update course progress AccessToken: type: apiKey in: header name: Authorization description: Bearer access token for OAuth authenticated requests.