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.

get

Gets an image of the given model.

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.

put

Update machine name. User should be entitled for machine management.

put

Update machine serial number. User should be entitled for machine management.

put

Update machine organization. User should be entitled for organization management.

put

Update machine's model. User should be entitled for machine management.

put

Update machine PIN (Product Identification Number). User should be entitled for machine management. A valid PIN must contain 17 characters length, only alphanumeric characters are allowed and must be unique between all machine. Note that the request accepts mixed-case characters, but it will be stored in uppercase.

put

Update machine VIN (Vehicle Identification Number). User should be entitled for machine management. A valid VIN must contain 17 characters length, only alphanumeric characters are allowed and must be unique between all machine. Note that the request accepts mixed-case characters, but it will be stored in uppercase.

get

Get the number of machines.

Models

Endpoints to retrieve information about model(s).

get

Get a page of all available models matching the given criteria. Available models include all the models belonging to the requester's organization tree, or to any parent organization.

post

Creates a new model. The authenticated user must have "service.dp.model.admin" permission.

get

Get information about a single model.

delete

Deletes the model.

get

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

put

Updates the model's name.

put

Updates the model's description. This includes clearing it, if the request specifies a null value explicitly.

put

Updates the model's image. This includes clearing it, if the request specifies a null value explicitly.

post

Gets the aggregated measurement for each machine of the given model.

get

Gets the number of all distinct models currently assigned to any of the entitled machines. Please note that this is not a number of all available models (as served by the "GET /models" endpoint).

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.

put

Updates organization type. The given type must not be higher than the parent organization type. You can remove the organization type by setting a null 'type'.

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.

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's "banned" status (i.e. impose or revoke a ban upon a user). A banned user will not able to successfully authenticate with any Proemion application. User can not ban/unban himself.

get

Get the number of users.

Event subscriptions

Endpoints to subscribe to and unsubcribe from machine events.

get

Gets the authenticated user's status of machine GeoLeash events subscription.

put

Subscribes the authenticated user to (or unsubscribes them from) machine GeoLeash events.

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. Please note that by the end of Feb 2019, this endpoint will no longer be available and clients must update machine data using individual machine attributes. For example: /machines/{id}/name or /machines/{id}/serial endpoint.

put

Move machine to another organization unit. User should be entitled for the target organization unit as well as machine management in general. This endpoint is deprecated and is going to be removed by the end of Feb 2019. Use /machines/{id}/organizationUnit instead.

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.