Skip to main content
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 with kms_manual. After creation the route is in status: pending. Emissions are calculated asynchronously — poll GET /v1/transports/ until status becomes active or error.

Request

Headers

string
required
Your API key for authenticationExample: sk_live_1234567890abcdef
string
required
Your organization UUIDExample: a8315ef3-dd50-43f8-b7ce-d839e68d51fa
string
required
Must be application/json

Body

string
Optional human-readable label for this route (e.g. "Barcelona → Damascus Q2")
date
required
Date of the transport event (YYYY-MM-DD)Example: "2024-06-15"
decimal
required
Amount of cargo transported. Must be greater than 0, max 10 digits with 3 decimal places.Example: 1500.000
string
Optional supplier or carrier name
string
required
Direction of the transport:
  • downstream — outbound, goods sent to customers
  • upstream — inbound, goods received from suppliers
UUID
required
UUID of the unit of measurement for quantity_transported. Common values:
array
required
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 created TransportRouteSch 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.
string
Unique identifier (UUID) of the new route
string | null
Route name as provided
date | null
Date of transport (YYYY-MM-DD)
number
Amount transported
string | null
Supplier name as provided
string
downstream or upstream
string | null
Recurrence value set by the system: once, weekly, monthly
object
Resolved unit of measurement
number | null
Total CO2-equivalent emissions in kg. null immediately after creation — available once status is active.
array
Route-level emissions summary. Empty until calculation completes.
string
pending immediately after creation. Transitions to active when calculation succeeds, or error if it fails.
string | null
Always null for routes created via this endpoint (only set for bulk-uploaded routes)
array
Created sections with their assigned part numbers and initial geocoding state. See Get Transport Route for the full section schema.
object | null
The authenticated user who created this route
datetime
ISO 8601 creation timestamp
datetime | null
ISO 8601 last-update timestamp

Example

Successful Response (201 Created)

Common Errors

401 Unauthorized

Cause: Missing or invalid API key / JWT token

403 Forbidden

Cause: The authenticated user is not a member of the organization

404 Not Found

Cause: The provided unit_id does not exist

422 Unprocessable Entity

Cause: Missing required field or invalid value
Cause: sections array is empty

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