Get up and running with the Transportial OTMS API in minutes. This guide walks you through authentication, creating your first transport order, and understanding the response structure.
- A Transportial account — register here
- For development access, use the developer registration
| Environment | URL |
|---|---|
| Production | https://api.otms.transportial.com/api |
| Test | https://test.api.otms.transportial.com/api |
All API requests require a Bearer token. Obtain one by logging in:
curl -X POST https://api.otms.transportial.com/api/user/login \
-H "Content-Type: application/json" \
-d '{
"username": "your@email.com",
"password": "your-password"
}'Response:
{
"success": true,
"message": "OK",
"session": {
"id": "session-uuid",
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"refresh_token": "refresh-token-uuid",
"expiresAt": "2026-03-23T12:00:00Z",
"permissions": [
{ "name": "create:transportOrder" },
{ "name": "get:transportOrders" }
]
}
}Use the access_token in all subsequent requests:
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...Before creating transport orders, you need at least one business entity (your company or a customer):
curl -X POST https://api.otms.transportial.com/api/business \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"name": "Acme Logistics B.V.",
"coc": "12345678",
"vat": "NL123456789B01",
"contactDetails": [
{
"type": "email",
"value": "info@acme-logistics.com"
}
]
}'A transport order is the core entity — it represents a request to move goods from A to B.
curl -X POST https://api.otms.transportial.com/api/transportOrder \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"name": "Shipment AMS-RTD #1042",
"status": "requested",
"consignments": [
{
"status": "requested",
"goods": [
{
"type": "items",
"description": "Electronics",
"quantity": 120,
"weight": { "value": 2400, "unit": "kg" }
}
]
}
]
}'Response:
{
"success": true,
"message": "OK",
"transportOrder": {
"id": "transport-order-uuid",
"name": "Shipment AMS-RTD #1042",
"status": "requested",
"consignments": [
{
"id": "consignment-uuid",
"status": "requested",
"goods": [ ... ]
}
],
"createdAt": "2026-03-22T10:30:00Z"
}
}curl -X GET https://api.otms.transportial.com/api/transportOrder/{id} \
-H "Authorization: Bearer YOUR_TOKEN"All API responses follow a consistent structure:
{
"success": true,
"message": "OK",
"entity": { ... }
}List endpoints include pagination:
{
"success": true,
"message": "OK",
"totalResults": 142,
"items": [ ... ]
}Errors return:
{
"success": false,
"message": "Description of what went wrong",
"statusCode": 400
}- Learn about the core concepts behind transport orders, consignments, and trips
- Browse and install apps from the App Store
- Explore the full API Reference