Skip to content
WooNinjaWooNinja
  • Home
  • Thinkific
    • WooCommerce
    • Single Sign On (SSO)
    • Thinkific B2B Dashboard
    • WordPress Shortcodes
    • Groundhogg Automation
    • Learndash Migration Service
    • Uncanny Automator
    • WeChat & AliPay
    • Thinkific Funnels
  • Intercom
  • Groundhogg
    • Telegram Messenger
    • Simple Texting
    • WooCommerce Subscriptions
    • WooCommerce Bookings
    • WooCommerce Deposits
    • WooCommerce Memberships
    • Direct Mail & Thanks.io
    • Paid Membership Pro
    • Ultimate Member
    • Shopify
    • Restrict Content Pro
    • Thinkific
    • Mailgun
    • Hunter.io
    • Tawk.to
    • Passwordless Login
  • Contact
  • Buy Now
  • Login
Popular Search thinkificlearndashssovattax

B2B Dashboard

  • Can I view how long a student has viewed materials in Thinkific B2B?
  • Can I view reporting in the Thinkific B2B Dashboard?
  • How do I assign a student to a group in Thinkific B2B?
  • How do I bulk upload B2B users or students to Thinkific?
  • How do I add a B2B student in Thinkific?
  • How do I assign Courses & Bundles to Users and limit the number of students on their account?
  • How do I add B2B Users to Thinkific?
  • How do I make B2B sales with Thinkific?
  • How can I configure a User’s B2B settings in Thinkific?
  • System Settings for the Thinkific Dashboard
  • Thinkific B2B Webhooks
  • How to Tag Students in the Thinkific Dashboard
  • How to use the Thinkific B2B Dashboard
  • How do I sync existing students to a user in the Thinkific B2B dashboard?
  • How can I reset a Users password in Thinkific?
  • How can I log into the Thinkific B2B Dashboard without a password?
  • How do I set the default user permissions for the Thinkific Dashboard?
  • Thinkific B2B REST API
  • How to sell multiple seats in Thinkific using Stripe Checkout
  • How to sell course seats in bulk with Thinkific
  • How to add notes to students in Thinkific

Single Sign On (SSO)

  • How to Single Sign On (SSO) from Thinkific to WordPress
  • What happens if a student changes their email in Thinkific or WordPress?
  • Thinkific SSO Shortcode
  • Getting Started: Thinkific SSO & WordPress

WooCommerce Extension (Version 3.0 and Below)

  • Creating Thinkific Products in WooCommerce
  • Selling Multiple Seats / Coupons / Licenses on WooCommerce with Thinkific
  • How to offer an Alumni discount in Thinkific with WooCommerce
  • Shortcodes for Thinkific in the WooCommerce Extension
  • WooCommerce Extension for Thinkific – REST API
  • Selling a Thinkific Course or Bundle with WooCommerce
  • Getting Started – Connecting WooCommerce to Thinkific
  • What are the Order Actions?
  • How can I generate an express sign-in link for Thinkific?
  • How do I add a direct to checkout link to my email?
  • How can students access Thinkific from WooCommerce?

Hunter.io

  • Hunter.io Settings
  • Getting Started: Hunter.io

Mailgun

  • Mailgun Benchmarks & Settings
  • Mailgun Funnel Example
  • Getting Started: Mailgun & Groundhogg

Shopify

  • How do I import existing customers from Shopify into Groundhogg?
  • Shopify Funnel Example with Groundhogg
  • Getting Started: Shopify & Groundhogg

Tawk.to

  • Getting Started: Tawk.to

Telegram

  • Using Telegram Channels with Groundhogg
  • Sending Messages with Telegram from WordPress

Groundhogg Extension

  • Why is my student not enrolled?
  • Mandatory / Custom Fields In Thinkific
  • How to sell a Thinkific Course with WooCommerce & Groundhogg
  • Thinkific Benchmarks, Actions & Settings
  • Enrollments, Bundles & Course IDs
  • Example Thinkific Groundhogg Funnel
  • Getting Started: Thinkific & Groundhogg

WooCommerce Bookings

  • WooCommerce Bookings Funnel Example
  • WooCommerce Bookings Benchmarks
  • Getting Started: WooCommerce Bookings & Groundhogg

WooCommerce Deposits

  • WooCommerce Deposits Funnel Examples
  • Getting Started: WooCommerce Deposits

WooCommerce Memberships

  • WooCommerce Memberships & Groundhogg

WooCommerce Subscriptions

  • How to use WooCommerce Subscriptions with Thinkific
  • WooCommerce Subscriptions Funnel Example
  • WooCommerce Subscriptions Benchmarks
  • Getting Started: WooCommerce Subscriptions & Groundhogg

WordPress

  • Thinkific Vs WordPress LMS – Which is better?
  • Thinkific WordPress REST API
  • Thinkific WordPress Shortcodes
  • How do I use a cart with Thinkific? (WooCommerce)
  • How to sell eBooks with Thinkific & WordPress
  • Learndash & WordPress LMS
  • What can be migrated from WordPress to Thinkific?

Uncanny Automator

  • Uncanny Automator & Thinkific – Getting Started

Paid Memberships Pro

  • Can I add or remove membership in funnels?
  • Can I tag users by membership in funnels?
  • Getting Started: Paid Memberships Pro

Help & Support

  • I need help, what do you need to help me?
  • How do I add WooNinja to my WordPress site for debugging purposes?
  • How does WooNinja access my Thinkific Site?

Ultimate Member

  • Ultimate Member Funnel Examples
  • Getting Started: Ultimate Member

FAQ

  • Can I speed up my funnels, events and queue in Groundhogg?

WooNinja Funnels

  • Getting Started: Creating a new funnel for Thinkific
  • How can I delete a file from my Thinkific Funnel?
  • How do I add a file to my Thinkific Funnel?
  • When can I send a Thinkific Funnel?
  • What is the best Thinkific funnel trigger to use?
  • How do I cancel or delete my account?
  • How do I change the email my Thinkific funnels are sent from?
  • How can I view who has received my Thinkific emails?
  • What is the best email text to use for Thinkific Funnels?
  • How do I change the name or email my funnels are sending from?

WooNinja File Share

  • Getting Started: Sharing files and downloads with Thinkific
  • How do I delete a file or folder from Thinkific?
  • How do I rename a folder in Thinkific?
  • How do I control what files and folders a student has access to?
  • How do my students access my Thinkific file share?
  • How do I share files and folders with Thinkific Bundles?
  • How do I change the file or folder a student has access to?
  • How do I upload multiple files and folders?
  • How large a file or folder can I upload to Thinkific?
  • Can I link directly to a file or folder?
  • How do I stop students sharing my Thinkific files and folders?
  • How do my students submit assignments on Thinkific?
  • How do I view my students Thinkific assignments?

WooNinja Trees

  • Getting Started: Planting Trees with Thinkific
  • Can I set when a tree is planted in Thinkific?
  • Can I limit how many trees per month I’d like to plant?
  • Can I choose where my trees are planted?

WooNinja Learning Paths

  • How can I assess Thinkific students by the courses they complete?
  • Can I trigger an action when a Thinkific student completes a learning path?
  • Can I assess a Thinkific student by the dates they complete courses within?
  • Can I ensure Thinkific students complete a minimum number of courses, or hours, in a given timeframe?
  • How do I set the number of hours a course is worth in Thinkific?
  • Can I change the percentage of a Thinkific course that is required to be considered complete?
  • Can I award a Thinkific student that starts, and finishes, all courses within a time limit?
  • How often are learning paths assessed?
  • Can I assess Thinkific bundles with my learning paths?

Installation & Set Up

  • How do I find my App ID and App Secret?
  • How to install on Thinkific
  • How to install on Teachable
  • How to install on WordPress
  • Getting Started with ProtectMyCourses.com
  • How do I stop disposable and fake emails from accessing my course?

Alerts & Rules

  • How can I limit the number of devices a student can use to access my course with?
  • How do I limit the number of locations a user can access my course from?
  • How can I block a country from accessing my course?
  • How do I allow only certain countries access my course?
  • How do I verify student emails when they sign up for my course?
  • How do I detect and stop a student from using a VPN to access my course?
  • How do I stop a student from accessing my course via a Tor Browser, or a Proxy Network?
  • How do I permit, or whitelist, certain students so that rules don’t apply to them?
  • How do I get notified when a student triggers a rule?
  • How do I enable verification of users?

WooNinja Invoices

  • How do I view invoices or receipts in Thinkific?
  • How do I filter by invoices and receipts in Thinkific?
  • How do I add my company details, tax code and address to receipts and invoices in Thinkific?
  • How do I add a users custom profile fields to my invoices and receipts in Thinkific?
  • How do I change the logo for my Thinkific invoices and receipts?
  • How to I change the name and email that my Thinkific invoices and receipts are sent from?
  • How do I change the currency of my Thinkific receipts and invoices?
  • Can I change between Receipts and Invoices in Thinkific?
  • How do I automatically send an invoice or receipt when a purchase is made on Thinkific?
  • How do I forward each Thinkific invoice or receipt to my inbox, accountant or QuickBooks system?
  • How do I export Thinkific receipts or invoices to a spreadsheet? e.g. Excel, Google Sheets
  • How do I export Thinkific receipts or invoices to a PDF?
  • How do I sync existing orders from Thinkific to WooNinja Invoices?
  • How do I send a copy of a receipt or invoice to a customer from Thinkific?
  • Can I permit a customer to update their details on a receipt or invoice in Thinkific?
  • What does (deleted) mean in WooNinja Invoices?
  • Getting Started: Installing WooNinja Invoices
  • How can I add tax to my Thinkific sales?
  • How do I translate my invoices in Thinkific?
  • How can I alter or edit the Thinkific invoice emails?
  • How can I edit the invoice and PDF?
  • How to embed WooNinja Invoices in Thinkific
  • How do I ignore or stop invoices for free orders?

Digital Humani

  • Digital Humani by WooNinja (WordPress Plugin)

WooNinja SSO

  • How do I use Okta or OAuth2 with Thinkific?
  • What are the use cases for Single Sign on with Thinkific?
  • What systems does Thinkific Single Sign On support?
  • Controlling Seat Allocations with SSO
  • Enroll Student in Thinkific via SSO
  • How to add a client to the SSO Connector
  • How to connect MS Azure to Thinkific via OAuth2
  • How to connect Salesforce to Thinkific via OAuth2

Intercom

  • How can I send Data Events to Intercom from WooCommerce & WordPress?
  • How can I tag customer subscriptions from WooCommerce in Intercom?
  • How can I tag a customer in Intercom when they purchase on WooCommerce?
  • “Something went wrong” keeps appearing on Intercom
  • How can I view WooCommerce Subscriptions inside Intercom?
  • How can I view WooCommerce order information inside Intercom?
  • How can I view WooCommerce customer information inside Intercom?
  • How can I see WooCommerce customer information inside the Intercom Inbox?
  • How to connect WooCommerce to Intercom

WooCommerce Extension (Version 3.0 And Above)

  • How do I improve progress updates for enrollments in WooCommerce from Thinkific?
  • What happens for repeat orders or if a student is already enrolled?
  • How are refunds processed in WooCommerce for Thinkific orders?
  • How to use WooCommerce Subscriptions with Thinkific
  • Thinkific B2B Sales & Dashboard with WooCommerce
  • How to add a student to a Thinkific Group using WooCommerce
  • How to sell coupon/license codes for Thinkific with WooCommerce
  • How does a student set their password for Thinkific in WooCommerce?
  • What email is used for Thinkific students when they make a purchase in WooCommerce?
  • How to send welcome emails for Thinkific from WooCommerce
  • How to upgrade the Thinkific WooCommerce Extension from 2.x to 3.x
  • How to enrol a student in Thinkific until a specific date in WooCommerce
  • How to enrol a student in Thinkific for a specific number of days from WooCommerce
  • Getting Started: Connecting WooCommerce to Thinkific
View Categories
  • Home
  • Documentation
  • Thinkific
  • B2B Dashboard
  • Thinkific B2B REST API

Thinkific B2B REST API

Note: This documentation refers to the API REST end points from the WooNinja B2B Dashboard for Thinkific. If you are looking for the Thinkific Admin API, click here.

Authorisation #

Admin users can generate an API token in the dashboard.

Screen Shot 2022 02 03 at 3.15.20 PM

This token should be passed as Bearer token in all requests.

Base URL: www.example.com/api/

Notes:

  • The Student API does not verify seat or course allocations, it will always permit the creation of a student and enrolment.
  • Enrollments are asynchronous.
  • API expects and responds with JSON

User API #

List Users

GET /api/users

View A Single User

GET /api/users/{id}

Create a User

POST /api/users

In this example, a user will be created and their account will have a maximum of 100 seats. Name, Email and Password are required. Max Seats is optional.

{
    "name": "John Doe",
    "email": "j.doe@www.wooninja.io",
    "password": "********",
    "max_seats": 100
}

Update A User

PUT / api/users/{id}

In this example, the given User ID will be updated. All parameters are optional.

{
    "name": "Jay Doe",
    "email": "doe.jay@www.wooninja.io",
    "max_seats": 35
}

Upsert A User

POST /api/users/upsert

Creates a new user if they do not exist, or updates an existing one if they do. The primary key is the email and the email parameter is required. All other parameters are optional.

{
    "name": "John Doe",
    "email": "doe.john@www.wooninja.io",
    "password": "********",
    "max_seats": 35
}

Search For A User by Email

POST /api/users/search

Search for a given users by email.

{
  "email": "john.doe@www.wooninja.io"
}

Delete A User

DELETE / api/users/{id}

Note, be careful and exercise caution when using this end point. It may delete students and associated records depending on your global system settings.

Assign / Reassign a User to Thinkific Group

POST /api/users/group/{id}

In this example, the given user ID will be assigned to a Thinkific Group called ‘My Thinkific Group’. If sync is set to true, the system will import all students assigned to that group in Thinkific, and associated them with the user in the dashboard.

  • If a group does not exist in Thinkific with the same name, it will be created.
  • Users will not be assigned to this Group in Thinkific e.g. As an analyst etc
  • If a group is changed, students associated with the user will not be moved or otherwise placed in the new group.
{
    "name": "My Thinkific Group",
    "sync": false
}

Grant User Access to a Course or Bundle

POST /api/users/access/{id}

In this example, we will assign the user the Thinkific course/bundle ID of 1379051 with 55 seats with an enrollment of 365 days (1 year).

  • To remove access, pass the same payload but with active equal to false.
  • All parameters are required.
{
    "thinkific_id": 1379051,
    "active": true,
    "max_seats": 55,
    "enrollment_days": 365
}

Add Additional Seats to a User for a Course or Bundle

POST /api/users/seat/{id}

In this example, we will add 10 seats to the user for Thinkific course/bundle ID of 1379051 with an enrolment of 365 days (1 year).

  • Enrollment days are for all enrolments by that user, it does not only apply to the seats being added in this call.
  • All parameters are required and will overwrite existing values where present.
{
    "thinkific_id": 1379051,
    "active": true,
    "add_seats": 10,
    "enrollment_days": 365
}

Update Enrolment Expiry for a Users’ Students

POST /api/users/enrollments/{id}

In this example, we will update all the user’s assigned students to the same expiry date. This is end point is most useful for subscription services where you wish to keep all expiry dates the same and update them as a subscription renews, is cancelled etc.

Important – Read Carefully

  • This end point will update all students associated with the user’s account. If that student is shared between user accounts, then the enrollment will be updated for all accounts.
  • The endpoint is best used with bundles as it is easier to update one bundle as opposed to multiple courses.
  • If an enrolment is already expired, it will be updated to the new expiry date and thus re-activated. Therefore we recommend you only use this endpoint for users that cannot control or otherwise remove enrolments of their assigned students.

In this example, we will update all expiry dates associated with this user for Thinkific course/bundle ID of 1379051 to 30 days from today.

{
"product": 1379051,
"type": "days",
"expiry_days": 30
}

If you wish to use dates, the following payload can be used:

{
    "product": 1379051,     
    "type": "date",     
    "expiry_date": "Jun 30 2023" 
}

To expire access immediately, use ‘expire_now’

{
    "product": 1379051,     
    "type": "expire_now"
}

Or, to set lifetime access, e.g. Set the expiry to 10 years from today, you can use the following:

{
"product": 1379051,
"type": "no_expiry"
}

Student API #

List / View Students

Returns a paginated list of all students in the dashboard.

GET /api/students

View a Single Student

Returns a single student record from the dashboard

GET /api/students/{id}

id: The Student ID in the Dashboard

Upsert Student

Updates, or creates, a student record based on the given email.

POST /api/students

{
    "first_name": "John",
    "last_name": "Doe",
    "email": "j.doe@www.wooninja.io",
    "user_email": "info@www.wooninja.io",
    "enrollments": [
        1379051,
        1354765
    ]
}

first_name: The students first name (Required)

last_name: The students last name (Required)

email: Student’s email. Used as their unique ID, record will be created if they do not exist. (Required)

user_email: User (instructors) email to which the student should be assigned. User must already exist. Student will be assigned to the user who issued the API token if omitted. (Optional)

enrollments: An array of Thinkific Product IDs to which the user should be enrolled. Supports courses and bundles. (Optional)

Associate / Disassociate a Student with a User

POST /api/students/associate

POST /api/students/dissociate

{
    "email": "student@www.wooninja.io",
    "user_email": "user@www.wooninja.io",
}

email: The student email (Required)

user_email: The user email (Required)

Note: The Student and User record must already exist.

Update Student

Updates a single student record

PUT /api/students/{id}

{
    "first_name": "John",
    "last_name": "Doe",
    "email": "j.doe@www.wooninja.io",
}

id: The Student ID in the Dashboard (Note, this is NOT the Thinkific Student ID)

first_name: The students first name (Required)

last_name: The students last name (Required)

email: Student’s email. (Required)

Delete Student

Removes a student from the dashboard, and Thinkific (if enabled in the dashboard settings)

DELETE /api/students/{id}

id: The Student ID in the Dashboard

Note: Be very careful using this end point if your student is associated with multiple users as it will delete their student record entirely for all users.

Enroll Student

Adds a student to a course

POST /api/students/enroll

{
    "email": "j.doe@www.wooninja.io",
    "user_email": "info@www.wooninja.io",
    "enrollments": [
        1379051,
        1354765
    ]
}

email: Student’s email. Must exist already. (Required)

user_email: User (instructors) email to which the student should be assigned. User must already exist. (Required)

enrollments: An array of Thinkific Product IDs to which the user should be enrolled. Supports courses and bundles. (Required)

Product API #

Note:

  • In the dashboard context, a ‘Product’ is a Thinkific Course or Bundle.
  • Use the ‘productable_id’ in automations to assign seats, enroll etc.

GET /api/products/{id}

Returns a given product by ID

GET api/products/search?term=search_term

Searches for a given product as provided in the search_term. Fields searched are name, Thinkific ID and Productable ID.

Updated on September 9, 2024
How do I set the default user permissions for the Thinkific Dashboard?How to sell multiple seats in Thinkific using Stripe Checkout
Table of Contents
  • Authorisation
  • User API
  • Student API
  • Product API
  • Terms
  • Privacy
  • Documentation
  • Contact Us
  • Discount Codes
Copyright 2026 © WooNinja.com
  • Home
  • Thinkific
    • WooCommerce
    • Single Sign On (SSO)
    • Thinkific B2B Dashboard
    • WordPress Shortcodes
    • Groundhogg Automation
    • Learndash Migration Service
    • Uncanny Automator
    • WeChat & AliPay
    • Thinkific Funnels
  • Intercom
  • Groundhogg
    • Telegram Messenger
    • Simple Texting
    • WooCommerce Subscriptions
    • WooCommerce Bookings
    • WooCommerce Deposits
    • WooCommerce Memberships
    • Direct Mail & Thanks.io
    • Paid Membership Pro
    • Ultimate Member
    • Shopify
    • Restrict Content Pro
    • Thinkific
    • Mailgun
    • Hunter.io
    • Tawk.to
    • Passwordless Login
  • Contact
  • Buy Now
  • Login