Docs

TrainerCentral API Authentication

How to authenticate TrainerCentral API requests: one Bearer API key plus a connectionId. MindCloud runs the OAuth flow and refreshes tokens for you.

Every TrainerCentral API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your TrainerCentral account. This page covers both, plus exactly how to send them, so you do not need to visit any other page to get authenticated.

Steps to authenticate

  1. Create a MindCloud account at app.mindcloud.co if you do not already have one.
  2. Generate a MindCloud API Key in API Keys. This is the Bearer token you send on every request. Keep it on your server.
  3. Create a TrainerCentral connection in Connections. TrainerCentral uses OAuth. When you create the connection, you are redirected to sign in to TrainerCentral and approve access — MindCloud stores the resulting tokens and refreshes them automatically, so your integration never has to.
  4. Copy the connection’s connectionId — you will send it on every request alongside your MindCloud API Key.

How requests are authenticated

Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected TrainerCentral account that should run the action. MindCloud stores and refreshes the TrainerCentral credentials behind that connection, so you never send provider tokens with your requests.

Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions.

For example, calling List Courses with an TrainerCentral connection looks like this:

curl --request POST \
  --url "https://connect.mindcloud.co/v2/universal/apps/trainerCentral/actions/list-courses/run" \
  --header "Authorization: Bearer $MINDCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "connectionId": "$CONNECTION_ID",
  "arguments": {}
}'

The Authorization: Bearer <your MindCloud API Key> header authenticates you to MindCloud; the connectionId tells MindCloud which TrainerCentral account to run the action against. Missing or invalid Authorization returns 401, and a missing or mismatched connectionId returns 400.

Set up TrainerCentral OAuth

You need access to your TrainerCentral academy and the Zoho Developer Console. If you already have a Client ID and Client Secret, you can skip the client-creation step.

  1. Open Zoho Developer Console

    Sign in with the Zoho account that manages your TrainerCentral academy.

    Zoho Developer Console
  2. Create an OAuth client

    Click Add Client ID, then enter a client name, your homepage URL, and the exact redirect URI that MindCloud shows during connection setup.

  3. Copy the client credentials into MindCloud

    Paste the Client ID and Client Secret into this app configuration so MindCloud can start the TrainerCentral OAuth flow.

  4. Copy your academy URL

    Sign in to TrainerCentral and copy the full academy URL from your browser, for example https://zylkeracademy.trainercentral.com.

  5. Find your Org ID

    After you sign in, look at your TrainerCentral academy URL and copy the numeric org ID shown in it. If your academy uses a custom URL and the org ID is not visible, use the official View organization portals guidance to retrieve it.

Keep your key safe

Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs. Anyone with the key can call the Universal API as your MindCloud account, across every connection you have created.