This guide explains how to create and use Service Credentials to authenticate with our API.


1. Creating Service Credentials

Note: Creating Service Credentials requires admin access. Contact your administrator if you do not have the required permissions.

  1. Log in to CARS and navigate to Service → Service credentials in the left-hand menu.
  2. Click the (New service credentials) button in the top toolbar.
  3. In the dialog that appears, fill in the following:
    • Name (required) – Give the credentials a recognizable name.
    • Has all installations – Toggle this on if the credentials should have access to all installations, or leave it off and manually select the desired installations from the Selectable installations list.
    • Permissions – For each permission category (Alarms, Installations, Visualisation, Maintenance, Analysis, Forwardings, User management, Modules), check the access levels you want to grant: Read, Write, and/or Moderate.
  4. Click Save to create the credentials. You will receive a client_id and client_secret — store these securely, as the secret will not be shown again.

2. Requesting an Access Token

Send a POST request to the token endpoint with the following x-www-form-urlencoded parameters:

Parameter

Value

grant_type

client_credentials

client_id

Your client ID

client_secret

Your client secret

scopes

Semicolon-separated list of scopes (see below)

Scopes

Scopes define which permissions the token should have. Each scope consists of a category name and an access level, separated by a comma. Multiple scopes are separated by a semicolon ( ; ).

Access Level

Permissions Granted

1

Read

2

Read & Write

3

Read, Write & Moderate


Available Scope Categories

Alarm

VariableType

Setpoints

Installation

InstallationDriverProperty

ScheduleSettings

Location

InstallationTypeDriverProperty

ResetAlarms

User

RestApiCoupling

Maintenance

Role

Tag

MultiSourceProfile

Cause

Note

UserAvailability

InstallationType

InspectionReport

Transparency

Forwarding

MapManagement

VisualisationDashboard

ForwardingGroup

Rtc

ServiceCredentials

ForwardingSchedule

EventLog

Track

Profile

ConnectionLog



Example

Installation,1;Location,1  

→ Read access to Installations and Locations

Installation,2;Alarm,3 

→ Read+Write on Installations, full access on Alarms

Example Request

POST /token HTTP/1.1

Content-Type: application/x-www-form-urlencoded


grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&scopes=Installation,1;Location,1

Response

{

  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6...",

  "token_type": "Bearer",

  "expires_in": 3600

}


3. Using the Access Token

Include the access token in the Authorization header of every API request:

GET /api/v1/some-endpoint HTTP/1.1

Authorization: Bearer YOUR_ACCESS_TOKEN


4. Notes

  • Token expiry: Tokens expire after the period indicated by expires_in (in seconds). Request a new token when it expires.
  • Scope: The scope requested when acquiring a token cannot exceed the permissions configured on the credentials.
  • Security: Never expose your client_secret in client-side code or public repositories. Treat it like a password.
  • Documentation: More information about the API can be found at https://cars-api.carsonline.eu/

Vorige | Volgende