openapi: 3.0.1 info: title: Thinkific Admin Bundles Course Reviews API description: Thinkific's public API can be used to integrate your application with your Thinkific site. termsOfService: https://www.thinkific.com/legal/ contact: email: developers@thinkific.com version: v1 servers: - url: https://api.thinkific.com/api/public/v1 security: - OAuthAccessToken: [] - ApiKey: [] ApiKeySubdomain: [] tags: - name: Course Reviews description: Course Reviews operations paths: /course_reviews: get: tags: - Course Reviews summary: Get Course Reviews description: Retrieve a list of Course Reviews operationId: getCourseReviews parameters: - name: course_id in: query description: ID of the Course in the form of an integer. required: true schema: type: number - name: page in: query description: The page within the collection to fetch. schema: type: number default: 1.0 - name: limit in: query description: The number of items to be returned. schema: type: number default: 25.0 - name: approved in: query description: If true, returns only approved Course Reviews. schema: type: boolean responses: 200: description: CourseReviews content: application/json: schema: $ref: '#/components/schemas/GetCourseReviewsResponse' 403: $ref: '#/components/responses/ErrorForbiddenAppsNotAvailableResponse' post: tags: - Course Reviews summary: Create a course review description: Create a course review operationId: createCourseReview parameters: - name: course_id in: query description: ID of the Course for which the review needs to be created for. required: true schema: type: number requestBody: description: Course Review Attributes content: application/json: schema: $ref: '#/components/schemas/CreateCourseReviewRequest' required: true responses: 201: description: Course Review Created content: application/json: schema: $ref: '#/components/schemas/CourseReviewResponse' 403: $ref: '#/components/responses/ErrorForbiddenAppsNotAvailableResponse' 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorNotFound' 422: description: UnprocessableEntity content: application/json: schema: $ref: '#/components/schemas/UnprocessableEntityError' example: errors: user_id: - can't be blank x-codegen-request-body-name: body /course_reviews/{id}: get: tags: - Course Reviews summary: Get Course Reviews By ID description: Retrieve a Course Review identified by the provided id. operationId: getCourseReviewByID parameters: - name: id in: path description: ID of the Course Review in the form of an integer. required: true schema: type: number responses: 200: description: CourseReviewByID content: application/json: schema: $ref: '#/components/schemas/CourseReviewResponse' 403: $ref: '#/components/responses/ErrorForbiddenAppsNotAvailableResponse' 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorNotFound' components: schemas: CreateCourseReviewRequest: required: - approved - rating - review_text - title - user_id type: object properties: rating: type: number description: The rating, out of 5, of the Course Review. example: 4.0 title: type: string description: The Course Review title. example: My Review review_text: type: string description: The body of the Course Review. example: It was great! user_id: type: number description: The ID of the User writing the Course Review as an integer. example: 1.0 approved: type: boolean description: A boolean indicating whether the Course Review has been approved. example: true ValidationError: type: object properties: field_name: type: string description: validation error Meta: type: object properties: pagination: $ref: '#/components/schemas/Pagination' ErrorForbiddenAppsNotAvailable: type: object properties: error: type: string description: access forbidden example: error: Access to Apps is not available on your plan. Upgrade to gain access CourseReviewResponse: required: - approved - course_id - id - rating - review_text - title - user_id type: object properties: id: type: number description: The ID of the Course Review as an integer. example: 1.0 rating: type: number description: The rating, out of 5, of the Course Review. example: 4.0 title: type: string description: The Course Review title. example: My Review review_text: type: string description: The body of the Course Review. example: It was great! user_id: type: number description: The ID of the User writing the Course Review as an integer. example: 1.0 course_id: type: number description: The ID of the Course being reviewed as an integer. example: 1.0 approved: type: boolean description: A boolean indicating whether the Course Review has been approved. example: true created_at: type: string description: The date and time the Course Review was created. format: date-time example: '2017-04-30T01:00:00Z' ErrorNotFound: type: object properties: error: type: string description: item not found error example: error: Record not found. GetCourseReviewsResponse: required: - items - meta type: object properties: items: type: array items: $ref: '#/components/schemas/CourseReviewResponse' meta: $ref: '#/components/schemas/Meta' UnprocessableEntityError: type: object properties: errors: type: array items: $ref: '#/components/schemas/ValidationError' Pagination: type: object properties: current_page: type: number description: Current page number example: 1.0 next_page: type: number description: Next page number example: 2.0 prev_page: type: number description: Previous page number total_pages: type: number description: Number of total pages example: 10.0 total_items: type: number description: Number of total items example: 250.0 entries_info: type: string description: Entries info example: 1-10 of 10 description: Pagination metadata responses: ErrorForbiddenAppsNotAvailableResponse: description: Access Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorForbiddenAppsNotAvailable' securitySchemes: OAuthAccessToken: type: http scheme: bearer ApiKey: type: apiKey in: header name: X-Auth-API-Key description: Used together with ApiKeySubdomain ApiKeySubdomain: type: apiKey in: header name: X-Auth-Subdomain description: Used together with ApiKey externalDocs: description: Find out more about Thinkifc's API url: http://developers.thinkific.com/api/api-documentation/