Create Transport Route
Create Transport Route
Create a new transport route with one or more sections. Emissions are calculated asynchronously.
POST
Create Transport Route
Create Transport Route
Create a new transport route for your organization. A route consists of one or more sections (legs), each describing a segment of the journey with its own transport mode and distance. Distances are geocoded automatically from origin/destination addresses, or you can override them withkms_manual.
After creation the route is in status: pending. Emissions are calculated asynchronously — poll GET /v1/transports/ until status becomes active or error.
Request
Authentication
Supports both authentication methods:Your API key (use this or
Authorization)Example: sk_live_1234567890abcdefBearer JWT token (use this or
x-api-key)Example: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...Headers
Your organization UUIDExample:
a8315ef3-dd50-43f8-b7ce-d839e68d51faMust be
application/jsonBody
Optional human-readable label for this route (e.g.
"Barcelona → Damascus Q2")Date of the transport event (YYYY-MM-DD)Example:
"2024-06-15"Amount of cargo transported. Must be greater than 0, max 10 digits with 3 decimal places.Example:
1500.000Optional supplier or carrier name
Direction of the transport:
downstream— outbound, goods sent to customersupstream— inbound, goods received from suppliers
UUID of the unit of measurement for
quantity_transported. Common values:| Unit | UUID |
|---|---|
| kilogram (kg) | 61743a63-ff70-459c-9567-5eee8f7dfd5c |
| metric tonne (t) | cab66828-c2b1-431b-92af-f9ab37149d3c |
Ordered list of transport legs. At least one section is required. Sections are processed in order and assigned
part numbers starting from 1.Response
Returns the newly createdTransportRouteSch object with HTTP status 201 Created.
Emissions are calculated asynchronously. Immediately after creation,
status will be pending and co2e will be null. Poll GET /v1/transports/ until status is active (success) or error (calculation failed). Typical calculation time is a few seconds per section.Unique identifier (UUID) of the new route
Route name as provided
Date of transport (YYYY-MM-DD)
Amount transported
Supplier name as provided
downstream or upstreamRecurrence value set by the system:
once, weekly, monthlyResolved unit of measurement
Total CO2-equivalent emissions in kg.
null immediately after creation — available once status is active.Route-level emissions summary. Empty until calculation completes.
pending immediately after creation. Transitions to active when calculation succeeds, or error if it fails.Always
null for routes created via this endpoint (only set for bulk-uploaded routes)Created sections with their assigned
part numbers and initial geocoding state. See Get Transport Route for the full section schema.The authenticated user who created this route
ISO 8601 creation timestamp
ISO 8601 last-update timestamp
Example
Successful Response (201 Created)
Common Errors
401 Unauthorized
Cause: Missing or invalid API key / JWT token403 Forbidden
Cause: The authenticated user is not a member of the organization404 Not Found
Cause: The providedunit_id does not exist
422 Unprocessable Entity
Cause: Missing required field or invalid valuesections array is empty
Related Endpoints
Get Transport Route
Retrieve a single route by ID (use this to poll for calculated emissions)
List Transport Routes
Retrieve all transport routes with filtering and pagination
Update Transport Route
Modify a transport route and its sections
Transport Overview
Full data model and distance calculation reference

