Introduction
Welcome to the Cargors API documentation.
The Cargors API follows REST principles. Send JSON request bodies with Content-Type: application/json. Responses are always JSON objects (a single resource or an array nested in the response).
Shippers and carriers use different authentication and integration flows. Use the section that matches your role.
Need a quick live rate without an API key? Use the Public Rates API: one GET request with pickup, delivery, and number of pallets.
AI assistants / LLMs: start at /llms.txt for discovery rules (rates only, no carrier names, no bookings).
Shippers vs carriers
| Shippers | Carriers | |
|---|---|---|
| Purpose | Create shipments, request quotes, track loads, download labels | Receive assigned shipments, update status, upload POD |
| Portal | Yes — Cargors Portal for account and API key management | No portal access for API key management |
| How to get an API key | Shipper Generate API key — portal or API | Carrier Generate API key — API only |
| Guide | Shipper usage guide | Carrier usage guide |
Prerequisites
- An environment for HTTP requests (Postman,
curl, or your own client) - Shippers: a Cargors Portal account and/or Basic Auth credentials
- Carriers: Basic Auth credentials from Cargors (carriers do not create keys in the portal)
Authentication (all APIs)
After you have an API key, send it on every request:
x-api-key: <API_KEY_VALUE>
All API requests must use HTTPS. Requests without authentication fail.
Generate your key using the guide for your role:
Endpoints
Testing and live traffic use the same API base URL. You choose Development or Production when you generate the key (keyMode), not by switching hosts.
| URL | |
|---|---|
| API base URL | https://app.cargors.com/api/edi |
| Portal (shippers only — account & API key management) | https://portal.cargors.com/ |
Development vs Production API keys
| Key mode | Behavior |
|---|---|
| Development | Validates the request payload and returns a sample response. No real shipment or order is created. Use while integrating. |
| Production | Creates real shipments (shipper APIs) / runs live operations. Requires Go live access where applicable. |
Ready to go live? After Development-key testing, email operations@cargors.com to request Go live access. Once enabled, you can generate Production API keys.
Error handling
Cargors API uses standard HTTP status codes. In general, 2xx means success and 4xx means a client error. Error bodies include a JSON object with an errors array. A 5xx status means something went wrong on our side.
Example error payload
{
"errors": [
{
"code": "unauthorized",
"title": "Authorization is required"
}
]
}