Build on the TMSDASH platform
Connect your tools, sync data into QuickBooks or Google Sheets, build custom dashboards, and let AI assistants work with your fleet data — all through one secure API.
REST API
Authenticate with an API key and call any entity endpoint or backend function. Carrier-scoped Row-Level Security is enforced on every request.
App MCP
Connect ChatGPT, Claude, or Cursor to your published app. Public (read-only) or OAuth (full permission) access modes.
Backend functions
Server-side handlers for external APIs, webhooks, and custom business logic — exposed as typed HTTP endpoints.
One key, every endpoint
Generate an API key from your app dashboard and start calling entity endpoints and backend functions in minutes. Every request respects your carrier's Row-Level Security, so integrations can only see and change the data the key is allowed to reach.
- Carrier-scoped API keys with per-entity RLS
- Full CRUD on loads, drivers, vehicles, invoices, and more
- Typed backend-function endpoints for custom logic and webhooks
- Live, always-current OpenAPI spec generated on the API dashboard page
curl -X GET "https://YOUR-APP.tmsdash.com/api/entities/Load" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Interactive endpoint reference
Expand any endpoint to see its field schema and run a live read-only request against your carrier data. The authoritative OpenAPI spec lives on the API dashboard page.
Click an endpoint to expand its schema and run a live read-only request.
OpenAPI specCustom logic, webhooks & external APIs
Deploy server-side handlers as typed HTTP endpoints. Use them to receive webhooks from Stripe, Motive, or any provider, call external APIs with secrets kept server-side, and transform data before it reaches your entities — all under carrier-scoped Row-Level Security.
| Function | What it does | Method |
|---|---|---|
| searchBoardLoads | Search the internal freight marketplace | POST |
| rfqMarketplace | Browse and quote open shipper RFQs | POST |
| generateBol | Generate a bill of lading for a shipment | POST |
| getPublicCarrier | Fetch a public carrier by USDOT number | POST |
| submitCarrierReview | Submit a carrier review | POST |
| enrichCarrier | Refresh SAFER safety data on demand | POST |
| syncMotiveEld | Sync drivers and vehicles from Motive ELD | POST |
| saveEquipmentListing | Create or update an equipment marketplace listing | POST |
| stripeWebhook | Receive signed Stripe events | POST |
| generateSitemap | Build the public SEO sitemap | GET |
// Call a backend function from your app (carrier-scoped, RLS-enforced)
const loads = await client.functions.invoke('searchBoardLoads', {
origin_state: 'TX',
destination_state: 'CA',
equipment_type: 'dry_van',
});Connect AI assistants in minutes
Let ChatGPT, Claude, and Cursor work with your TMSDASH data — no code required. Publish your MCP server, copy the connection URL, and add it as a streamable HTTP server in your assistant.
- 1Open the MCP page in your dashboard and click Set up access.
- 2Choose Public or Sign-in required, then Publish.
- 3Copy the Connection URL.
- 4Add it to ChatGPT or Claude as a streamable HTTP MCP server.
- 5Enable entities, agents, and tools via Tool access.
Anyone can connect. The assistant can view records from enabled entities, but cannot change records, message agents, or run custom tools.
Users sign in with their app account. The assistant acts as that user — view, change, message, and run tools — per the user's permissions, checked on every request.
Integrate with the tools you already use
Step-by-step walkthroughs for each supported partner — auth flows, sample payloads, webhook setup, and links to the underlying backend functions.
My Keys & Webhooks
Sign in to manage your API keys and register webhook endpoints for your workspace.
Sign inStart building today
Spin up your TMSDASH workspace, generate an API key, and connect your tools — your first 14 days are free.