Thinkific
by Thinkific Labs Inc.
A creator-focused platform for selling online courses. Public REST API, HMAC-signed webhooks (REST Hooks), an OAuth-based Zapier app, and a large App Store.
Direct integrations
Native integrations you connect from inside the LMS — typically an OAuth "Connect" flow, with no external middleware.
Supported — Integrations are installed from the Thinkific App Store; many connect via OAuth.
| Integration | Category | Type | Notes |
|---|---|---|---|
| Stripe | Payments | oauth |
Card payments for course sales. |
| PayPal | Payments | oauth |
PayPal checkout. |
| Mailchimp | Email marketing | oauth |
Sync students to email lists. |
| ActiveCampaign | Email marketing / CRM | api-key |
Marketing automation sync. |
| ConvertKit | Email marketing | oauth |
Creator email automation. |
| Shopify | E-commerce | oauth |
Sell courses via Shopify. |
| Zoom | Video conferencing | oauth |
Live lessons via Zoom. |
| Google Analytics / Tag Manager | Analytics | snippet |
Tracking and analytics. |
Middleware support
Third-party automation platforms (iPaaS) that connect this LMS to thousands of other apps without code.
Supported — Native OAuth Zapier app (migrated from API key to OAuth in Jan 2023). Make has a native Thinkific app; others use the REST API/webhooks.
| Platform | Supported | Details |
|---|---|---|
| Zapier | Yes | Native OAuth Zapier app. · 5 triggers, 3 actions |
| Make | Yes | Native Make (Integromat) Thinkific app. |
| Pabbly Connect | Yes | Native Pabbly Connect Thinkific integration. |
| n8n | Yes | Via the HTTP Request node / webhooks. |
| Microsoft Power Automate | No | |
| Workato | No | |
| Tray.io | No |
Zapier ↗
Triggers
- New enrollment
- Enrollment completed
- New user
- New order
- Lesson completed
Actions
- Create user
- Enroll user in course
- Unenroll user
API
Programmatic access to the LMS. Endpoints below are a documented subset — always check the vendor's official reference for the complete, current list.
Supported — Public REST API. Webhooks are created/managed via the Webhooks (REST Hooks) API.
| Type | REST |
|---|---|
| Version | public/v1 |
| Authentication | API key (X-Auth-API-Key + X-Auth-Subdomain headers) or OAuth 2.0 |
| Base URL | https://api.thinkific.com/api/public/v1 |
| Format | JSON |
| Rate limit | 120 requests per 60 seconds per site (HTTP 429 on excess). |
| Docs | https://support.thinkific.dev/hc/en-us/articles/5700872617111-API-Overview |
Endpoints
Users
| Method | Endpoint | Description |
|---|---|---|
| GET | /users |
List users |
| GET | /users/{id} |
Get a user |
| POST | /users |
Create a user |
| PUT | /users/{id} |
Update a user |
Courses
| Method | Endpoint | Description |
|---|---|---|
| GET | /courses |
List courses |
| GET | /courses/{id} |
Get a course |
Collections
| Method | Endpoint | Description |
|---|---|---|
| GET | /collections |
List course collections (bundles) |
Enrollments
| Method | Endpoint | Description |
|---|---|---|
| GET | /enrollments |
List enrollments |
| POST | /enrollments |
Enroll a user in a course |
| PUT | /enrollments/{id} |
Update/expire an enrollment |
Products
| Method | Endpoint | Description |
|---|---|---|
| GET | /products |
List products |
Coupons
| Method | Endpoint | Description |
|---|---|---|
| GET | /coupons |
List coupons |
| POST | /coupons |
Create a coupon |
Webhooks
| Method | Endpoint | Description |
|---|---|---|
| GET | /webhooks |
List webhooks |
| POST | /webhooks |
Create a webhook (subscribe to a topic) |
| DELETE | /webhooks/{id} |
Delete a webhook |
Webhooks
Outbound HTTP callbacks the LMS sends to your endpoint when events occur, with their supported event types and security model.
Supported — REST Hooks model — subscribe to a topic and Thinkific POSTs JSON to your URL. Each request carries an X-Thinkific-Hmac-Sha256 header you verify against your API key to confirm authenticity and integrity.
Docs: https://support.thinkific.dev/hc/en-us/articles/4422685850775-Using-Webhooks
Security: HTTPS endpoint HMAC-SHA256 signature in X-Thinkific-Hmac-Sha256 header
| Event | Description |
|---|---|
user.signup | A new user signed up |
enrollment.created | A user was enrolled in a course |
enrollment.progress | A user's course progress updated |
enrollment.completed | A user completed a course |
order.created | A new order was placed |