Thinkific API's Elixir SDK

Thinkific's public API can be used to integrate your application with your Thinkific site.

Installation

This package can be installed by adding ex_thinkific_api to your list of dependencies in mix.exs:

def deps do
  [{:ex_thinkific_api, "~> 0.1.3"}]
end

The docs can be found at Thinkific API SDK Hex Docs.

How to use it

Admin API

Connection

  • You can either use token based:
conn = Thinkific.Connection.new(:admin_api, "basic-surf-academy", %{"Authorization" => "Bearer 1360ddc6-4029-47ec-a832-e5f1e60f8d98"})
  • Either API Key authorization:
conn = Thinkific.Connection.new(:admin_api, "basic-surf-academy", %{"X-Auth-API-Key" => "9eda19c55435829ef301b1979c96f96a"})

Fetching data example

In order to get a list of courses:

# In order to define conn, check the Connection section above
Thinkific.Api.Courses.get_courses(conn)

Webhooks API

Connection

  • Only token based authentication can be used:
conn = Thinkific.Connection.new(:webhooks_api, "basic-surf-academy", %{"Authorization" => "Bearer 330ec662-4da4-4809-bf9f-10dfd98c8c28"})

Fetching data example

In order to get a list of courses:

# In order to define conn, check the Connection section above
Thinkific.Api.Webhooks.get_webhooks(conn)

Creating data example

# In order to define conn, check the Connection section above
Thinkific.Api.Webhooks.create_webhook(
  conn, [body: %Thinkific.Model.WebhookRequest{topic: "user.signin", target_url: "https://google.com"}]
)