Developer & API — interactive REST, partner guides & App MCP in TMSDASH

A unified developer portal for external integrators and internal members. Browse an interactive OpenAPI reference where every endpoint expands to show its field schema and runs a live read-only request against your carrier data, follow step-by-step partner guides for Motive, QuickBooks, EFS, Macropoint, Google Sheets, and Stripe, and manage your webhook endpoints from a gated member area — all alongside App MCP for ChatGPT, Claude, and Cursor. Carrier-scoped Row-Level Security is enforced on every request.

Developer & API

Developer & API documentation for TMSDASH

A unified developer portal for external integrators and internal members. Browse an interactive OpenAPI reference where every endpoint expands to show its field schema and runs a live read-only request against your carrier data, follow step-by-step partner guides for Motive, QuickBooks, EFS, Macropoint, Google Sheets, and Stripe, and manage your webhook endpoints from a gated member area — all alongside App MCP for ChatGPT, Claude, and Cursor. Carrier-scoped Row-Level Security is enforced on every request.

Quick start

Getting Started for Carriers

The TMSDASH API lets your tools talk to your TMS data — push invoices to Google Sheets, sync loads into QuickBooks, or build a custom operations dashboard. You only need an API key and a couple of minutes.

  1. 1Open the API page in your app dashboard (sidebar → API) and click Generate API key.
  2. 2Copy the generated key and store it securely — it grants access to your carrier data, so treat it like a password.
  3. 3Make your first authenticated request using the curl example below, replacing YOUR_API_KEY with your key.
  4. 4Confirm you receive a JSON response with your records, then move to the full reference to build your integration.
curl
curl -X GET "https://YOUR-APP.tmsdash.com/api/entities/Load" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

For developers

Full API Reference

Authentication

Send every request with Authorization: Bearer YOUR_API_KEY. Keys are scoped to your carrier workspace and respect per-entity Row-Level Security.

Live spec

The always-current OpenAPI document is generated for you on the API dashboard page — download or inspect it there for exact paths and schemas.

Entity endpoints

EntityOperationsAccess
Loadlist · get · create · update · deleteCarrier-scoped (RLS)
Driverlist · get · create · update · deleteCarrier-scoped (RLS)
Vehiclelist · get · create · update · deleteCarrier-scoped (RLS)
Customerlist · get · create · update · deleteCarrier-scoped (RLS)
Invoicelist · get · create · update · deleteCarrier-scoped (RLS)
Maintenancelist · get · create · updateCarrier-scoped (RLS)
ComplianceItemlist · get · create · updateCarrier-scoped (RLS)
BoardLoadlist · get · create · updatePublic read, owner write
PublicCarrierlist · getPublic read-only

Backend functions

FunctionDescription
searchPublicCarriersSearch the FMCSA carrier directory
enrichCarrierEnrich a carrier from SAFER data
boardMarketLoad board marketplace actions
searchBoardLoadsSearch internal load board
saveBoardLoadPost freight to the board
submitCarrierReviewSubmit a carrier rating
submitCarrierLeadSend a lead to a carrier
getMapConfigFetch map tiles / config

Code samples

javascript
import { TMSDASH } from "@tmsdash/sdk";

const client = new TMSDASH({ apiKey: "YOUR_API_KEY" });

// List loads for this carrier
const loads = await client.entities.Load.list("-created_date", 20);

// Create a new load
const load = await client.entities.Load.create({
  load_number: "LD-1042",
  origin_city: "Dallas",
  destination_city: "Denver",
  pickup_date: "2026-10-01",
});
python
import requests

BASE = "https://YOUR-APP.tmsdash.com"
HEADERS = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

# List loads
resp = requests.get(f"{BASE}/api/entities/Load", headers=HEADERS)
loads = resp.json()

# Create a load
new = requests.post(f"{BASE}/api/entities/Load", headers=HEADERS, json={
    "load_number": "LD-1042",
    "origin_city": "Dallas",
    "destination_city": "Denver",
    "pickup_date": "2026-10-01",
})

AI integration

Connect AI Assistants (App MCP)

App MCP lets external AI clients like ChatGPT, Claude, and Cursor connect to your published TMSDASH app and work with the data, agents, and tools you authorize — no code required.

Public · No sign-in

Anyone can connect. The assistant can view records from enabled entities, but cannot change records, message agents, or run custom tools.

Sign-in required · OAuth

Users sign in with their app account. The assistant acts as that user and can view or change records, message agents, and run tools per the user's permissions — checked on every request.

Setup steps

  1. 1Open the MCP page in your app dashboard and click Set up access.
  2. 2Choose Public or Sign-in required · OAuth, then click Publish.
  3. 3Copy the Connection URL shown on the MCP page.
  4. 4In ChatGPT or Claude, add it as a streamable HTTP MCP server.
  5. 5Use Tool access on the MCP page to enable specific entities, agents, and custom tools.

OAuth users stay subject to your app's permissions, which TMSDASH verifies on every request — so an assistant can never exceed what the signed-in user is allowed to do.

Was this helpful?

Explore the deep-diveDeveloper & API

Related modules

Ready to put it into practice?

Start your free trial and explore this module with your own data.