v1

PAL Dispatch API

A REST API for integrating your TMS, ERP, or custom tooling with the PAL dispatch platform. Create and sync loads, read driver rosters, retrieve dispatch activity logs, and more.

Base URL /api/v1

Authentication

All API requests (except key management) must include your API key in the Authorization header:

HTTP Header
Authorization: Bearer pal_live_your_key_here

API keys are prefixed with pal_live_ for production and pal_test_ for sandbox environments.

Generating API Keys

Generate keys from your Admin Portal or via the key management endpoint. Keys are only displayed once at creation — store them in your secrets manager immediately.

Generate a key
curl -X POST /api/v1/keys \
					-H "Content-Type: application/json" \
					-d '{
						"tenant_id": "cust_902810",
						"admin_pin":  "********",
						"label":      "McLeod Integration",
						"scopes":     ["loads:read", "loads:write", "drivers:read", "logs:read"]
					}'

Error Handling

All responses include an ok boolean. Error responses include an error string and optional details.

CodeMeaning
200Success
201Resource created
400Bad request — invalid JSON or missing params
401Unauthorized — missing or invalid API key
403Forbidden — key lacks required scope
404Resource not found
409Conflict — duplicate ID
422Validation error — missing required fields
429Rate limit exceeded
500Internal server error

Rate Limits

Default limit is 60 requests per minute per API key. Enterprise keys can be configured with higher limits. When exceeded, you'll receive a 429 response. Implement exponential backoff for retries.

Auth

Loads

Drivers

Verified Activity Logs

Settings & Key Management

TMS Integration

PAL's API is designed to connect with standard freight TMS platforms. Common integration patterns:

McLeod / TMW

Use the POST /loads endpoint from your dispatch workflow trigger. Map your BOL number to the id field.

Excel / Google Sheets

Use the CSV upload in the Admin Portal for batch imports. Or call POST /loads in a loop from a macro or Apps Script.

Zapier / Make

Use the HTTP module with your API key. Trigger on new rows in a spreadsheet or new records in your CRM.

GPS / Telematics

Use PATCH /loads/:id to push current_lat, current_lng, and progress from your tracking device.