TrackRoad API Reference Overview

TrackRoad provides REST and SOAP APIs to help you build applications for route optimization, multi-vehicle dispatch, geocoding, routing, and ETA/distance calculations.

Use this API hub to find base URLs, authentication, and the list of available REST endpoints and SOAP operations for TrackRoad’s routing API.

TrackRoad API reference overview showing REST endpoints, SOAP operations, and authentication with TrackServiceKey
API reference overview: REST endpoints, SOAP operations, and authentication using TrackServiceKey.

Before you begin

Need the full REST contract?

Swagger provides the complete list of REST endpoints, parameters, request models, and response models.

View Swagger UI Dispatch API

Table of Contents

  1. REST and SOAP base URLs
  2. REST API endpoints
  3. SOAP API operations
  4. REST authentication (X-API-Key)
  5. SOAP authentication (SessionIDHeader)
  6. Login / Logout (legacy)
  7. Security best practices
  8. Common authentication errors
  9. FAQ

REST and SOAP base URLs#

TrackRoad provides two API styles: REST and SOAP. All endpoints are rooted at the same service host:

API URL
Base URL https://trackservice.trackroad.com
REST base URL https://trackservice.trackroad.com/rest
SOAP service endpoint https://trackservice.trackroad.com/TrackService.asmx

REST API endpoints#

REST calls are defined by HTTP method + endpoint, for example: POST /rest/dispatch. The “Operation” is the logical action performed by that endpoint.

HTTP Method Endpoint Operation Description
POST /rest/dispatch Dispatch Optimize and dispatch stops across multiple vehicles (stop order, ETA, distance, duration, skipped/unassigned stops).
Docs: Dispatch API
Full URL: https://trackservice.trackroad.com/rest/dispatch
POST /rest/geocode Geocode Convert addresses into latitude/longitude (optionally with a match score).
Docs: Geocoding API
Full URL: https://trackservice.trackroad.com/rest/geocode
POST /rest/route Route Calculate a route from a series of locations.
Docs: Route API
Full URL: https://trackservice.trackroad.com/rest/route
POST /rest/routes Routes Calculate multiple routes in one request.
Docs: Routes API
Full URL: https://trackservice.trackroad.com/rest/routes
POST /rest/credit Credit Return remaining credit count.
Docs: Credit API
Full URL: https://trackservice.trackroad.com/rest/credit
POST /rest/login Login (legacy) Legacy: returns an API key for older integrations.
Docs: API authentication
Full URL: https://trackservice.trackroad.com/rest/login
POST /rest/logout Logout (legacy) Ends a legacy session.
Full URL: https://trackservice.trackroad.com/rest/logout

Use Swagger UI for the complete REST contract, including all models and parameters.

SOAP API operations#

SOAP calls are defined by service endpoint + operation + SOAPAction. All operations are invoked via HTTP POST on: https://trackservice.trackroad.com/TrackService.asmx

Authentication: For SOAP requests, include SessionIDHeader and set SessionID to your API Key (TrackServiceKey). Login/Logout are legacy and not required for new integrations.

Service endpoint Operation SOAPAction Description
/TrackService.asmx Dispatch http://TrackService.TrackRoad.com/Dispatch Dispatch & optimize 1000's of stops with multiple vehicles.
Docs: Dispatch API
/TrackService.asmx Geocode http://TrackService.TrackRoad.com/Geocode Accepts a list of addresses/locations and returns geocoded stops with lat/lon (and optional match codes). Docs: Geocoding API
/TrackService.asmx CalculateRoute http://TrackService.TrackRoad.com/CalculateRoute Turn-by-turn directions and route maps for a single route.
Docs: Route API
/TrackService.asmx CalculateRoutes http://TrackService.TrackRoad.com/CalculateRoutes Multiple route turn-by-turn directions and route maps. An overall map for all routes is also included.
Docs: Routes API
/TrackService.asmx CalculateDistance http://TrackService.TrackRoad.com/CalculateDistance Returns driving distance and travel time from point A to point B.
/TrackService.asmx CreditRemaining http://TrackService.TrackRoad.com/CreditRemaining Returns remaining credit count.
Docs: Credit API
/TrackService.asmx GetRouteList http://TrackService.TrackRoad.com/GetRouteList Returns a list of routes created in an account (filterable by date range, owner, and route name).
/TrackService.asmx GetRoute http://TrackService.TrackRoad.com/GetRoute Returns a route by RouteID.
/TrackService.asmx GetTrack http://TrackService.TrackRoad.com/GetTrack Accepts FromDate and ToDate (UTC). Returns GPS coordinates with UTC timestamps for the specified range.
/TrackService.asmx Login (legacy) http://TrackService.TrackRoad.com/Login Legacy session-based auth. New integrations should send TrackServiceKey as SessionIDHeader/SessionID.
Docs: API authentication
/TrackService.asmx Logout (legacy) http://TrackService.TrackRoad.com/Logout Ends a legacy session.

WSDL: https://trackservice.trackroad.com/TrackService.asmx?WSDL

REST authentication (X-API-Key)#

For REST requests, send your API Key (TrackServiceKey) in the X-API-Key header on every request.

curl -X POST "https://trackservice.trackroad.com/rest/dispatch" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_TRACKSERVICEKEY" \
  -d '{ }'

Keep API keys server-side. Do not embed keys in browser or mobile client code.

SOAP authentication (SessionIDHeader)#

For SOAP requests, include SessionIDHeader and set SessionID to your API Key (TrackServiceKey).

<soap:Header>
  <SessionIDHeader xmlns="http://TrackService.TrackRoad.com/">
    <SessionID>YOUR_TRACKSERVICEKEY</SessionID>
  </SessionIDHeader>
</soap:Header>

Example SOAP call (Dispatch)

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <SessionIDHeader xmlns="http://TrackService.TrackRoad.com/">
      <SessionID>YOUR_TRACKSERVICEKEY</SessionID>
    </SessionIDHeader>
  </soap:Header>
  <soap:Body>
    <Dispatch xmlns="http://TrackService.TrackRoad.com/">
      <specification>
        <RoutingService>NetRoad</RoutingService>
        <DistanceUnit>Mile</DistanceUnit>
        <RouteOptimize>MinimizeTime</RouteOptimize>
        <Vehicles>
          <Vehicle><Name>Truck 1</Name></Vehicle>
        </Vehicles>
        <Locations>
          <Location>
            <Address>
              <Street>1 Market St</Street>
              <City>San Francisco</City>
              <State>CA</State>
              <PostalCode>94105</PostalCode>
              <Country>USA</Country>
            </Address>
          </Location>
        </Locations>
      </specification>
    </Dispatch>
  </soap:Body>
</soap:Envelope>

Set the HTTP header SOAPAction to the correct value, e.g. http://TrackService.TrackRoad.com/Dispatch.

Login / Logout (legacy)#

Legacy notice: Login/Logout remain documented for older integrations, but they are not required for new implementations. New integrations should use an API Key (TrackServiceKey) generated in the TrackRoad account.

  • Preferred: API Key auth — API authentication
  • Legacy: REST /rest/login, /rest/logout and SOAP Login/Logout

Security best practices#

  • Never embed API keys in client-side code (browser/mobile apps). Keep keys server-side.
  • Use HTTPS only.
  • Rotate keys if exposed and limit who has access.
  • Avoid logging secrets (headers, API keys, or full payloads with sensitive data).

Common authentication errors#

  • 401 / Unauthorized: Missing or invalid X-API-Key (REST) or missing/invalid SessionIDHeader (SOAP).
  • 403 / Forbidden: Key is valid but blocked, expired, or lacks credit.

FAQ#

How do I authenticate with REST?

Send X-API-Key: YOUR_TRACKSERVICEKEY with every REST request.

How do I authenticate with SOAP?

Include SessionIDHeader and set SessionID to your API key (TrackServiceKey).

Do I still need Login/Logout?

No for new integrations. Login/Logout are kept for legacy integrations and backward compatibility.

Where can I find the complete REST API contract?

Use Swagger UI for the full REST contract.

Ready to build with TrackRoad?

Generate your API Key (TrackServiceKey), then explore the full REST contract in Swagger or start with Dispatch.

Get API Key View Swagger UI