In 2.17.1, an API was introduced on the AMM. Currently only GET API calls are available.
Returns a list of gateway groups with the same group hierarchy as the AMM.
GET https://ip address of AMM/api/v1/systems/groups
HTTPS/1.1 200 OK
Content-Type: application/json
...
{
"All gateways": {
"id": 9,
"subgroups": [
{"MGOS": {"id": 11,"subgroups":[]}},
{"ALEOS": {"id": 16,"subgroups":[]}}
]
}
}
There are no parameters.
| HTTP Status | Name | Description |
| 401 | unauthorized | Request does not have a valid access token |
| 403 | access_denied | API access is disabled from API client, user or customer group |
| 429 | too_many_requests | Request has reached rate limit |
| 408 | api.request.timeout | Raised when response took longer than configured request timeout threshold. Default is 300 seconds |
Returns latest stats of all gateways for specified gateway group, including gateways under sub-groups.
GET https://ip address of AMM/api/v1/systems/groups/{groupID}/data?ids=ReportIdleTime,GPS Location-latitude,GPS Location-longitude
HTTPS/1.1 200 OK
Content-Type: application/json
...
{
"My Fleet Group": [
{
"MG90 Device Group": [
{
"uid": "H090111G0999",
"data": [
{
"GPS Location-longitude": [
{
"value": "-123.070867",
"timestamp": 1661280377864
}
]
},
{
"ReportIdleTime": [
{
"value": "57 days 0 hour",
"timestamp": 1666386719101
}
]
},
{
"GPS Location-latitude": [
{
"value": "49.171683",
"timestamp": 1661280377864
}
]
}
]
},
{
"uid": "J090111G0999",
"data": [
{
"GPS Location-longitude": [
{
"value": "-123.070433",
"timestamp": 1665001185148
}
]
},
{
"ReportIdleTime": [
{
"value": "16 days 0 hour",
"timestamp": 1666386719103
}
]
},
{
"GPS Location-latitude": [
{
"value": "49.172283",
"timestamp": 1665001185148
}
]
}
]
}
]
},
{
"ALEOS router Group": [
{
"uid": "N655110061029999",
"data": [
{
"GPS Location-longitude": [
{
"value": "-123.0702",
"timestamp": 1553637945000
}
]
},
{
"ReportIdleTime": [
{
"value": "1303 days 22 hours",
"timestamp": 1666386719103
}
]
},
{
"GPS Location-latitude": [
{
"value": "49.171983",
"timestamp": 1553637945000
}
]
}
]
}
]
}
]
}
| Name | Description | Use |
|---|---|---|
| groupId | Id of gateway group. | required |
| ids | Stats. | Optional. Minimum one required if included in request parameters. |
| idPrefix | Prefix of requested stats. | Optional. Cannot be empty if included in request parameters. |
| HTTP Status | Name | Description |
| 400 | group.not.found.or.insufficient.privileges | No group found with the "groupId", or user does not have correct privileges | 400 | system.invalid.data.param | Either 'ids' or 'idPrefix' is invalid | 400 | lastdata.incompatible.parameters | Both 'ids' and 'idPrefix' parameters are present | 400 | lastdata.empty.parameters | 'idPrefix' parameter is present but empty (use no parameter instead) | 400 | aggregation.too.many.targets | Too many gateways are requested for a single API call. Default maximum 100 gateways under given gateway group can be retrieved for a single API call. Configurable with AMM web.xml | 400 | aggregation.too.many.data | Too many stats are requested per gateway for a single API call. Default maximum 20 stats per gateway can be retrieved for a single API call. Configurable with AMM web.xml. |
| 401 | unauthorized | Request does not have a valid access token |
| 403 | access_denied | API access is disabled from API client, user or customer group |
| 429 | too_many_requests | Request has reached rate limit |
| 408 | api.request.timeout | Raised when response took longer than configured request timeout threshold. Default is 300 seconds |
Returns a list of gateways accessible by the user in a group hierachy similar to the AMM UI. Empty groups are not shown.
GET https://ip address of AMM/api/v1/systems?heartbeat=1440&platforms=MG90,GX440,LX60,MP70
HTTPS/1.1 200 OK
Content-Type: application/json
...
{
"All gateways": [{
"My MG90 devices": [
{
"uid": "ND6123999011020",
"name": "my MG90 A"
}, {
"uid": "ND90410999011035",
"name": "my MG90 B"
}]
}, {
"My ALEOS routers": [
{
"uid": "CA13999002410",
"name": "my GX440"
}, {
"uid": "WM80520999021016",
"name": "my LX60"
},{
"uid": "N655119991021018",
"name": "my MP70 A"
}, {
"uid": "N660940999011023",
"name": "my MP70 B"
}]
}, {
"uid": "ND90410999011039",
"name": "my unregistered MG90"
}
]
}
| Name | Description | Use |
|---|---|---|
| heartbeat | Heartbeat in minutes | optional |
| platforms | The list of platforms separated by a comma | optional |
| cellulars | The list of cellular capabilities separated by a comma | optional |
| groupid | The id of a gateway group. If provided, returns all gateways under the given group. | optional |
| HTTP Status | Name | Description |
| 401 | unauthorized | Request does not have a valid access token |
| 403 | access_denied | API access is disabled from API client, user or customer group |
| 429 | too_many_requests | Request has reached rate limit |
| 408 | api.request.timeout | Raised when response took longer than configured request timeout threshold. Default is 300 seconds |
Gets the latest stats of a gateway.
The uid is the gateway ESN and must be specified. Minimum one stat id is required.
GET https://ip address of AMM/api/v1/systems/uid/data?ids=ReportIdleTime,GPS Location-latitude,GPS Location-longitude
HTTPS/1.1 200 OK
Content-Type: application/json
...
{
"ReportIdleTime": [{
"value": "2796808",
"timestamp": 1581500240000
}],
"GPS Location-latitude": [{
"value": "49.273376",
"timestamp": 1579136926000
}],
"GPS Location-longitude": [{
"value": "-123.103834",
"timestamp": 1579136926000
}]
}
| Name | Description | Use |
|---|---|---|
| uid | Serial number of gateway. | required |
| ids | Stats. | Minimum one required. |
ALEOS: For a list of stats reported by ALEOS routers, see Features Supported by ALEOS routers
MGOS: For a list of stats reported by MGOS devices, see MGOS Stats.
| HTTP Status | Name | Description |
|---|---|---|
| 400 | system.unknown | No gateway matched the uid (ESN). |
| 400 | system.invalid.data.param | Stat key is invalid. |
| 401 | unauthorized | Request does not have a valid access token |
| 403 | access_denied | API access is disabled from API client, user or customer group |
| 429 | too_many_requests | Request has reached rate limit |
| 408 | api.request.timeout | Raised when response took longer than configured request timeout threshold. Default is 300 seconds |
Gets the historical stats for a single gateway. Limited to one gateway and one stat and up to 7 days. Default time period is last 24 hours. A maximum of 25,000 records will be returned. If there are more than 25,000 records, this will be indicated in the response.
Note: Historical stats endpoint data parameters are case sensitive. If the dataid such as “LinkX-RSSI” is spelt as “linkx-RSSI”, the API endpoint will return “500 Server Error” instead of the expected “400 Bad Request”.
GET https://ip address of AMM/api/v1/systems/data/raw?targetid=ND61230099991020&dataid=ReportIdleTime
HTTPS/1.1 200 OK
Content-Type: application/json
...
{
"ND61230099991020": {
"ReportIdleTime": [{
"timestamp": 1581500940000,
"value": "2806901"
},{
"timestamp": 1581500840000,
"value": "2796808"
},{
"timestamp": 1581500740000,
"value": "2434111"
}]
}
}
GET https://ip address of AMM/api/v1/systems/data/raw?dataid=CPU-Temperature&targetid=ND61230099991020&from=1641024000000&to=1641628800000
HTTPS/1.1 200 OK
Content-Type: application/json
...
{
"ND61230099991020": {
"CPU-Temperature": [
{
"value": "67.0 °C",
"timestamp": 1641624833000
},
{
"value": "68.0 °C",
"timestamp": 1641624773000
},
{
"value": "67.0 °C",
"timestamp": 1641624412000
},
{
"value": "68.0 °C",
"timestamp": 1641624352000
},
{
"value": "67.0 °C",
"timestamp": 1641624292000
},
...
]
}
}
HTTPS/1.1 200 OK
Content-Type: application/json
...
{
"ND61230099991020": {
"CPU-Temperature": [
{
"value": "152.6 °F",
"timestamp": 1641624833000
},
{
"value": "154.4 °F",
"timestamp": 1641624773000
},
{
"value": "152.6 °F",
"timestamp": 1641624412000
},
{
"value": "154.4 °F",
"timestamp": 1641624352000
},
{
"value": "152.6 °F",
"timestamp": 1641624292000
},
...
]
}
}
GET https://ip address of AMM/api/v1/systems/data/raw?targetid=ND61230099991020&dataid=ReportIdleTime
HTTPS/1.1 200 OK
Content-Type: application/json
...
{
"ND61230099991020": {
"pagesize": "25000",
"total": "100000"
"ReportIdleTime": [{
"timestamp": 1581500940000,
"value": "2806901"
},{
"timestamp": 1581500840000,
"value": "2796808"
},{
"timestamp": 1581500740000,
"value": "2434111"
}
...
]
}
}
Response Info (when greater than 25,000 records returned) :
“pagesize” : number of records returned“total”: total number of records found
To query for the rest of the data:
GET https://ip address of AMM/api/v1/systems/data/raw?targetid=ND61230099991020&dataid=ReportIdleTime&from=1581500940001&to=1582134540001
Note: 1581500940001 (Feb 12 2020 09:49:00) + 7 days (7 x 24 hrs) = 1582134540001 (Feb 19 2020 09:49:00). Pacific Daylight (UTC-7h)
GET https://ip address of AMM/api/v1/systems/data/raw?dataid=CPU-Temperature&targetid=ND61230099991020&from=1641024000000&to=1641628800000
GET https://ip address of AMM/api/v1/systems/data/raw?dataid=CPU-Temperature&targetid=ND61230099991020&from=1641628800001&to=1642233600000
GET https://ip address of AMM/api/v1/systems/data/raw?dataid=CPU-Temperature&targetid=ND61230099991020&from=1642233600001&to=1642838400000
GET https://ip address of AMM/api/v1/systems/data/raw?dataid=CPU-Temperature&targetid=ND61230099991020&from=1642838400001&to=1643443200000
GET https://ip address of AMM/api/v1/systems/data/raw?dataid=CPU-Temperature&targetid=ND61230099991020&from=1643443200001&to=1643702400000
| Name | Description | Use | Default | Notes |
|---|---|---|---|---|
| from | Inclusive timestamp representing the beginning of the period | Optional, but required if using to | 1 day | Maximum is 7 days. Format is timestamp using system timezone |
| to | Exclusive timestamp representing the end of the period | Optional, but required if using from | Current Time | Maximum is 7 days. Format is timestamp using system timezone |
| targetid | A gateway ESN | Required | ||
| dataid | A stat key | Required | Case sensitive |
ALEOS: For a list of stats reported by ALEOS routers, see Features Supported by ALEOS routers
MGOS: For a list of stats reported by MGOS devices, see MGOS Stats.
| HTTP Status | Name | Description |
|---|---|---|
| 400 | system.unknown | No gateway matched the uid (ESN) |
| 400 | system.invalid.data.param | Stat key is invalid |
| 400 | system.invalid.timerange | Time range is greater than 7 days, or the "From" date is before the "To" date |
| 400 | aggregation.too.many.data | More than one stat is requested |
| 400 | aggregation.too.many.targets | More than one target is requested |
| 401 | unauthorized | Request does not have a valid access token |
| 403 | access_denied | API access is disabled from API client, user or customer group |
| 429 | too_many_requests | Request has reached rate limit |
| 408 | api.request.timeout | Raised when response took longer than configured request timeout threshold. Default is 300 seconds |