Authorization User Roles HTTP Methods Real-Time Data Streaming Status Codes Content Types Errors Pagination Rate Limiting Versioning
Please beware that the documentation is still in Alpha!
To retrieve a device, you can get a Device
object.
1linkGET /v1/Devices
2linkGET /v1/Devices/all
3linkGET /v1/Devices/{id}
4linkPUT /v1/Devices/{id}
5linkDELETE /v1/Devices/{id}
6linkGET /v1/Devices/{id}/differential
7linkGET /v1/Devices/{id}/info
8linkGET /v1/Devices/{id}/location
9linkGET /v1/Devices/{id}/speed
10linkGET /v1/Devices/{id}/state
11linkPOST /v1/Devices/{id}/users
12linkGET /v1/Devices/user/{id}/details
0
1
2
3
1link{
2link "id": "string",
3link "tenantId": "string",
4link "name": "string",
5link "state": "string",
6link "deleted": 0,
7link "isBeta": true,
8link "celullarStatusId": "string",
9link "celullarStatus": {
10link "id": "string",
11link "username": "string",
12link "password": "string",
13link "apn": "string",
14link "currentOperator": "string",
15link "currentTechnology": "string",
16link "iccid": "string",
17link "imsi": "string",
18link "imei": "string",
19link "networkSearchMode": "string",
20link "signalStrength": "string",
21link "simState": "string",
22link "createdDate": "2023-01-04T14:49:08.103Z",
23link "lastUpdated": "2023-01-04T14:49:08.103Z"
24link },
25link "deviceManufacturerInfo": {
26link "coprocessorVersion": "string",
27link "gnssVersion": "string",
28link "model": "string",
29link "serialNumber": "string",
30link "serialPcbNumber": "string",
31link "wifiAddress": "string",
32link "bluetoothAddress": "string",
33link "imei": 0,
34link "hardwareVersion": {
35link "name": "string",
36link "version": 0,
37link "updatesHardwareVersions": [
38link {
39link "hardwareVersionId": "string",
40link "updateId": "string"
41link }
42link ],
43link "id": "string",
44link "createdDate": "2023-01-04T14:49:08.103Z",
45link "lastUpdated": "2023-01-04T14:49:08.103Z"
46link },
47link "id": "string",
48link "createdDate": "2023-01-04T14:49:08.103Z",
49link "lastUpdated": "2023-01-04T14:49:08.103Z"
50link },
51link "lastSynced": "2023-01-04T14:49:08.103Z",
52link "version": "string",
53link "differential": {
54link "deviceId": "string",
55link "date": "2023-01-04T14:49:08.103Z",
56link "baseId": "string",
57link "differentialAge": 0
58link },
59link "info": {
60link "deviceId": "string",
61link "date": "2023-01-04T14:49:08.103Z",
62link "batteryPercentage": 0,
63link "elevationX": 0,
64link "elevationY": 0,
65link "elevationZ": 0
66link },
67link "location": {
68link "deviceId": "string",
69link "date": "2023-01-04T14:49:08.103Z",
70link "latitude": 0,
71link "latitudeDeviation": 0,
72link "longitude": 0,
73link "longitudeDeviation": 0,
74link "height": 0,
75link "heightDeviation": 0,
76link "undulation": 0,
77link "satellitesTracked": 0,
78link "satellitesInUse": 0,
79link "solutionAge": 0,
80link "solutionStatus": "string"
81link },
82link "speed": {
83link "deviceId": "string",
84link "date": "2023-01-04T14:49:08.103Z",
85link "horizontalSpeed": 0,
86link "direction": 0,
87link "verticalSpeed": 0
88link },
89link "deviceDownload": {
90link "deviceId": "string",
91link "date": "2023-01-04T14:49:08.103Z",
92link "percentage": 0
93link },
94link "profile": {
95link "name": "string",
96link "description": "string",
97link "isActive": true,
98link "mode": {
99link "name": "string",
100link "tag": "string",
101link "id": "string",
102link "createdDate": "2023-01-04T14:49:08.103Z",
103link "lastUpdated": "2023-01-04T14:49:08.103Z"
104link },
105link "positioningMode": "string",
106link "ntripClient": {
107link "profileId": "string",
108link "manual": true,
109link "address": "string",
110link "port": 0,
111link "username": "string",
112link "password": "string",
113link "mountPoint": "string",
114link "sendNmeaGga": true
115link },
116link "output": {
117link "name": "string",
118link "outputOptions": [
119link {
120link "name": "string",
121link "required": true,
122link "outputType": "string"
123link }
124link ],
125link "optionValues": [
126link {
127link "id": "string",
128link "name": "string",
129link "value": "string"
130link }
131link ],
132link "id": "string",
133link "createdDate": "2023-01-04T14:49:08.103Z",
134link "lastUpdated": "2023-01-04T14:49:08.103Z"
135link },
136link "format": {
137link "id": "string",
138link "name": "string",
139link "nmea": {
140link "id": "string",
141link "talker": "string",
142link "options": [
143link {
144link "id": "string",
145link "name": "string",
146link "enabled": true,
147link "hertz": 0
148link }
149link ]
150link }
151link },
152link "profileUsers": [
153link {
154link "profileId": "string",
155link "userId": "string",
156link "isDefault": true
157link }
158link ],
159link "id": "string",
160link "createdDate": "2023-01-04T14:49:08.103Z",
161link "lastUpdated": "2023-01-04T14:49:08.103Z"
162link },
163link "deviceUsers": [
164link {
165link "deviceId": "string",
166link "userId": "string"
167link }
168link ],
169link "createdDate": "2023-01-04T14:49:08.103Z",
170link "lastUpdated": "2023-01-04T14:49:08.103Z"
171link}
1linkexport interface IDevice {
2link id: string,
3link tenantId: string,
4link name: string,
5link state: string,
6link deleted: boolean,
7link isBeta: boolean,
8link celullarStatusId: string,
9link celullarStatus: ICelullarStatus,
10link deviceManufacturerInfo: IDeviceManufacturerInfo,
11link lastSynced: DateTime,
12link version: string,
13link differential: IDeviceDifferential,
14link info: IDeviceInfo,
15link location: IDeviceLocation,
16link speed: IDeviceSpeed,
17link deviceDownload: IDeviceDownload,
18link profile: IProfile,
19link deviceUsers: IDeviceUser[],
20link createdDate: DateTime,
21link lastUpdated: DateTime
22link}
23link
24linkexport interface IProfile {
25link id: string,
26link name: string,
27link description: string,
28link isActive: boolean,
29link mode: {
30link name: string,
31link tag: string,
32link id: string,
33link createdDate: DateTime,
34link lastUpdated: DateTime
35link },
36link positioningMode: string,
37link ntripClient: {
38link profileId: string,
39link manual: boolean,
40link address: string,
41link port: number,
42link username: string,
43link password: string,
44link mountPoint: string,
45link sendNmeaGga: boolean
46link },
47link output: {
48link name: string,
49link outputOptions: [
50link {
51link name: string,
52link required: boolean,
53link outputType: string
54link }
55link ],
56link optionValues: [
57link {
58link id: string,
59link name: string,
60link value: string
61link }
62link ],
63link id: string,
64link createdDate: DateTime,
65link lastUpdated: DateTime
66link },
67link format: {
68link id: string,
69link name: string,
70link nmea: {
71link id: string,
72link talker: string,
73link options: [
74link {
75link id: string,
76link name: string,
77link enabled: boolean,
78link hertz: number
79link }
80link ]
81link }
82link },
83link profileUsers: {
84link profileId: string,
85link userId: string,
86link isDefault: boolean
87link }
88link createdDate: DateTime,
89link lastUpdated: DateTime
90link}
91link
92linkexport interface IDeviceDownload {
93link deviceId: string,
94link date: DateTime,
95link percentage: number
96link}
97link
98linkexport interface IDeviceSpeed {
99link deviceId: string,
100link date: DateTime,
101link horizontalSpeed: number,
102link direction: number,
103link verticalSpeed: number
104link}
105link
106linkexport interface IDeviceLocation {
107link deviceId: string,
108link date: DateTime,
109link latitude: number,
110link latitudeDeviation: number,
111link longitude: number,
112link longitudeDeviation: number,
113link height: number,
114link heightDeviation: number,
115link undulation: number,
116link satellitesTracked: number,
117link satellitesInUse: number,
118link solutionAge: number,
119link solutionStatus: string
120link}
121link
122linkexport interface IDeviceInfo {
123link deviceId: string,
124link date: DateTime,
125link batteryPercentage: number,
126link elevationX: number,
127link elevationY: number,
128link elevationZ: number
129link}
130link
131linkexport interface IDeviceDifferential {
132link baseId: string,
133link deviceId: string,
134link date: DateTime,
135link differentialAge: number
136link}
137link
138linkexport interface IDeviceManufacturerInfo {
139link id: string,
140link coprocessorVersion: string,
141link gnssVersion: string,
142link model: string,
143link serialNumber: string,
144link serialPcbNumber: string,
145link wifiAddress: string,
146link bluetoothAddress: string,
147link imei: number,
148link hardwareVersion: {
149link id: string,
150link name: string,
151link version: number,
152link updatesHardwareVersions: [
153link {
154link hardwareVersionId: string,
155link updateId: string
156link }
157link ],
158link createdDate: DateTime,
159link lastUpdated: DateTime
160link },
161link createdDate: DateTime,
162link lastUpdated: DateTime
163link }
164link
165linkexport interface ICelullarStatus{
166link id: string,
167link username: string,
168link password: string,
169link apn: string,
170link currentOperator: string,
171link currentTechnology: string,
172link iccid: string,
173link imsi: string,
174link imei: string,
175link networkSearchMode: string,
176link signalStrength: string,
177link simState: string,
178link createdDate: DateTime,
179link lastUpdated: DateTime
180link}
181link
182linkexport interface IProfileUser {
183link profileId: string,
184link userId: string,
185link isDefault: boolean
186link}
187link
188linkexport interface IDeviceUser {
189link deviceId: string,
190link userId: string
191link}
1linkpublic class CelullarStatus
2link{
3link public Guid Id { get; set; }
4link public string Username { get; set; }
5link public string Password { get; set; }
6link public string Apn { get; set; }
7link public string CurrentOperator { get; set; }
8link public string CurrentTechnology { get; set; }
9link public string Iccid { get; set; }
10link public string Imsi { get; set; }
11link public string Imei { get; set; }
12link public string NetworkSearchMode { get; set; }
13link public string SignalStrength { get; set; }
14link public string SimState { get; set; }
15link public DateTime CreatedDate { get; set; }
16link public DateTime LastUpdated { get; set; }
17link}
18link
19linkpublic class DeviceDownload
20link{
21link public Guid DeviceId { get; set; }
22link public DateTime Date { get; set; }
23link public int Percentage { get; set; }
24link}
25link
26linkpublic class DeviceManufacturerInfo
27link{
28link public Guid Id { get; set; }
29link public string CoprocessorVersion { get; set; }
30link public string GnssVersion { get; set; }
31link public string Model { get; set; }
32link public string SerialNumber { get; set; }
33link public string SerialPcbNumber { get; set; }
34link public string WifiAddress { get; set; }
35link public string BluetoothAddress { get; set; }
36link public int Imei { get; set; }
37link public HardwareVersion HardwareVersion { get; set; }
38link public DateTime CreatedDate { get; set; }
39link public DateTime LastUpdated { get; set; }
40link}
41link
42linkpublic class DeviceUser
43link{
44link public Guid DeviceId { get; set; }
45link public Guid UserId { get; set; }
46link}
47link
48linkpublic class Differential
49link{
50link public Guid BaseId { get; set; }
51link public Guid DeviceId { get; set; }
52link public DateTime Date { get; set; }
53link public int DifferentialAge { get; set; }
54link}
55link
56linkpublic class Format
57link{
58link public Guid Id { get; set; }
59link public string Name { get; set; }
60link public Nmea Nmea { get; set; }
61link}
62link
63linkpublic class HardwareVersion
64link{
65link public Guid Id { get; set; }
66link public string Name { get; set; }
67link public int Version { get; set; }
68link public List<UpdatesHardwareVersion> UpdatesHardwareVersions { get; set; }
69link public DateTime CreatedDate { get; set; }
70link public DateTime LastUpdated { get; set; }
71link}
72link
73linkpublic class Info
74link{
75link public Guid DeviceId { get; set; }
76link public DateTime Date { get; set; }
77link public int BatteryPercentage { get; set; }
78link public int ElevationX { get; set; }
79link public int ElevationY { get; set; }
80link public int ElevationZ { get; set; }
81link}
82link
83linkpublic class Location
84link{
85link public Guid DeviceId { get; set; }
86link public DateTime Date { get; set; }
87link public int Latitude { get; set; }
88link public int LatitudeDeviation { get; set; }
89link public int Longitude { get; set; }
90link public int LongitudeDeviation { get; set; }
91link public int Height { get; set; }
92link public int HeightDeviation { get; set; }
93link public int Undulation { get; set; }
94link public int SatellitesTracked { get; set; }
95link public int SatellitesInUse { get; set; }
96link public int SolutionAge { get; set; }
97link public string SolutionStatus { get; set; }
98link}
99link
100linkpublic class Mode
101link{
102link public Guid Id { get; set; }
103link public string Name { get; set; }
104link public string Tag { get; set; }
105link public DateTime CreatedDate { get; set; }
106link public DateTime LastUpdated { get; set; }
107link}
108link
109linkpublic class Nmea
110link{
111link public Guid Id { get; set; }
112link public string Talker { get; set; }
113link public List<Option> Options { get; set; }
114link}
115link
116linkpublic class NtripClient
117link{
118link public Guid ProfileId { get; set; }
119link public bool Manual { get; set; }
120link public string Address { get; set; }
121link public int Port { get; set; }
122link public string Username { get; set; }
123link public string Password { get; set; }
124link public string MountPoint { get; set; }
125link public bool SendNmeaGga { get; set; }
126link}
127link
128linkpublic class Option
129link{
130link public Guid Id { get; set; }
131link public string Name { get; set; }
132link public bool Enabled { get; set; }
133link public int Hertz { get; set; }
134link}
135link
136linkpublic class OptionValue
137link{
138link public Guid Id { get; set; }
139link public string Name { get; set; }
140link public string Value { get; set; }
141link}
142link
143linkpublic class Output
144link{
145link public Guid Id { get; set; }
146link public string Name { get; set; }
147link public List<OutputOption> OutputOptions { get; set; }
148link public List<OptionValue> OptionValues { get; set; }
149link public DateTime CreatedDate { get; set; }
150link public DateTime LastUpdated { get; set; }
151link}
152link
153linkpublic class OutputOption
154link{
155link public string Name { get; set; }
156link public bool Required { get; set; }
157link public string OutputType { get; set; }
158link}
159link
160linkpublic class Profile
161link{
162link public string Id { get; set; }
163link public string Name { get; set; }
164link public string Description { get; set; }
165link public bool IsActive { get; set; }
166link public Mode Mode { get; set; }
167link public string PositioningMode { get; set; }
168link public NtripClient NtripClient { get; set; }
169link public Output Output { get; set; }
170link public Format Format { get; set; }
171link public List<ProfileUser> ProfileUsers { get; set; }
172link public DateTime CreatedDate { get; set; }
173link public DateTime LastUpdated { get; set; }
174link}
175link
176linkpublic class ProfileUser
177link{
178link public Guid ProfileId { get; set; }
179link public Guid UserId { get; set; }
180link public bool IsDefault { get; set; }
181link}
182link
183linkpublic class Root
184link{
185link public Guid Id { get; set; }
186link public Guid TenantId { get; set; }
187link public string Name { get; set; }
188link public string State { get; set; }
189link public int Deleted { get; set; }
190link public bool IsBeta { get; set; }
191link public Guid CelullarStatusId { get; set; }
192link public CelullarStatus CelullarStatus { get; set; }
193link public DeviceManufacturerInfo DeviceManufacturerInfo { get; set; }
194link public DateTime LastSynced { get; set; }
195link public string Version { get; set; }
196link public Differential Differential { get; set; }
197link public Info Info { get; set; }
198link public Location Location { get; set; }
199link public Speed Speed { get; set; }
200link public DeviceDownload DeviceDownload { get; set; }
201link public Profile Profile { get; set; }
202link public List<DeviceUser> DeviceUsers { get; set; }
203link public DateTime CreatedDate { get; set; }
204link public DateTime LastUpdated { get; set; }
205link}
206link
207linkpublic class Speed
208link{
209link public Guid DeviceId { get; set; }
210link public int HorizontalSpeed { get; set; }
211link public int Direction { get; set; }
212link public int VerticalSpeed { get; set; }
213link public DateTime Date { get; set; }
214link}
215link
216linkpublic class UpdatesHardwareVersion
217link{
218link public Guid HardwareVersionId { get; set; }
219link public Guid UpdateId { get; set; }
220link}
ReadOnly
HTTP-Get handler that retrieves all devices of the user making the request.
A list of all devices of the user.
Managers retrieves all devices under the user's tenant.
1linkGET https://api.marxact.com/v1/Devices HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link[
4link { Device_1 },
5link ...
6link { Device_n },
7link]
ReadOnly
HTTP-Get handler that retrieves a device of the user making the request.
The given device with the corresponding identifier owned by the user making the request, or 404 when it doesn't exist.
Managers are capable or retrieving devices under the user's tenant.
1linkGET https://api.marxact.com/v1/Devices/{id} HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link{
4link Device,
5link}
Admin
HTTP-Put handler that updates a device with the corresponding identifier.
The updated device when succesful.
1linkPUT https://api.marxact.com/v1/Devices/{id} HTTP/1.1
2linkAuthorization: Bearer {{token}}
3linkContent-Type: application/json
4link{
5link Device
6link}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link{
4link UpdatedDevice,
5link}
Admin
HTTP-Delete handler that deletes a device wiht the corresponding identifier.
The deleted device when succesful.
1linkDELETE https://api.marxact.com/v1/Devices/{id} HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link{
4link DeletedDevice,
5link}
ReadOnly
HTTP-Get handler that retrieves a device's differential.
1linkGET https://api.marxact.com/v1/Devices/{id}/differential HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link{
4link "deviceId": "string",
5link "date": "2023-02-27T10:56:38.322Z",
6link "baseId": "string",
7link "differentialAge": 0
8link}
ReadOnly
HTTP-Get handler that retrieves a device's info.
1linkGET https://api.marxact.com/v1/Devices/{id}/info HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link{
4link "deviceId": "string",
5link "date": "2023-02-27T11:03:39.272Z",
6link "batteryPercentage": 0,
7link "elevationX": 0,
8link "elevationY": 0,
9link "elevationZ": 0
10link}
ReadOnly
HTTP-Get handler that retrieves a device's location.
1linkGET https://api.marxact.com/v1/Devices/{id}/location HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link{
4link "deviceId": "string",
5link "date": "2023-02-27T11:05:58.519Z",
6link "latitude": 0,
7link "latitudeDeviation": 0,
8link "longitude": 0,
9link "longitudeDeviation": 0,
10link "height": 0,
11link "heightDeviation": 0,
12link "undulation": 0,
13link "satellitesTracked": 0,
14link "satellitesInUse": 0,
15link "solutionAge": 0,
16link "solutionStatus": "string"
17link}
ReadOnly
HTTP-Get handler that retrieves a device's speed.
1linkGET https://api.marxact.com/v1/Devices/{id}/speed HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link{
4link "deviceId": "string",
5link "date": "2023-02-27T11:52:29.434Z",
6link "horizontalSpeed": 0,
7link "direction": 0,
8link "verticalSpeed": 0
9link}
ReadOnly
HTTP-Get handler that retrieves a device's state.
The state of the device.
1linkGET https://api.marxact.com/v1/Devices/{id}/state HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: text/plain
3link"state"
Admin
Override all users from a device with a new list of users.
Note that this will unlink all the old users from the device, and link the newly given users to the device.
Please beware that it is not allowed to send duplicate userIds, or mixed deviceIds, depending on the link.
Thus, it is only allowed to link many users to one device, or one user to many devices.
Returns a success response when the request was successful.
1linkPOST https://api.marxact.com/v1/Devices/link/users HTTP/1.1
2linkAuthorization: Bearer {{token}}
3linkContent-Type: application/json
4link
5link{
6link {
7link "link": "device",
8link "deviceUsers": [
9link {
10link "deviceId": "0e7ad584-7788-4ab1-95a6-ca0a5b444cbb",
11link "userId": "2d426e7e-869e-45e2-927f-78660cad8795"
12link },
13link {
14link "deviceId": "0e7ad584-7788-4ab1-95a6-ca0a5b444cbb",
15link "userId": "9e9e870d-e7b2-4078-8904-1ff4d733e6cc"
16link }
17link ]
18link }
19link}
1linkHTTP/1.1 200 OK
1linkPOST https://api.marxact.com/v1/Devices/link/users HTTP/1.1
2linkAuthorization: Bearer {{token}}
3linkContent-Type: application/json
4link
5link{
6link {
7link "link": "user",
8link "deviceUsers": [
9link {
10link "deviceId": "9e9e870d-e7b2-4078-8904-1ff4d733e6cc",
11link "userId": "2d426e7e-869e-45e2-927f-78660cad8795"
12link },
13link {
14link "deviceId": "9e9e870d-e7b2-4078-8904-1ff4d733e6cc",
15link "userId": "0e7ad584-7788-4ab1-95a6-ca0a5b444cbb"
16link }
17link ]
18link }
19link}
1linkHTTP/1.1 200 OK
Admin
Unlinks all users from a device, or unlink all devices from a user.
Set the attribute link
as device
, when you would like to unlink all users from a device.
Set the attribute link
as user
, when you would like to unlink all devices from a user.
Returns a success response when the request was successful.
1linkPOST https://api.marxact.com/v1/Devices/link/users HTTP/1.1
2linkAuthorization: Bearer {{token}}
3linkContent-Type: application/json
4link
5link{
6link {
7link "link": "device",
8link "deviceId": "0e7ad584-7788-4ab1-95a6-ca0a5b444cbb"
9link }
10link}
1linkHTTP/1.1 200 OK
1linkPOST https://api.marxact.com/v1/Devices/link/users HTTP/1.1
2linkAuthorization: Bearer {{token}}
3linkContent-Type: application/json
4link
5link{
6link {
7link "link": "user",
8link "userId": "2d426e7e-869e-45e2-927f-78660cad8795"
9link }
10link}
1linkHTTP/1.1 200 OK
ReadOnly
HTTP-Get handler that returns all the linked devices (along with their details) for a given user id.
Returns a list of all the details of any user id under their tenant.
Admins retrieves all devices under the user's tenant.
1linkGET https://api.marxact.com/v1/Devices/user/{id}/details HTTP/1.1
2linkAuthorization: Bearer {{token}}
1linkHTTP/1.1 200 OK
2linkContent-Type: application/json
3link
4link[
5link Device1,
6link ...,
7link DeviceN
8link]