Skip to main content

API Reference

Technical specification for every Sovereign Solutions REST endpoint: paths, parameters, request and response bodies. For solution overviews and use cases, see Solutions.

Machine-readable spec: openapi.yaml · openapi.json - import either into Postman, Insomnia or Swagger UI.


How the catalogue is organised​

APIs are grouped by solution area, matching the Solutions catalogue. Authentication sits on its own because every other API depends on it.

Access differs per API, not per group:

AccessWhat it means
API key onlyAvailable to any authenticated caller with an API key. No Intelomatic tenant and no data upload required.
Requires Intelomatic tenantRequire an Intelomatic tenant. Register a tenant, upload your data, and these endpoints operate within your own workspace - most of them read or write the data you have uploaded, and several are scoped to your tenant's configured country.

Each reference page carries its own access badge, and the tables below list it per API.


Authentication​

Every endpoint, including the token call, requires a bearer token and the api-key query parameter.

Authorization: Bearer <access_token>
?api-key=<apiKey>
CredentialWhat it isWhere it comes from
AuthorizationOAuth2 access tokenPOST /oauth/token
api-keyYour tenant keyIssued by Sovereign Solutions during onboarding

Getting a token​

curl -X POST 'https://api-gw.sovereignsolutions.com/gateway/authen/oauth/token?api-key=$API_KEY' \
-d 'grant_type=password' \
-d 'username=$USERNAME' \
-d 'password=$PASSWORD'
{
"access_token": "<JWT>",
"token_type": "bearer",
"expires_in": 3600,
"refresh_token": "<token>"
}

Base URLs​

ServiceBase URL
Tenant API gatewayhttps://api-gw.sovereignsolutions.com/gateway/{tenant}
Identity / OAuth2https://api-gw.sovereignsolutions.com/gateway/authen

{tenant} is your assigned tenant code.


Conventions​

These hold across the whole platform.

Search responses are always wrapped in the same envelope:

{
"data": [ /* records */ ],
"total": 42
}

Pagination uses skip and take in the request body. take: -1 returns all matches.

Deletes return a count rather than the deleted object:

{ "count": 1 }

Status markers​

MarkerMeaning
ReadyVerified contract, safe to integrate against
PlannedContract agreed, endpoint not built yet
TBDContract not established; earlier path was incorrect and was removed
Coming soonPlanned capability, contract not yet published
DeferredExists internally; external exposure decision pending
PendingInternal path; external availability unconfirmed

Authentication​

APIOperationsAccessStatus
Authentication (OAuth2 Token)2API key onlyReady

Location and Address Intelligence APIs​

APIOperationsAccessStatus
Batch Geocoding API-API key onlyComing soon
Batch Reverse Geocoding API1API key onlyReady
DigiPin API3API key onlyReady
Geocode API3API key onlyReady
Geocode Suggest API1API key onlyReady
Reverse Geocode API1API key onlyReady

Map Visualization​

APIOperationsAccessStatus
Elevation API6API key onlyReady
Map Base Tiles API9API key onlyReady

Route and Journey Intelligence APIs​

APIOperationsAccessStatus
Distance API2API key onlyReady
Isochrone API2API key onlyReady
Optimal Routes API1API key onlyReady
Route API1API key onlyReady
Route Matrix API1API key onlyReady
Snap to Road API2API key onlyReady

Field Force Mobility Execution APIs​

APIOperationsAccessStatus
Customer API6Requires tenantReady
Employee Management API8Requires tenantReady
Events API2Requires tenantReady
PJP (Permanent Journey Plan) API9Requires tenantReady
Tracking API3Requires tenantReady

Custom Integrations​

APIOperationsAccessStatus
Custom Data Layers API6Requires tenantReady