SkillAgentSearch skills...

Thinkific

A ruby wrapper for thinkific Rest APIs

Install / Use

/learn @rahulsingh321/Thinkific
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Thinkific REST API wrapper for Ruby

Thinkific REST API wrapper for Ruby simplifies interaction with the Thinkific API, allowing developers to seamlessly integrate Thinkific's powerful e-learning platform into their Ruby applications. Whether you're an organization creating a tailored solution for in-house use, an agency crafting customized learning experiences for clients, or an app developer aiming to build apps for the Thinkific App Store, this wrapper provides a convenient and efficient way to leverage Thinkific's capabilities.

Key Features

  • Streamlined API Interactions in Ruby: Easily communicate with Thinkific's API using Ruby, making development tasks straightforward and efficient.

  • Simplified Authentication and Configuration: Hassle-free authentication and configuration setup for quick integration into your projects.

  • Easy Integration with Thinkific's Resources: Seamlessly integrate with Thinkific's courses, users, and other essential resources, enhancing the functionality of your applications.

Installation

Add this line to your application's Gemfile:

gem 'thinkific'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install thinkific

Usage

Table of Contents

  1. Initialize
  2. Parameters & Query
  3. Bundles
  4. Categories
  5. Category Memberships
  6. Chapters
  7. Contents
  8. Coupons
  9. Courses
  10. Course Reviews
  11. Custom Profile Field Definitions
  12. Enrollments
  13. External Orders
  14. Groups
  15. Group Analysts
  16. Group Users
  17. Instructors
  18. Orders
  19. Product Publish Request
  20. Products
  21. Promotions
  22. Site Scripts
  23. Users

<a name="initialize"></a>

Initialize

You have to create thinkific.rb file in your initializer directory and then specify client-id and secret-key of you Thinkific account. The config file looking like this.

Thinkific.config do |config|
  config.client_id = 'your-client-id'
  config.secret_key   = 'your-secret-key'
end

<a name="parameters"></a>

Parameters & Query (filters)

Explore the comprehensive set of parameters and query filters available across all Thinkific API endpoints. When using this gem, you can simply provide the required parameters as a hash in your API requests.

For detailed information about each parameter and its usage, please refer to the Thinkific API documentation. Ensure that the parameters you provide align with the specifications outlined in the official documentation to ensure accurate and successful API interactions.

<a name="bundles" href="https://developers.thinkific.com/api/api-documentation/#/Bundles">Bundles</a>


    # Retrieve a Bundles:
    Thinkific::Admin::Bundles.show(ID)

    # List all courses by Bundle ID:
    Thinkific::Admin::Bundles.list_courses(ID, parameters)

    # List all enrollments by Bundle ID:
    Thinkific::Admin::Bundles.list_enrollments(ID, parameters)

    # Create an Enrollment in a Bundle:
    Thinkific::Admin::Bundles.create_enrollment(ID, parameters)

    # Update an Enrollment in a Bundle:
    Thinkific::Admin::Bundles.update_enrollment(ID, parameters)

<a name="categories" href="https://developers.thinkific.com/api/api-documentation/#/Categories">Categories</a>


    # List all Categories:
    Thinkific::Admin::Categories.list

    # Retrieve a Categories:
    Thinkific::Admin::Categories.show(ID)

    # Create a Categories:
    Thinkific::Admin::Categories.create(parameters)

    # Update a Categories:
    Thinkific::Admin::Categories.update(ID, parameters)

    # Delete a Categories:
    Thinkific::Admin::Categories.delete(ID)

    # List all products by a Categories:
    Thinkific::Admin::Categories.list_products(ID, parameters)

<a name="category-memberships" href="https://developers.thinkific.com/api/api-documentation/#/Category%20Memberships">Category Memberships</a>


    # Create products in a Categories:
    Thinkific::Admin::CategoryMembership.create_products(ID, parameters)

    # Delete products from a Categories:
    Thinkific::Admin::CategoryMembership.delete_products(ID, parameters)

<a name="chapters" href="https://developers.thinkific.com/api/api-documentation/#/Chapters">Chapters</a>


    # Retrieve a Chapters:
    Thinkific::Admin::Chapters.show(ID)

    # List all Contents by a Chapter ID:
    Thinkific::Admin::Chapters.list_contents(ID, parameters)

<a name="contents" href="https://developers.thinkific.com/api/api-documentation/#/Contents">Contents</a>


    # Retrieve a Contents by ID:
    Thinkific::Admin::Contents.show(ID)

<a name="coupons" href="https://developers.thinkific.com/api/api-documentation/#/Coupons">Coupons</a>


    # List all Coupons:
    Thinkific::Admin::Coupons.list

    # Retrieve a Coupons:
    Thinkific::Admin::Coupons.show(ID)

    # Create a Coupons:
    Thinkific::Admin::Coupons.create(parameters)

    # Bulk Create Coupons:
    Thinkific::Admin::Coupons.create_bulk_coupon(parameters)

    # Update a Coupons:
    Thinkific::Admin::Coupons.update(ID, parameters)

    # Delete a Coupons:
    Thinkific::Admin::Coupons.delete(ID)

<a name="courses" href="https://developers.thinkific.com/api/api-documentation/#/Courses">Courses</a>


    # List all Courses:
    Thinkific::Admin::Courses.list

    # Retrieve a Courses:
    Thinkific::Admin::Courses.show(ID)

    # List Chapters by Course ID
    Thinkific::Admin::Courses.list_chapters(ID, parameters)

<a name="course-reviews" href="https://developers.thinkific.com/api/api-documentation/#/Course%20Reviews">Course Review</a>


    # List all Course Reviews:
    Thinkific::Admin::CourseReviews.list

    # Retrieve a Course Reviews:
    Thinkific::Admin::CourseReviews.show(ID)

    # Create a Course Reviews:
    Thinkific::Admin::CourseReviews.create(parameters)

<a name="custom-profile-field-definitions" href="https://developers.thinkific.com/api/api-documentation/#/Custom%20Profile%20Field%20Definitions">Custom Profile Field Definitions</a>


    # List all Custom Profile Field Definition:
    Thinkific::Admin::CustomProfileFieldDefinitions.list

<a name="enrollments" href="https://developers.thinkific.com/api/api-documentation/#/Enrollments">Enrollments</a>


    # List all Enrollments:
    Thinkific::Admin::Enrollments.list

    # Retrieve an Enrollments:
    Thinkific::Admin::Enrollments.show(ID)

    # Create a Enrollments:
    Thinkific::Admin::Enrollments.create(parameters)

    # Update a Enrollments:
    Thinkific::Admin::Enrollments.update(ID, parameters)

<a name="external-orders" href="https://developers.thinkific.com/api/api-documentation/#/External%20Orders">External Orders</a>


    # Create a External Order:
    Thinkific::Admin::ExternalOrders.create(parameters)

    # Create a Refund transaction in a External Order:
    Thinkific::Admin::ExternalOrders.refund_transaction(ID, parameters)

    # Create a Purchase transaction in a External Order:
    Thinkific::Admin::ExternalOrders.purchase_transaction(ID, parameters)

<a name="groups" href="https://developers.thinkific.com/api/api-documentation/#/Groups">Groups</a>


    # List all Groups:
    Thinkific::Admin::Groups.list

    # Retrieve a Groups:
    Thinkific::Admin::Groups.show(ID)

    # Create a Groups:
    Thinkific::Admin::Groups.create(parameters)

    # Delete a Groups:
    Thinkific::Admin::Groups.delete(ID)

    # List Analysts by a Groups:
    Thinkific::Admin::Groups.list_analysts(ID, parameters)

    # Create Analysts in a Groups:
    Thinkific::Admin::Groups.create_analysts(ID, parameters)

    # Delete an analyst from a group:
    Thinkific::Admin::Groups.delete_analyst(ID)

<a name="group-analysts" href="https://developers.thinkific.com/api/api-documentation/#/Group%20Analysts">Group Analysts</a>


    # Create Group-Analyst to a groups:
    Thinkific::Admin::GroupAnalysts.create_groups(user_id, parameters)

    # Delete Group-Analyst from a groups:
    Thinkific::Admin::GroupAnalysts.delete_analyst(user_id, group_id)

<a name="group-users" href="https://developers.thinkific.com/api/api-documentation/#/Group%20Users">Group Users</a>


    # Create a User to existing Groups:
    Thinkific::Admin::GroupUsers.create(parameters)

<a name="instructors" href="https://developers.thinkific.com/api/api-documentation/#/Instructors">Instructors</a>


    # List all Instructors:
    Thinkific::Admin::Instructors.list

    # Retrieve a Instructors:
    Thinkific::Admin::Instructors.show(ID)

    # Create a Instructors:
    Thinkific::Admin::Instructors.create(parameters)

    # Update a Instructors:
    Thinkific::Admin::Instructors.update(ID, parameters)

    # Delete a Instructors:
    Thinkific::Admin::Instructors.delete(ID)

<a name="orders" href="https://developers.thinkific.com/api/api-documentation/#/Orders">Orders</a>


    # List all Orders:
    Thinkific::Admin::Orders.list

    # Retrieve a Orders:
    Thinkific::Admin::Orders.show(ID)

<a name="product-publish-request" href="https://developers.thinkific.com/api/api-documentation/#/Product%20Publish%20Request">Product Publish Request</a>


    # List all Product Publish Request:
    Thinkific::Admin::ProductPublishRequest.list

    # Retrieve a Product Publish Request:
    Thinkific::Admin::ProductPublishRequest.show(ID)

    # Approve a Product Publish Request:
    Thinkific::Admin::Pr
View on GitHub
GitHub Stars7
CategoryDevelopment
Updated2mo ago
Forks0

Languages

Ruby

Security Score

90/100

Audited on Jan 15, 2026

No findings