API Keys

Use Your OwnAPI Keys

Connect your own Sinch and Google Maps accounts so SMS and map usage are billed to you. It's optional — leave a provider on the platform default and everything still works.

Supported Integrations

Bring your own key for either or both

Sinch (Driver SMS)

Send and receive driver text messages from your own Sinch account, billed to you and sent from your own number.

Fields: Project ID, App ID, Key ID, Key Secret, Webhook Secret

Google Maps

Geocoding, distance, and routing run on your own Google Cloud key so map usage is billed to your account.

Fields: API Key

Where to find your Sinch keys

From the Sinch Customer Dashboard

1

Create a Sinch account & project

Sign up at dashboard.sinch.com. Open Settings → Project management. Your Project ID is the value to copy into the Project ID field.

2

Create a Conversation API app

In the dashboard, go to Conversation API → Apps → Create app. Set the processing mode to CONVERSATION. The app's ID is your App ID.

3

Generate an access key

Go to Settings → Access keys → Create access key. Copy the Key ID and the Key Secret. The secret is shown only once — store it safely before leaving the page.

4

Choose a webhook secret

Pick any strong random string for your Webhook Secret. You'll enter the same value here and when you register the Sinch webhook, so we can verify inbound replies are genuine.

5

Provision a US number (10DLC)

US texting requires 10DLC brand + campaign registration through Sinch (The Campaign Registry) and a provisioned number. This can take days to weeks. Your sender number is entered separately under Settings → Integrations → Driver Texting card.

Where to find your Google Maps key

From the Google Cloud Console

1

Open Google Cloud Console

Go to console.cloud.google.com and create (or select) a project. Make sure billing is enabled on the project — Google Maps APIs require an active billing account.

2

Enable the Maps APIs

Under APIs & Services → Library, enable the Geocoding API, Distance Matrix API, and Directions API. (Enable Maps JavaScript API too if you also use a client map key.)

3

Create an API key

Go to APIs & Services → Credentials → Create credentials → API key. Copy the generated key — this is the value for the API Key field.

4

Restrict the key (recommended)

Edit the key and set API restrictions to only the Maps APIs you enabled. For this server key, restrict by IP address if you can. Restricting limits damage if a key ever leaks.

Entering your keys

In Settings → Integrations → API Keys card

  1. Open Settings → Integrations → API Keys card (you must be an org admin).
  2. Find the provider (Sinch SMS or Google Maps) and turn on “Use my own key”.
  3. Paste each field's value. For Sinch you'll fill Project ID, App ID, Key ID, Key Secret, and (optionally) Webhook Secret.
  4. Click Save. We encrypt every secret before storing it — you'll only ever see a masked hint (e.g. ••••a1b2) afterward.
  5. To change a key later, re-enter just that field; leaving a field blank keeps the value already saved.
Keys are encrypted at rest and never displayed again after saving — only a masked hint is shown.

Frequently Asked Questions

Do I have to use my own keys?

No. If you leave a provider on the platform default, Endless TMS uses our shared keys and everything keeps working. Bringing your own keys simply moves that usage onto your own account and billing.

Are my keys safe?

Yes. Every secret is encrypted at rest with AES-256-GCM and is never sent back to your browser — the settings screen only shows a masked hint of the last few characters. Keys are decrypted only on our server when a request is actually made.

What happens if I enter a wrong or expired key?

That provider's feature (texting or maps lookups) will fail for your org until you fix the key. Switching the provider back to the platform default restores service immediately.

Why do I set the Sinch number somewhere else?

API Keys holds your credentials; the sender phone number and on/off switch for driver texting live under Settings → Integrations → Driver Texting card. Both must be set before you can text drivers.

Inbound texts aren't arriving when using my own Sinch project

Replies go to your Sinch project, so its webhook must point to us. Register the Sinch webhook to https://<your-domain>/api/webhooks/sinch?org=<your-org-id> with the same Webhook Secret you entered here, and enable the MESSAGE_INBOUND and MESSAGE_DELIVERY triggers.

Keep your keys private. Never share a Key Secret or API Key in email or chat — enter it directly in Settings → Integrations → API Keys card.

Need a hand?

We're happy to help you connect your Sinch or Google Maps account.