Authentication

Endpoint to authenticate the user and obtain an access token for accessing any entitled enpoints. This follows the OAuth 2.0 password based grant. After the 5th failed authentication attempt the user will get blocked for some time.

post

Obtain an access token for a given user and client. The response code, either 200 or 303, depends on whether the redirect_uri optional field was not set or set in the request, respectively.

Communication Units

Endpoints to retrieve information about communication unit(s).

get

Get a list of all communication units visible to the current user.

get

Get information about a single communication unit.

get

Get the number of communication units.

Clustering

Endpoints to obtain clustering reports.

post

Generate a k-means clustering report. Each report point (aggregated point) corresponds to a machine of the model. Aggregated points are calculated by applying the reduction function to all measurements of given signal of the machine. The number of requested clusters has to be greater than the number of machines of a model.

Images

Endpoints to retrieve images.

get

Gets the image for a given machine.

Machines

Endpoints to retrieve information about machine(s).

get

Get a list of machines satisfying the given criteria.

get

Get information about a single machine.

get

Gets geo history of a machine for a given time range.

get

Get the latest signal values of a machine.

Measurements are most useful when showing the current state of a vehicle. For example, a gauge with the latest temperature.

Signals are grouped by type (numeric or string).

Signal names are retrieved from metrics seen during last 30 days or in given interval (see 'from' and 'to' parameters). Maximal lookup interval is 30 days.

get

Get the Diagnostic Trouble Codes for this machine. Consistent with J1939 specification.

get

Get the J1939 lamps for this machine aggregated per lamp type by time with given bucketSize. Consistent with J1939 specification.

get

Get all signals a machine could possibly have based on it's configuration.

get

Get the number of machines.

Models

Endpoints to retrieve information about model(s).

get

Get a page of models matching the given criteria.

get

Get information about a single model.

get

Get all signals configured for this model and of all its assigned machines.

get

Get the number of models.

Organization Units

Endpoints to retrieve information about organization unit(s).

get

Get a page of organization units matching the given criteria.

post

Creates a new organization. The logged in user must have service.dp.organization.manage permission.

get

Get the number of organization units.

get

Get Organization Unit by url parameter id optionally having a tree of sub organization units. It might also return organization SAP reference number if logged in user has 'service.dp.contract.view' permission.

put

Change the name of an organization.

delete

Deletes an organization.

get

Get a list of users belonging the specified organization unit and matching the given criteria.

get

Get a list of models belonging the specified organization unit and matching the given criteria.

get

Get a list of communication units belonging the specified organization unit and matching the given criteria.

Timeseries

Endpoints to query timeseries. Timeseries are composed of raw or aggregated values for a particular signal of a machine or a model.

Timeseries are useful when querying a number of values over a date range, we support a wide range of aggregations and raw (non-aggregated) datapoints.

An example usage is providing data for plotting signal value changes over time.

This is in contrast to the /measurements API, which returns just the last data point.

post

Run the given query.

IMPORTANT NOTE: As a result of our internal bucket division and how aggregation operations are calculated, you might experience an unexpected amount of results in those situations where aggregation functions are used in combination with a time range that crosses more than one of our internal data buckets. In those situations, the result will contain one datapoint per crossed bucket. As an example, a request with a selected bucket size of 1h under a 2h time range could be answered with 2+ datapoint. Assume, storage contains data points with timestamps "10:30:00", "11:30:00", "12:03:00". If requested timerange is "Nov 21 2018 10:05:00" - "Nov 21 2018 12:05:00" then the response will contain 3 buckets (instead of 2) with timestamps "10:00:00", "11:00:00" and "12:00:00". Keep in mind that the bucket content is not wrong. The combined 3 buckets get the correct number. For example, if you use the sum aggregation, the total for the 3 buckets will be as expected. This is just the way the response is presented (in a full hour interval broken on the hour).

Users

Endpoints to retrieve users.

get

Get a list of all users.

get

Get a single user by their uuid or name.

get

Get an array of permission sets for a given user (target), containing assignable levels for each subject. Assignable levels are based on the logged in user's (actor) ability to change the permission sets.

put

Updates the current permissions for a given user.

put

Update user detail (First name and Last name).

put

Update user email.

get

Get the number of users.

Endpoints to search for following entities: models, machines, communication units, organization units, and users

Entitlements

The entitlements are used to control access to the REST endpoints for each user. This listing provides all possible entitlements.

get

Get a list of all dataportal entitlements.

Machine administration

Endpoints to update machines.

put

Update machine parameters. For now supports update of machine name only. User should be entitled for machine management.

put

Move machine to another organization unit. User should be entitled for the target organization unit as well as machine management in general.

Users administration

Endpoint to update user's organization.

put

Move user to another organization unit. Executor should be entitled for the target organization unit and also needs to have service.dp.organization.manage permission.