POST /v1/integration-importRequest
{
"external_job_id": "BATCH-001",
"title": "Morning Deliveries",
"driver_email": "driver@example.com",
"stops": [
{
"external_stop_id": "STOP-1",
"address": "1 George St, Brisbane QLD 4000",
"label": "Customer A",
"parcel_count": 2
}
]
}Response
{
"job_id": "e7ad097b-...",
"optimization": {
"total_distance_km": 12.4,
"total_duration_minutes": 25
},
"stops": [ /* optimized order */ ],
"warnings": [...]
}Get Credentials
Generate your client ID and secret from the RouteMate dashboard settings page.
Request Token
Exchange your credentials for a bearer token that stays valid for one hour.
Call the API
Include the token in the Authorization header for import and status requests.
Client Credentials Flow
The RouteMate API uses a client credentials OAuth2 flow. Exchange your client ID and secret for a short-lived bearer token, then include it in the Authorization header of later requests.
01
Get Credentials
Generate your client ID and secret from the RouteMate dashboard settings page.
02
Request Token
Exchange your credentials for a bearer token that stays valid for one hour.
03
Call the API
Include the token in the Authorization header for import and status requests.
Core API Endpoints
These endpoints cover the most common delivery workflow integration tasks.
/v1/integration-tokenGet Access Token
Exchange client credentials for a short-lived access token valid for 1 hour.
Request
{
"client_id": "rm_ci_your_client_id",
"client_secret": "rm_cs_your_client_secret"
}Response
{
"access_token": "rm_at_e5988dd1b91a...",
"token_type": "Bearer",
"expires_in": 3600
}/v1/integration-importImport Job & Optimize Route
Import a job with stops, geocode addresses, optimize the route, and assign the driver.
Request
{
"external_job_id": "BATCH-001",
"title": "Morning Deliveries",
"driver_email": "driver@example.com",
"stops": [
{
"external_stop_id": "STOP-1",
"address": "1 George St, Brisbane QLD 4000",
"label": "Customer A",
"parcel_count": 2
}
]
}Response
{
"job_id": "e7ad097b-...",
"optimization": {
"total_distance_km": 12.4,
"total_duration_minutes": 25
},
"stops": [ /* optimized order */ ],
"warnings": [...]
}/v1/integration-jobsQuery Job Status
Check job and stop status, including delivery progress and counts.
Request
// GET requestResponse
{
"job_id": "e7ad097b-...",
"status": "assigned",
"stop_count": 3,
"status_counts": {
"pending": 2,
"completed": 1
},
"stops": [...]
}Get started in minutes
Use the examples below to authenticate, import jobs, and check delivery status.
curl -X POST https://api.routemate.app/v1/integration-token \
-H "Content-Type: application/json" \
-d '{"client_id":"rm_ci_your_client_id","client_secret":"rm_cs_your_client_secret"}'const tokenRes = await fetch("https://api.routemate.app/v1/integration-token", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
client_id: "rm_ci_your_client_id",
client_secret: "rm_cs_your_client_secret",
}),
});import requests
token_res = requests.post(
"https://api.routemate.app/v1/integration-token",
json={
"client_id": "rm_ci_your_client_id",
"client_secret": "rm_cs_your_client_secret",
},
)Production-ready from day one
Designed for reliable delivery workflows, retries, and downstream operations.