openapi: 3.0.1
info:
title: WorkWave Route Manager Callback Routes API
description: 'The WorkWave Route Manager (WWRM) REST API connects order-management systems to RouteManager''s route planning and optimization engine. It exposes resources for territories, depots, regions, companies, drivers, vehicles, orders, optimized routes (Time of Arrival), and GPS tracking. Requests that add, update, or delete data are asynchronous: they return a requestId immediately and the final outcome is delivered to a configured webhook callback URL. Authentication uses an API key (a UUID) passed either as the `key` query-string parameter or the `X-WorkWave-Key` HTTP header.'
termsOfService: https://www.workwave.com/terms-of-service/
contact:
name: WorkWave Support
url: https://www.workwave.com/contact-us/
version: '1.0'
servers:
- url: https://wwrm.workwave.com/api/v1
description: WorkWave Route Manager production API
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
tags:
- name: Routes
description: Retrieve optimized routes and Time of Arrival data.
paths:
/territories/{territoryId}/toa/routes:
parameters:
- $ref: '#/components/parameters/territoryId'
get:
operationId: listToaRoutes
tags:
- Routes
summary: List optimized routes (Time of Arrival) for a territory.
responses:
'200':
description: A list of optimized routes.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Route'
/territories/{territoryId}/toa/routes/{routeId}:
parameters:
- $ref: '#/components/parameters/territoryId'
- name: routeId
in: path
required: true
description: Route identifier, typically in the form {routeId}-{date}.
schema:
type: string
get:
operationId: getToaRoute
tags:
- Routes
summary: Retrieve a single optimized route with Time of Arrival details.
responses:
'200':
description: The optimized route.
content:
application/json:
schema:
$ref: '#/components/schemas/Route'
'404':
$ref: '#/components/responses/NotFound'
/territories/{territoryId}/approved/routes:
parameters:
- $ref: '#/components/parameters/territoryId'
get:
operationId: listApprovedRoutes
tags:
- Routes
summary: Retrieve approved route plan data for a territory.
responses:
'200':
description: A list of approved routes.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Route'
components:
schemas:
Route:
type: object
properties:
routeId:
type: string
date:
type: string
vehicleId:
type: string
driverId:
type: string
approved:
type: boolean
steps:
type: array
items:
$ref: '#/components/schemas/RouteStep'
Error:
type: object
properties:
status:
type: string
message:
type: string
RouteStep:
type: object
properties:
orderId:
type: string
type:
type: string
plannedArrivalSec:
type: integer
description: Planned time of arrival, seconds from midnight.
plannedDepartureSec:
type: integer
location:
$ref: '#/components/schemas/Location'
Location:
type: object
properties:
address:
type: string
latitude:
type: number
format: double
longitude:
type: number
format: double
parameters:
territoryId:
name: territoryId
in: path
required: true
description: The territory identifier used by most calls.
schema:
type: string
responses:
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: X-WorkWave-Key
description: API key (UUID) supplied via the X-WorkWave-Key HTTP header.
ApiKeyQuery:
type: apiKey
in: query
name: key
description: API key (UUID) supplied via the `key` query-string parameter. Takes precedence over the header if both are present.