Using the Thinkific API

The Thinkific APIs allow developers to extend Thinkific's functionality in a variety of different ways by accessing site data.

AuthorizationLink

The API has been designed for two primary use cases, each of which has a different recommended method of authorization:

Private AppsLink

Advanced course creators that are looking to build their own private solutions and extensions on top of Thinkific should use Private Apps. The recommended authorization method to begin building private apps is to use the API Key and Subdomain that are provided on your Thinkific Site.

Note: When using this authorization, course creators must be on a Paid Thinkific plan (Pro + Growth, Premier or Plus)

Learn how to authorize using API Key

Public AppsLink

Public Apps are built with the intention of being distributed and installed on many Thinkific Sites.

The recommended authorization method to build Public Apps is use our Authorization Code flow. Authorizing using our Authorization Code Flow requires that you first create a Thinkific Partner Account and register an App to access your credentials.

Expected API usage and functionalityLink

In addition to account creation, public apps must make use of our APIs, Webhooks and/or Theme Extension capabilities in a way that improves the experience of using Thinkific in a meaningful way for a subset of course creators or students. Simply using the Oauth App architecture and/or SSO capabilities does not meet this criteria. This ensures there is value to the customer in connecting your app with Thinkific.

Reporting requirements for apps that take payments off Thinkific’s platformLink

You must use the External Orders API to report whenever a transaction happens:

  • One-time purchases: Use the POST /external_orders to create the one-time order record, which can receive the whole order + transaction information. In the case of a refund, you should use the POST …/refund endpoint to report these.
  • Subscription purchases: Use POST /external_orders to create the subscription, then use the ` POST /external_orders/.../purchase whenever you process a transaction related to the subscription. You should also use the refund endpoint to keep our records consistent with the external platform.

Note: When using this authorization, course creators must be on a Paid Thinkific plan (Basic, Pro + Growth, Premier or Plus)

Learn how to use the Authorization Code flow

Cross Origin RequestsLink

Cross origin requests are supported, although it should be noted that making calls to the the API using client-side javascript is insecure as API keys can easily be discovered. We recommend using your server as a proxy to make calls to the Thinkific API to ensure that you do not expose your API key.