Docs

ServiceTitan API Authentication

How to authenticate ServiceTitan API requests: one Bearer API key plus a connectionId. MindCloud handles ServiceTitan's custom auth scheme for you.

Every ServiceTitan API request through MindCloud needs two things: a MindCloud API Key and a connectionId for your ServiceTitan 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 ServiceTitan connection in Connections. ServiceTitan uses its own authentication scheme. You provide whatever it requires when you create the connection — MindCloud handles the provider-specific details for you.
  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 ServiceTitan account that should run the action. MindCloud stores and refreshes the ServiceTitan 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 Activity Codes with an ServiceTitan connection looks like this:

curl --request POST \
  --url "https://connect.mindcloud.co/v2/universal/apps/servicetitan/actions/list-activity-codes/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 ServiceTitan account to run the action against. Missing or invalid Authorization returns 401, and a missing or mismatched connectionId returns 400.

Connect your ServiceTitan account

Use a ServiceTitan account with Generate API Application Key and Manage API Application Access permissions. Ask your administrator to enable them if needed.

  1. Choose your environment

    For your live ServiceTitan account, leave Development Environment off in the connection form. Turn it on only when connecting a ServiceTitan integration environment used for testing. Obtain credentials from the environment you intend to connect.

  2. Find your TenantThe ServiceTitan account whose data you want to connect.

    In ServiceTitan, open Settings, then Integrations > API Application Access. Copy Your TenantThe ServiceTitan account whose data you want to connect. ID into TenantThe ServiceTitan account whose data you want to connect. in the connection form.

    Settings → Integrations → API Application Access

  3. Open or create your application

    Sign in to the developer portal using the Production Environment User or Integration Environment User option that matches your account. Open your application in My Apps. If creating one, choose +New App, fill in its details, add your TenantThe ServiceTitan account whose data you want to connect. ID under TenantThe ServiceTitan account whose data you want to connect.(s), and select the API scopesThe permissions that control which data an application can read or change. needed for your integration.

    ServiceTitan Developer Portal → My Apps
  4. Fill in App Key

    In the application's Keys > Application Key section, copy the key and paste it into App Key in the connection form.

  5. Fill in App GUIDThe application's external-data identifier, separate from its App Key. when using external data

    If your application has an External Data Application GUID configured under App Details, enter that same value in App GUIDThe application's external-data identifier, separate from its App Key. in the connection form.

    App Details

  6. Allow the application to access your account

    Return to ServiceTitan's API Application Access page. Click Connect New App, select your application, and click Connect. Review the requested permissions and click Allow Access if they are correct. If the application is missing, check that its developer has added your TenantThe ServiceTitan account whose data you want to connect. ID.

    Settings → Integrations → API Application Access

  7. Fill in Client ID and Client Secret

    In the connected application's Application Details, copy Client ID into Client ID in the connection form. Under Client Secret, click Generate and paste the resulting value into Client Secret. Keep the secret private.

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.