AerAdmin 5.0 REST API Specification

1. Introduction

This section of AerAdmin API documentation outlines RESTful web services, which can be used for performing AerAdmin operations like provisioning, activating, and managing devices.

2. Target Groups

All authorized users of AerPort portal.

3. Transfer Mechanism

Access to the AerAdmin RESTful web services is available through secure HTTP over the public Internet. The URI for each request is given with their corresponding request description section.

4. Authentication and Authorization

The authentication and authorization of all requests is maintained through API key, which is an integral part of each request.

5. Syntax Notation

This interface uses a generic syntax that is described in the following sections.

5.1. Resource Identifier

Each service offered by the AerAdmin API is accessed by a URI with the following format:

<scheme>://<host>[:<port>]/<apiName_version>/<resource_path>?apiKey=<apiKey>

URI Parameters for the Resource Identifier

Parameter

Description

scheme

The application protocol, for example HTTP.

host

The network address to access the interface and its connected service. The public host for AerAdmin APIs is aeradminapi.aeris.com.We have used the actual hostnames in most of our sample API requests.

port

The TCP/IP port used for access. If not specified, default ports for the applications are assumed. For AerAdmin APIs you can skip this value.

apiName_version

Defines the API name consisting of their version too. Currently, all AerAdmin API uses the version as AerAdmin_WS_5_0.

resource_path

Identifies the actual path to access the resource. For example, /rest/devices/details.

6. Resources

The AerAdmin API offers access to different functionalities. Each functionality has its own access path and parameters which are described in the following sections.

6.1a. Single Operation - Get Device Details (Structured Response)

This API is used for retrieving the device details (for example, activation date, device status, service name, and IP details) for one device of one particular customer account. The response payload is a structured format in JSON objects.

6.1a.1. URI

https://<host>/AerAdmin_WS_5_0/rest/v1/devices/details?apiKey=<apiKey>

6.1a.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.1a.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Description

apiKey

String

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.1a.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.1a.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.1a.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.1a.3. Method Type

Method Type

POST

6.1a.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique ID of the account, under which the device is provisioned

email

String

Mandatory

Email ID of the primary user of the account. However, it is not mandatory to be defined the same as in AerPort.

deviceProfileID

String

Including one identifier is Mandatory

Identifier of the device.

Note: If you want to identify the device by staticIP address, you must also specify the apn and productName. If you do not specify all three parameters, HTTP status code 400 is returned.

MEID

String

ESN

String

ICCID

String

MIN

String

IMSI

String

MDN

String

MSISDN

String

IMEI

String

SCLID

String

staticIP

String

apn String Mandatory if staticIP is specified, otherwise Optional The APN associated with the device with a static IP address.
productName String Mandatory if staticIP is specified, otherwise Optional The product name associated with the device with a static IP address.

You can use one of following text strings, as assigned to your account:

  • City SIM
  • Global SIM
  • CDMA
  • SelfServe SIM
  • Dual-Mode CG
  • Dual-Mode LC
  • Tri-Mode
  • Avnet LTE-HSPA
  • Dual-Mode A-LH
  • Fusion Global
  • Fusion NA

6.1a.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Description

transactionID

String

Mandatory

resultCode

int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfileId

String

Optional

deviceAttributes

List<QueryDeviceAttributes>

QueryDeviceAttributes

Attribute Name

Data Type

Constraint

meid

String

Optional

esn

String

Optional

iccid

String

Optional

min

String

Optional

imsi

String

Optional

mdn

String

Optional

msisdn

String

Optional

imei

String

Optional

sclid

String

Optional

result

Result

Optional

deviceID

DeviceID

Mandatory

technology

Technology

Mandatory

serviceName

String

Optional

deviceStatus

DeviceState

Optional

activationDate

XMLGregorianCalendar

Optional

deactivationDate

XMLGregorianCalendar

Optional

authenticationKey

String

Optional

cancelCode

Long

Optional

profile

Profile

Optional

poolName

String

Optional

ratePlan

String

Optional

ratePlanLabel

String

Optional

newPoolName

String

Optional

newPoolNameDate

XMLGregorianCalendar

Optional

newRatePlan

String

Optional

newRatePlanDate

XMLGregorianCalendar

Optional

softwareVersion

String

Optional

servicesBlocked

String

Optional

active

Boolean

Optional

lteOnly

Boolean

Optional

hexEsn

String

Optional

hexMeid

String

Optional

swap1Type

String

Optional

swap1Value

String

Optional

swap2Type

String

Optional

swap2Value

String

Optional

Optional

deviceIpDetails: appears only if the device is associated with a service profile that has associated APNs. If present, deviceIpDetails displays one of: IpAddress + serviceType; apn + serviceType; or IpAddress + apn + serviceType.

List <DeviceIpDetails>

QueryDeviceIpDetails

Attribute Name

Data Type

Constraint

IpAddress

String

Optional

apn String Optional
serviceType String Optional Values: "static" / "dynamic"

Optional

deviceName String Optional

applicationType

String

Optional

currentLocation

String

Optional

customField

CustomFields

Optional

reportGroup

Long

Optional

deviceFirmwareVersion

String

Optional

deviceHardwareVersion

String

Optional

containerID

String

Optional

dataModelID

String

Optional

registerOnAerCloud

Boolean

Optional

6.1a.6. Sample Requests

POST /AerAdmin_WS_5_0/rest/v1/devices/details?apiKey=<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Accept-Charset: utf-8
Accept: application/json
email: "aerport@aeris.net"
Content-Length: 102
{
    "accountID": 1,
    "email": "aerport@aeris.net",
    "ICCID": "89185001190429000293"
}
POST /AerAdmin_WS_5_0/rest/v1/devices/details?apiKey=<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Accept-Charset: utf-8
Accept: application/json
email: "aerport@aeris.net"
Content-Length: 102
{
    "accountID": 11173,
    "email": "aerport@aeris.net",
    "staticIP": "10.188.0.182",
    "apn": "iotst.aer.net",
    "productName": "Dual-Mode A-LH"
}

6.1a.7. Sample Response (Structured Block)

{
    "transactionID": "4f6a7290-5128-11eb-964c-fe193c05150c",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2021-01-07T20:38:39.000Z",
    "deviceProfileId": "AER0000011966925",
    "deviceAttributes": [
        {
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "deviceID": {
                "iccId": "89185001190429000293",
                "msisdn": "11841161118",
                "imsi": "311882995001028"
            },
            "technology": "LTE",
            "serviceName": "TMO_FNA_SP4_Pre",
            "deviceStatus": "Provision",
            "activationDate": "2019-10-22T01:11:48.000Z",
            "cancelCode": 0,
            "ratePlan": "AER_AERI_60281",
            "ratePlanLabel": "AER_TMO_74413",
            "softwareVersion": "2.1.7.8",
            "active": true,
            "lteOnly": false
        }
    ],
    "deviceIpDetails": [
        {
            "ipAddress": "10.64.0.9",
            "serviceType": "static",
            "apn": "iotst.aer.net"
        }
    ],
    "applicationType": "M",
    "customField": {},
    "reportGroup": 0,
    "containerId": "",
    "dataModelId": "",
    "registerOnAerCloud": false
}

6.1b. Single Operation - Get Device Details (Non-Structured Response)

This API is used for retrieving the device details (for example activation date, device status, and service name) for one device of one particular customer account.

6.1b.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/details?apiKey=<apiKey>

6.1b.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.1b.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Description

apiKey

String

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.1b.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.1b.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.1b.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.1b.3. Method Type

Method Type

POST

6.1b.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of the account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

deviceProfileId

String

Including one identifier is Mandatory

Identifier of the device.

EID is the idenfier for an eSIM.

MEID

String

EID String

ESN

String

ICCID

String

MIN

String

IMSI

String

MDN

String

MSISDN

String

IMEI

String

SCLID

String

6.1b.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Description

transactionID

String

Mandatory

resultCode

int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfileId

String

Optional

deviceAttributes

List<QueryDeviceAttributes>

QueryDeviceAttributes

Attribute Name

Data Type

Constraint

meid

String

Optional

esn

String

Optional

eid String Optional. Required for eSIM.

iccid

String

Optional

min

String

Optional

imsi

String

Optional

mdn

String

Optional

msisdn

String

Optional

imei

String

Optional

sclid

String

Optional

result

Result

Optional

deviceID

DeviceID

Mandatory

technology

Technology

Mandatory

serviceName

String

Optional

deviceStatus

DeviceState

Optional

activationDate

XMLGregorianCalendar

Optional

deactivationDate

XMLGregorianCalendar

Optional

authenticationKey

String

Optional

cancelCode

Long

Optional

profile

Profile

Optional

staticIP

String; if there is more than one APN and IP address for this device, a comma-separated list of addresses is returned.

Optional

poolName

String

Optional

ratePlan

String

Optional

ratePlanLabel

String

Optional

newPoolName

String

Optional

newPoolNameDate

XMLGregorianCalendar

Optional

newRatePlan

String

Optional

newRatePlanDate

XMLGregorianCalendar

Optional

softwareVersion

String

Optional

servicesBlocked

String

Optional

active

Boolean

Optional

lteOnly

Boolean

Optional

hexEsn

String

Optional

hexMeid

String

Optional

swap1Type

String

Optional

swap1Value

String

Optional

swap2Type

String

Optional

swap2Value

String

Optional

Optional

deviceName

String

Optional

applicationType

String

Optional

currentLocation

String

Optional

customField

CustomFields

Optional

reportGroup

Long

Optional

deviceFirmwareVersion

String

Optional

deviceHardwareVersion

String

Optional

containerId

String

Optional

dataModelId

String

Optional

registerOnAerCloud

Boolean

Optional

6.1b.6. Sample Request.

POST /AerAdmin_WS_5_0/rest/devices/details?apiKey=<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
Example completed call- https://aeradminapi.aeris.com/AerAdmin_WS_5_0/rest/devices/details?apiKey=<apiKey>
 
{
"accountID": "1",
"email": "aerport@aeris.net",
"ICCID": "89185000160427367979"
}
Sample for Global eSIM:
{
"accountID": "11173",
"email": "aerport@aeris.net",
"EID": "89044045817727484800000005605737"
}

6.1b.7. Sample Response

{
    "transactionID": "a14d7e20-f601-11e7-83cd-020f44a6d939",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2018-01-10T12:27:32.000Z",
    "deviceProfileId": "AER0000006240762",
    "deviceAttributes": [
        {
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "deviceID": {
                "iccId": "89185000160427367979",
                "msisdn": "11835425412",
                "imsi": "204043396622419"
            },
            "technology": "GSM",
            "serviceName": "Garner_GS_Profile02",
            "deviceStatus": "Bill",
            "activationDate": "2016-08-19T23:02:00.000Z",
            "cancelCode": 0,
            "ratePlan": "90DAYSTRIAL_GLOBAL",
            "ratePlanLabel": "90DAYSTRIAL_GLOBAL",
            "softwareVersion": "2.1.7.8",
            "active": true,
            "lteOnly": false
        }
    ],
    "deviceName": "Test Device Name",
    "applicationType": "M",
    "customField": {},
    "reportGroup": 0,
    "containerId": "",
    "dataModelId": "",
    "registerOnAerCloud": false
}
Sample for Global eSIM:
{
    "transactionID": "a14d7e20-f601-11e7-83cd-020f44a6d939",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2022-02-02T08:15:41.000Z",
    "deviceProfileId": "AER0000017018091",
    "deviceAttributes": [
        {
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "deviceID": {
                "iccId": "89185003210821000069",
                "msisdn": "11831444606",
                "imsi": "204043898374225",
                "eid": "89044045817727484800000005605737"
            },
            "technology": "LTE",
            "serviceName": "esimprodf_0",
            "deviceStatus": "Bill",
            "activationDate": "2022-01-23T17:08:14.000Z",
            "cancelCode": 0,
            "ratePlan": "AER_GLOBSIM_83701",
            "ratePlanLabel": "esimprodch-2",
            "softwareVersion": "2.1.7.8",
            "active": true,
            "lteOnly": false,
            "profileDisplayName": "Fusion Global",
            "isActiveOnDevice": false,
            "umbrellaRatePlan": "AER_GLOBSIM_83597",
            "umbrellaServiceProfile": "esimprodf",
            "esimStatus": "Bill",
            "newUmbrellaRatePlan": "AER_GLOBSIM_83693",
            "newUmbrellaRatePlanDate": "2022-01-23T00:00:00.000Z"
        },
        {
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "deviceID": {
                "iccId": "89011701328863055487",
                "msisdn": "882350886305548",
                "imsi": "310170886305548",
                "eid": "89044045817727484800000005605737"
            },
            "technology": "LTE",
            "serviceName": "esimprodf_1",
            "deviceStatus": "Suspend",
            "activationDate": "2022-01-23T17:08:19.000Z",
            "cancelCode": 0,
            "staticIP": "10.188.3.51",
            "ratePlan": "AER_GLOBSIM_83697",
            "ratePlanLabel": "esimprodch-1",
            "softwareVersion": "2.1.7.8",
            "active": true,
            "lteOnly": false,
            "profileDisplayName": "Dual-Mode A-LH",
            "isActiveOnDevice": true,
            "umbrellaRatePlan": "AER_GLOBSIM_83597",
            "umbrellaServiceProfile": "esimprodf",
            "esimStatus": "Bill",
            "newUmbrellaRatePlan": "AER_GLOBSIM_83693",
            "newUmbrellaRatePlanDate": "2022-01-23T00:00:00.000Z"
        }
    ],
    "deviceName": "esim11173",
    "applicationType": "M",
    "customField": {},
    "reportGroup": 0,
    "containerId": "",
    "dataModelId": "",
    "registerOnAerCloud": false
}

6.2. Single Operation - Get Device Network Status

This API is used for retrieving the current network status of the device and last data session details, if any. It also returns the APN and IP assigned to the device.

6.2.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/network/details?accountID=<accountID>&<deviceIdentifier>=<deviceIdentifierValue>&email=<emailaddress>&apiKey=<apiKey>

6.2.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.2.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Description

accountID

String

Defines the account Id to which the device is provisioned.

deviceIdentifier

String

Defines one of the following identifiers (identifier name is case-sensitive) and their corresponding value:

  • deviceProfileId
  • ICCID
  • EID
  • ESN
  • IMSI
  • IMEI
  • MDN
  • MEID
  • MIN
  • MSISDN

deviceIdentifierValue

String

Defines the value of device identifier. For example, if you are using using ICCID as <deviceIdentifier> then value can be 89185000160427367979.

email

String

Email id of the primary user of the account. However, it is not mandatory to be the same as defined in AerPort.

apiKey

String

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.2.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.2.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.2.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.2.3. Method Type

Method Type

GET

6.2.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

N/A

6.2.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

transactionID

String

Mandatory

resultCode

Int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfileId

String

Optional

networkResponse

List<NetworkResponse>

NetworkResponse

Attribute Name

Data Type

Constraint

meid

String

Optional

esn

String

Optional

eid String Optional. Required for eSIM.

iccid

String

Optional

min

String

Optional

imsi

String

Optional

mdn String Optional

msisdn

String

Optional

imei

String

Optional

sclid

String

Optional

dataSession

DataSession

Optional

registration

Registration

Optional

Optional

activeProfile

ActiveProfile

Optional

6.2.6. Sample Request

GET /AerAdmin_WS_5_0/rest/devices/network/details?accountID=1&ICCID=89185000170713952459&email=youremail@yourcompany.com&apiKey=<apiKey>

or in the Browser URL:

https://aeradminapi.aeris.com/AerAdmin_WS_5_0/rest/devices/network/details?accountID=1&ICCID=89185000170713952459&email=youremail@yourcompany.com&apiKey=<apiKey>
Sample for Global eSIM:
GET http://aeradminapi-fuse-provd.aeriscloud.com/AerAdmin_WS_5_0/rest/devices/network/details?accountID=11173&EID=89044045817727484800000005605737&email=aerport@aeris.net&apiKey=179492e0-5759-11ea-8bd6-bdc6970f0a68

6.2.7. Sample Response

{
   "deviceProfileId": "AER0000011687483",
   "transactionID": "1d3912f0-c3d9-11e9-bf88-06eaa7027dac",
   "resultCode": 0,
   "resultMessage": "OK",
   "opCompletionTimestamp": "2019-08-21T06:01:27.000Z",
   "networkResponse": [
      {
         "ICCID": "89185000150911598873",
         "IMSI": "204043396464508",
         "IMEI":"353439061100592",
         "MDN": "11838557967",
         "MSISDN": "11835304613",
         "dataSession": {
            "ipAddress" : "10.226.6.200",
            "serviceType" : "UTRAN 3G / GERAN 2G",
            "lastStartTime": "2019-08-20T12:28:56.000Z"
         },
         "registration": {
            "isRegistered": true,
            "lastInactiveTime" : "2019-02-25T00:06:51.000Z",
            "lastRegistrationTime": "2019-08-21T03:17:38.000Z",
            "lastRegistrationLocation": "919810051028",
            "lastVoiceMOTime" : "2019-01-28T14:47:24.000Z",
            "lastSmsMOTime": "2019-08-19T16:29:21.000Z",
            "lastSmsMTTime": "2019-08-19T12:00:34.000Z",
            "lastSGSNLocation": "919810451915",
            "lastAuthorizationTime": "2019-08-21T05:59:15.000Z"
         }
      }
   ],
   "activeProfile": {
      "ICCID": "89185000150911598873",
      "IMSI": "204043396464508",
      "IMEI":"353439061100592",
      "MDN": "11838557967",
      "MSISDN": "11835304613",
      "technology": "GSM",
      "ipAddress" : "10.226.6.200"
   }
}
Sample for Global eSIM:
{
    "deviceProfileId": "AER0000017018091",
    "transactionID": "dd351500-8401-11ec-960b-ce275ee6a280",
    "resultCode": 1187,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2022-02-02T08:26:56.000Z",
    "networkResponse": [
        {
            "ICCID": "89185003210821000069",
            "EID": "89044045817727484800000005605737",
            "IMSI": "204043898374225",
            "MDN": "11831444606",
            "MSISDN": "11831444606",
            "dataSession": {
                "serviceType": "EUTRAN"
            },
            "registration": {
                "isRegistered": false
            }
        },
        {
            "ICCID": "89011701328863055487",
            "EID": "89044045817727484800000005605737",
            "IMSI": "310170886305548",
            "MDN": "882350886305548",
            "MSISDN": "882350886305548",
            "dataSession": {
                "ipAddress": "10.178.181.86",
                "serviceType": "LTE",
                "lastStartTime": "2022-02-02T05:23:56.000Z"
            },
            "registration": {
                "isRegistered": true,
                "lastRegistrationTime": "2022-02-02T06:24:56.000Z"
            }
        }
    ],
    "activeProfile": {
        "ICCID": "89011701328863055487",
        "IMSI": "310170886305548",
        "MDN": "882350886305548",
        "MSISDN": "882350886305548",
        "technology": "LTE",
        "ipAddress": "10.178.181.86"
    }
}

6.3. Single Operation - Change Service Profile

This API is used for changing or updating the service profile of the already provisioned device. However, the new service name must be of the same carrier (device technology and product) as the current service name.

Note: For Fusion NA devices, the Service Profile should have same RAT_Type as in the Rate Plan. Otherwise error code 1503 will be returned.

6.3.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/serviceprofile?apiKey=<apiKey>

6.3.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.3.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.3.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.3.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.3.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.3.3. Method Type

Method Type

POST

6.3.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of the account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

deviceProfileId

String

Mandatory

Defines the device profile Id for the intended device.

newServiceProfile

String

Mandatory

Defines the new service profile name of the device.

The following attributes are available for Global eSIM:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of the account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

accessProfiles

List<AccessProfile>

Mandatory

AccessProfile
Attribute Name Data Type Constraint
EID String Mandatory
newServiceProfile String Mandatory

6.3.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

transactionID

String

Mandatory

resultCode

Int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

Attribute Name

Data Type

Constraint

MEID

String

Optional

EID String Optional

ESN

String

Optional

ICCID

String

Optional

MIN

String

Optional

IMSI

String

Optional

MDN

String

Optional

MSISDN

String

Optional

IMEI

String

Optional

SCLID

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Optional

6.3.6. Sample Request

POST /AerAdmin_WS_5_0/rest/devices/serviceprofile?apiKey<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
    "accountID": 1,
    "email": "aerport@aeris.net",
    "newServiceProfile": "nks123",
    "deviceProfileId":"AER0000008338849"
}
Sample for Global eSIM:
{
    "accountID": 31758,
    "email": "aerport@aeris.net",
    "accessProfiles": [
        {
            "EID": "87878676879797878676878111133305",
            "newServiceProfile": "eSIM UMB_SP"
        }
    ]
}

6.3.7. Sample Response

{
    "transactionID": "8b8fbed0-f9e5-11e7-83cd-020f44a6d939",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2018-01-15T11:16:37.000Z",
    "deviceProfiles": [
        {
            "ICCID": "89185000160427367458",
            "IMSI": "204043396622367",
            "MSISDN": "11836148488",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        }
    ]
}
Sample for Global eSIM:
The EID will be returned in the deviceProfiles response.
The Child service profile will be assigned based on carrier. For example:
- The ATT child service profile will be assigned to an ATT device.
- The Vodafone child service profile will be assigned to a Vodafone device.
{
    "transactionID": "902a5c50-0cb2-11ec-85f4-b28b9e4ee770",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2021-09-03T12:29:22.000Z",
    "deviceProfiles": [
        {
            "EID": "87878676879797878676878111133305",
            "ICCID": "8966656863127667067",
            "IMSI": "204043446055416",
            "MSISDN": "11831216277",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        },
        {
            "EID": "87878676879797878676878111133305",
            "ICCID": "8966656863127667066",
            "IMSI": "1630513441623",
            "MSISDN": "1630513441623",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        }
    ]
}

6.4. Single Operation - Assign Static IP

This API is used for assigning and removing the static IP to the provisioned device. However, before assigning the static IP you must ensure that static IP is allowed by the service profile.

After assigning or Removing the static IP you can use the Network Location API call to validate the static IP assigned.

Note: This API is not supported for Fusion NA devices. If you run this API for such a device, error code 1148 will be returned.

6.4.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/staticip?apiKey=<apiKey>

6.4.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.4.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.4.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.4.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.4.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.4.3. Method Type

Method Type

POST

6.4.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of the account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

deviceProfileId

String

Mandatory

Defines the device profile Id for the intended device.

ipChange

String

Mandatory

Defines the one of the following values to assign or remove the static IP:

  • ASSIGN: Returns the assigned static IP in the response
  • REMOVE: Returns the previously assigned static IP in the response.

6.4.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

transactionID

String

Mandatory

resultCode

Int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

Attribute Name

Data Type

Constraint

MEID

String

Optional

EID String Optional

ESN

String

Optional

ICCID

String

Optional

MIN

String

Optional

IMSI

String

Optional

MDN

String

Optional

MSISDN

String

Optional

IMEI

String

Optional

SCLID

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Optional

6.4.6. Sample Request

POST /AerAdmin_WS_5_0/rest/devices/staticip?apiKey<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
    "accountID": 1,
    "email": "aerport@aeris.net",
    "ipChange": "ASSIGN",
    "deviceProfileId":"AER0000008338849"
}

6.4.7. Sample Response

{
    "transactionID": "81402f10-fb42-11e7-83cd-020f44a6d939",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2018-01-17T04:54:31.000Z",
    "networkResponse": [
        {
            "ICCID": "89185000160427367458",
            "IMSI": "204043396622367",
            "EID": "89001012012341004012345678999000",
            "MDN": "11836148488",
            "MSISDN": "11836148488",
            "dataSession": {
                "ipAddress": "10.112.6.193",
                "apn": "aer07.aerisapn.net"
            },
            "registration": {
                "isRegistered": false,
                "lastRegistrationTime": "2018-01-15T11:46:09.000Z",
                "lastAuthorizationTime": "2018-01-15T11:46:09.000Z"
            }
        }
    ]
}

6.5. Single Operation - Change Rate Plan

This API is used for changing the rate plan of the provisioned device. While updating the rate plan you can also define POOL and Effective date values as follows:

  • newPoolName: This field is optional. If this field is not provided, the device will be a part of pool, automatically, based on the rate plan specification. It is recommended not to use this field in the request payload to avoid unexpected errors. However, to use this field you must define the pool name as defined for the rate plan.
  • ratePlanEffectiveDate: You can define any date, which should be greater than the current date. The activation date for the new rate plan depends on following scenarios:

Rate Plan Effective Date\ ECRP* Status of Account

ECRP* Enabled A/C

ECRP* Not Enabled A/C

Effective date is within Current Bill Cycle

New rate plan is applicable from the start date of current bill cycle.

New rate plan is applicable from the start date of upcoming bill cycle.

Effective date is Outside Current Bill Cycle

New rate plan is applicable from the start date of the bill cycle in which the effective date falls.

New rate plan is applicable from the start date of the subsequent bill cycle in which the effective date falls.

* ECRP = End of Cycle Rate Plan adjustment

For Fusion NA devices:

  • ECRP is not enabled.
  • The Rate Plan should have same RAT_Type as in the Service Profile. Otherwise error code 1503 will be returned.

6.5.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/rateplan?apiKey=<apiKey>

6.5.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.5.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.5.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.5.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.5.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.5.3. Method Type

Method Type

POST

6.5.4. Request Response Classes

Request Class

Response Class

UpdateDeviceProfileRequest

UpdateDeviceResponse

6.5.5. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of the account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

deviceProfileId

String

Mandatory

Defines the device profile Id for the intended device.

newRatePlan

String

Mandatory

Defines the new rate plan for the device.

newPoolName

String

Optional

Defines the pool name to which the rate plan belongs or specify No Pool to avoid the device be a part of pool. See API description for details.

ratePlanEffectiveDate

String

Mandatory

Defines the effective date of the new rate plan. See API description for details.

6.5.6. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

transactionID

String

Mandatory

resultCode

Int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

Attribute Name

Data Type

Constraint

MEID

String

Optional

EID String Optional

ESN

String

Optional

ICCID

String

Optional

MIN

String

Optional

IMSI

String

Optional

MDN

String

Optional

MSISDN

String

Optional

IMEI

String

Optional

SCLID

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Optional

6.5.7. Sample Request

POST /AerAdmin_WS_5_0/rest/devices/rateplan?apiKey<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
    "accountID":1,
    "email": "aerport@aeris.net",
    "accessProfiles":[
        {
        "technology":"LTE",
        "ICCID":"89011702272024787985",
        "newRatePlan": "NA_TRIAL_90DAY_5MB_ALH",
        "ratePlanEffectiveDate": "09-01-2020"
        }
    ]
}
Sample for Global eSIM:
{
    "accountID": 31758,
    "email": "aerport@aeris.net",
    "accessProfiles": [
        {
        "EID": "87878676879797878676878111133305",
        "newRatePlan": "AER_GLOBESIM_UMB_99991",
        "ratePlanEffectiveDate": "09-10-2021"
        }
    ]
}

6.5.8. Sample Response

{
    "transactionID": "b3cca600-dbf7-11ea-8d7e-7e9721c4ba1c",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2020-08-11T17:25:52.000Z",
    "deviceProfiles": [
      {
         "ICCID": "89011702272024787985",
         "IMSI": "310170202478798",
         "MSISDN": "882350202478798",
         "result": {
            "resultCode": 0,
            "resultMessage": "OK"
         },
         "newPlanEffectiveDate": "09-01-2020",
         "staticIP": null
      }
   ]
}
Sample for Global eSIM:
The EID will be returned in the deviceProfiles response.
The Child rate plan will be assigned based on carrier. For example:
- The ATT child rate plan will be assigned to an ATT device.
- The Vodafone child rate plan will be assigned to a Vodafone device.
 
{
    "transactionID": "902a5c50-0cb2-11ec-85f4-b28b9e4ee770",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2021-09-03T12:29:22.000Z",
    "deviceProfiles": [
        {
            "EID": "87878676879797878676878111133305",
            "ICCID": "8966656863127667067",
            "IMSI": "204043446055416",
            "MSISDN": "11831216277",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": "09-10-2021",
            "staticIP": null
        },
        {
            "EID": "87878676879797878676878111133305",
            "ICCID": "8966656863127667066",
            "IMSI": "1630513441623",
            "MSISDN": "1630513441623",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": "09-10-2021",
            "staticIP": null
        }
    ]
}

6.6. Single Operation - Update Traffic Policy

This API is used to block\unblock services which are applicable to the provisioned device as per its service profile.

6.6.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/trafficpolicy?apiKey=<apiKey>

6.6.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.6.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.6.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.6.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.6.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.6.3. Method Type

Method Type

POST

6.6.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of AerPort account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

deviceProfileId

String

Mandatory

Defines the device profile Id for the intended device.

blockTraffic

List String

Mandatory

Defines the list of traffic to be blocked. You can one of following formats:

  • "blockTraffic":["Packet","SMS","Voice"]: Provide appropriate name of services to be blocked.
  • "blockTraffic":["All"]: Allows you to block all services currently active on the device.
  • "blockTraffic":[""]: Leave it blank if you are trying to unblock traffic.

unblockTraffic

List String

Mandatory

Defines the list of traffic to be unblocked. You can one of following formats:

  • "unblockTraffic":["Packet","SMS","Voice"]: Provide appropriate name of services to be unblocked.
  • "unblockTraffic":["All"]: Allows you to unblock all services currently active on the device.
  • "unblockTraffic":[""]: Leave it blank if you are trying to block traffic.

6.6.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

transactionID

String

Mandatory

resultCode

Int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

Attribute Name

Data Type

Constraint

MEID

String

Optional

EID String Optional

ESN

String

Optional

ICCID

String

Optional

MIN

String

Optional

IMSI

String

Optional

MDN

String

Optional

MSISDN

String

Optional

IMEI

String

Optional

SCLID

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Optional

6.6.6. Sample Request

POST /AerAdmin_WS_5_0/rest/devices/trafficpolicy?apiKey<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
    "accountID": 1,
    "email": "aerport@aeris.net",
    "deviceProfileId":"AER0000008338833",
    "blockTraffic":["Packet","SMS","Voice"],
    "unblockTraffic":[]
}
Sample for Global eSIM:
{
   "accountID":1,
   "email":"aerport@aeris.net",
   "deviceProfileId":"AER0000016778795",
   "blockTraffic":[
      "All"
   ],
   "unblockTraffic":[
       
   ]
}

6.6.7. Sample Response

{
    "transactionID": "77a592a0-fcfb-11e7-83cd-020f44a6d939",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2018-01-19T09:31:03.000Z",
    "deviceProfiles": [
        {
            "ICCID": "89185013121700006671",
            "IMSI": "204043396000768",
            "MSISDN": "11836420325",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        }
    ]
}
Sample for Global eSIM:
The API looks up the EID based on the deviceProfileId and applies the same traffic policy to the devices with the same EID.
The EID will be part of the response payload in each of the deviceProfiles.
{
    "transactionID": "e6933de0-fc73-11eb-ac2c-f6b06e9d8a05",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2021-08-13T20:20:29.000Z",
    "deviceProfiles": [
        {
            "EID": "87878676879797878676878111133307",
            "ICCID": "8966656863127667066",
            "IMSI": "204043446055415",
            "MSISDN": "11831216204",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        },
        {
            "EID": "87878676879797878676878111133307",
            "ICCID": "8966656863127667067",
            "IMSI": "1628868720974",
            "MSISDN": "1628868720974",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        }
    ]
}

6.7. Single Operation - Update Device State

This API is used to update the device status to Cancel or Suspend. Remember, the suspended device is still active on the network but the cancelled device gets removed from the network.

6.7.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/state?apiKey=<apiKey>

6.7.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.7.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.7.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.7.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.7.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.7.3. Method Type

Method Type

POST

6.7.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of the account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

deviceProfileId

String

Mandatory

Defines the device profile Id for the intended device.

stateChange

String

Mandatory

Defines the new state operation to be performed on the device. You can have one of the following values:

  • SUSPEND
  • CANCEL

cancelCode

Integer

Mandatory

Defines the cancellation code to provide reason, if you have opted to cancel the device. You can give one of the following values:

  • 1: Unknown
  • 2: Voluntary

The following attributes are available for Global eSIM:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of the account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

accessProfiles

List<AccessProfile>

Mandatory

AccessProfile
Attribute Name Data Type Constraint
EID String Mandatory
stateChange String Mandatory

6.7.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

transactionID

String

Mandatory

resultCode

Int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

Attribute Name

Data Type

Constraint

MEID

String

Optional

EID String Optional

ESN

String

Optional

ICCID

String

Optional

MIN

String

Optional

IMSI

String

Optional

MDN

String

Optional

MSISDN

String

Optional

IMEI

String

Optional

SCLID

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Optional

6.7.6. Sample Request

POST /AerAdmin_WS_5_0/rest/devices/state?apiKey<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
    "accountID": 1,
    "email": "aerport@aeris.net",
    "deviceProfileId":"AER0000008338833",
    "stateChange": "CANCEL",
    "cancelCode":1
}
Sample for Global eSIM:
"accountID": "31758",
"email": "aerport@aeris.net",
"accessProfiles": [
    {
      "EID": "87878676879797878676878111133292",
      "stateChange": "CANCEL"
    }
  ]
}

6.7.7. Sample Response

{
    "transactionID": "056a4f50-fd00-11e7-83cd-020f44a6d939",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2018-01-19T10:03:44.000Z",
    "deviceProfiles": [
        {
            "ICCID": "89185013121700006671",
            "IMSI": "204043396000768",
            "MSISDN": "11836420325",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        }
    ]
}
Sample for Global eSIM:
{
    "transactionID": "0523cec0-d396-11eb-af30-c2cf0cdec356",
    "resultCode": 1187,
    "resultMessage": "MultiMode Provision Error",
    "opCompletionTimestamp": "2021-06-22T20:11:25.000Z",
    "deviceProfiles": [
        {
            "ICCID": "8966656363127667050",
            "result": {
                "resultCode": 1047,
                "resultMessage": "Device not Activated."
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        },
        {
            "ICCID": "8966656363127667049",
            "result": {
                "resultCode": 1047,
                "resultMessage": "Device not Activated."
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        }
    ]
}

6.8. Single Operation - Update Device Attributes

This API is used to update the following device attributes:

  • Device Name
  • Current Location
  • Report Group
  • Application Type
  • Agent Type
  • Device Hardware Version
  • Device Firmware Version
  • Custom Field 1
  • Custom Field 2
  • Custom Field 3
  • Custom Field 4
  • Custom Field 5

6.8.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/attributes?apiKey<apiKey>

6.8.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.8.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.8.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.8.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.8.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date Time Stamp>

Date time stamp of receiving the response.

6.8.3. Method Type

Method Type

POST

6.8.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

Integer

Mandatory

Unique Id of the account, under which the device is provisioned

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

deviceProfileId

String

Mandatory

Defines the device profile Id for the intended device.

deviceName

String

Optional

Defines any user friendly name of the device. The device name must be 24 characters or less in length.

currentLocation

String

Optional

Defines the current location of the device. For example Home, Office, and so on. This field has a limit of 30 characters.

accessProfiles List<AccessProfile> Mandatory
AccessProfile
Attribute Name Data Type Constraint
EID String Mandatory
technology String Mandatory

reportGroup

Integer

Optional

The report group field can be useful to classify and group devices in reports, for example in end of month billing summaries. A report group can contain up to 10,000 devices and there can be up to 256 unique report groups. The value of a report group cannot be greater than 2147483647. If a report group is not specified, your device will be assigned to group 0 by default.

applicationType

String

Optional

The application type is an attribute that is used to assist in troubleshooting problematic devices. 

  • Mobile suggests that your device is physically mobile and moves from location to location as part of normal operation. 
  • Fixed suggests that your device does not move from one location to another as part of normal operation, for example, if the device is fixed to a power source.

agentId

String

Optional

Specifies the sales agent Id for capturing and tracking the devices belong to individual sales representative or Sales Agents. 

deviceHardwareVersion

String

Optional

This is an optional field that allows you to track your device's hardware version. The hardware version field has a limit of 20 characters.

deviceFirmwareVersion

String

Optional

This is an optional field that allows you to track your device's firmware version. The firmware version field has a limit of 20 characters

customField

Data String

Optional

These are optional fields that allow you to track additional information of your device. Each custom attribute fields can have maximum 64 characters.

  • customField1
  • customField2
  • customField3
  • customField4
  • customField5

6.8.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Description

transactionID

String

Defines a unique transaction ID of the API request for logging purpose. In case, the request remains pending or unexpected error occurs then this transaction Id can be used to fetch detailed information about API request to get latest status of the API call or troubleshoot the issue.

resultCode

Int

Defines the HTTP code to define status of the API request.

resultMessage

String

Defines the user-friendly message as part of API response.

opCompletionTimestamp

XMLGregorianCalendar

Defines the completion time stamp of the API request.

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

Attribute Name

Data Type

Constraint

MEID

String

Optional

EID String Optional

ESN

String

Optional

ICCID

String

Optional

MIN

String

Optional

IMSI

String

Optional

MDN

String

Optional

MSISDN

String

Optional

IMEI

String

Optional

SCLID

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Defines the detailed provisioning information about the device.

6.8.6. Sample Requests

POST /AerAdmin_WS_5_0/rest/devices/attributes?apiKey<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
    "customField": {
        "customField1": "F1 API",
        "customField2": "F2 API",
        "customField3": "F3 API",
        "customField4": "F4 API",
        "customField5": "F5 API"
    },
    "deviceName": "Test Update from API",
    "currentLocation": "API",
    "reportGroup": 4,
    "applicationType": "Mobile",
    "agentId": null,
    "deviceHardwareVersion": "Hw5.00",
    "deviceFirmwareVersion": "Fw6.02",
    "accountID": 1,
    "email": "xxxx@aeris.net",
    "deviceProfileId": "AER0000009951514"
    }
Sample for Global eSIM:
{
    "accountID": "1",
    "email": "aerport@aeris.net",
    "currentLocation": "12345678901234567890123456786",
    "accessProfiles": [
        {
            "technology": "LTE",
            "EID": "89001012012341004012345678999002"
        }
    ]
}

6.8.7. Sample Responses

{
    "transactionID": "941c5640-f9fc-11e8-9623-0675322570f0",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2018-12-07T08:46:24.000Z",
    "deviceProfiles": [
        {
            "ICCID": "89185000160427367458",
            "IMSI": "204043396622367",
            "MSISDN": "11837072836",
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "newPlanEffectiveDate": null,
            "staticIP": null
        }
    ]
    }
Sample for Global eSIM:
{
   "transactionID" : "76af8500-273f-11ec-94c1-26717f40de1b",
   "resultCode" : 0,
   "resultMessage" : "OK",
   "opCompletionTimestamp" : "2021-10-07T07:23:28.000Z",
   "deviceProfiles" : [ {
      "ICCID" : "89011702272024535608",
      "EID" : "89001012012341004012345678999002",
      "IMSI" : "310170202453560",
      "MSISDN" : "1633539584383",
      "result" : {
         "resultCode" : 0,
         "resultMessage" : "OK"
      },
      "newPlanEffectiveDate" : null,
      "staticIP" : null
   }, {
      "ICCID" : "89185000190820001081",
      "EID" : "89001012012341004012345678999002",
      "IMSI" : "204043898000107",
      "MSISDN" : "11831288036",
      "result" : {
         "resultCode" : 0,
         "resultMessage" : "OK"
      },
      "newPlanEffectiveDate" : null,
      "staticIP" : null
   } ]
}

6.9. Single Operation - Provision Device

This API is used to a provision and re-provision a device on Aeris network. You can also defines the initial state of the device as Provision and Bill.

6.9.1. URI

https://<host>/AerAdmin_WS_5_0/rest/devices/provision?apiKey=<apiKey>

6.9.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

NA

NA

NA

6.9.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.9.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.9.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.9.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.9.3. Method Type

Method Type

POST

6.9.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

accountID

String

Mandatory

Unique Id of the account, under which the device need to be provisioned.

productId

Integer

Optional

Defines the product Id of SIM being provisioned. You can use one of following values, as assigned to your account:

  • 1: City SIM
  • 2: Global SIM
  • 4: CDMA
  • 7: SelfServe SIM
  • 12: Dual-Mode CG
  • 25: Dual-Mode LC
  • 27: Tri-Mode
  • 28: Dual-Mode A-LH
  • 41: Fusion Global
  • 42: Fusion NA
  • 43: Global eSIM

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

startBilling

Boolean

Optional

Defines the initial state of the device being provisioned.

  • True: Device state shall be BILL.
  • False: Device state shall be PROVISION.

deviceName

String

Optional

Defines any user friendly name of the device. The device name must be 24 characters or less in length.

currentLocation

String

Optional

Defines the current location of the device. For example Home, Office, and so on. This field has a limit of 30 characters.

applicationType

String

Mandatory

The application type is is used to assist in troubleshooting problematic devices. Mobile suggests that your device is physically mobile and moves from location to location as part of normal operation. Fixed suggests that your device does not move from one location to another as part of normal operation, for example, if the device is fixed to a power source.

If your device is mobile, enter M

If your device is fixed, enter F

deviceFirmwareVersion

String

Optional

Allows you to track your device's firmware version. The firmware version field has a limit of 20 characters.

deviceHardwareVersion

String

Optional

Allows you to track device's hardware version. The hardware field has a limit of 20 characters.

agentId

String

Optional

Allows you to define an ID if the device is related to specific sales channel.

customAttributes

List<CustomAttribute>

CustomAttibute

Attribute Name

Data Type

Constraint

attributeName

String

Mandatory

attributeValue

String

Mandatory

Optional

Custom attributes allow you to track additional device information in up to 5 separate custom fields.

You can define the value of attributeName field as of one or more of the follows:

  • customField1
  • customField2
  • customField3
  • customField4
  • customField5

The attributeValue field can have any user defined text up to 20 characters.

serialNumber

String

Optional

Allows you to track your device's serial number.

imei

String

Optional

Allows you to track your device's IMEI.

accessProfiles

List<AccessProfile>

AccessProfile

Attribute Name

Data Type

Constraint

technology

String, such as "LTE" or "GSM"

Mandatory

MEID

String

Either one or more of them are mandatory.

For example, for Global SIM, product ICCID is mandatory.

EID String

ESN

String

ICCID

String

MIN

String

IMSI

String

MDN

String

MSISDN

String

IMEI

String

SCLID

String

ratePlan

String

Mandatory

serviceProfile

String

Mandatory

assignStaticIp

Boolean

Optional

Mandatory

 

6.9.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

transactionID

String

Mandatory

resultCode

Int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

Attribute Name

Data Type

Constraint

MEID

String

Optional

EID String Optional

ESN

String

Optional

ICCID

String

Optional

MIN

String

Optional

IMSI

String

Optional

MDN

String

Optional

MSISDN

String

Optional

IMEI

String

Optional

SCLID

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Optional

6.9.6. Sample Requests

POST /AerAdmin_WS_5_0/rest/devices/state?provision<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
    "accountID": 11173,
    "email": "aerport@aeris.net",
    "productId": 2,
    "applicationType": "M",
    "startBilling": true,
    "customAttributes": [{
        "attributeName": "customField1",
        "attributeValue": "C1"
    },
    {
        "attributeName": "customField2",
        "attributeValue": "C2"
    },
    {
        "attributeName": "customField3",
        "attributeValue": "C3"
    },
    {
        "attributeName": "customField4",
        "attributeValue": "C4"
    },
    {
        "attributeName": "customField5",
        "attributeValue": "C5"
    }],
    "accessProfiles": [{
       "technology": "GSM",
       "ICCID": "89918000817970000047",
       "ratePlan": "rpGSM",
       "serviceProfile": "testafGSM"
    }],
    "provisionProfile": {
       "reportGroup": 0
    }
}
Sample for Global eSIM:
When you provision an eSIM using product ID 43, both profiles on the device are provisioned.
{
   "accountID":"11173",
   "email":"aerport@aeris.net",
   "productId":43,
   "applicationType":"M",
   "startBilling":false,
   "customAttributes":[
      {
         "attributeName":"customField1",
         "attributeValue":""
      },
      {
         "attributeName":"customField2",
         "attributeValue":""
      },
      {
         "attributeName":"customField3",
         "attributeValue":""
      },
      {
         "attributeName":"customField4",
         "attributeValue":""
      },
      {
         "attributeName":"customField5",
         "attributeValue":""
      }
   ],
   "tags":"",
   "serialNumber":"",
   "accessProfiles":[
      {
         "technology":null,
         "EID":"89044045817727484800000005605737",
         "ratePlan":"AER_GLOBSIM_83693",
         "serviceProfile":"esimjirae",
         "assignStaticIp":true
      }
   ],
   "provisionProfile":{
      "reportGroup":0
   }
}

6.9.7. Sample Responses

{
    "transactionID": "4dadb620-fd15-11e7-83cd-020f44a6d939",
    "resultCode": 0,
    "resultMessage": "OK",
    "opCompletionTimestamp": "2018-01-19T12:36:01.000Z",
    "deviceProfileId": "AER0000008338945",
    "deviceProfiles": [
        {
            "result": {
                "resultCode": 0,
                "resultMessage": "OK"
            },
            "ICCID": "89918000817970000047",
            "IMSI": "405800970000007",
            "MSISDN": "11836420334",
            "IMEI":"310170207733033",
            "technology": "GSM",
            "profileAttributes": [
                {
                    "attributeName": "ALT_MSISDN"
                }
            ]
        }
    ]
    }
Sample for Global eSIM:
{
   "transactionID" : "f9dc66f0-84b9-11ec-8a55-5aef13c409fa",
   "resultCode" : 0,
   "resultMessage" : "OK",
   "opCompletionTimestamp" : "2022-02-03T06:24:53.000Z",
   "deviceProfileId" : "AER0000017034814",
   "deviceProfiles" : [ {
      "result" : {
         "resultCode" : 0,
         "resultMessage" : "OK"
      },
      "ICCID" : "89185003210821000069",
      "EID" : "89044045817727484800000005605737",
      "IMSI" : "204043898374225",
      "MSISDN" : "11831446776",
      "technology" : "LTE",
      "staticIP" : "10.152.0.38",
      "profileAttributes" : [ ]
   }, {
      "result" : {
         "resultCode" : 0,
         "resultMessage" : "OK"
      },
      "ICCID" : "89011701328863055487",
      "EID" : "89044045817727484800000005605737",
      "IMSI" : "310170886305548",
      "MSISDN" : "1643869490616",
      "technology" : "LTE",
      "staticIP" : "10.188.0.1",
      "profileAttributes" : [ ]
   } ]
}

6.10. Bulk Operation - Bulk Device Provision

This API is used to a provision and re-provision more than one device (BULK Provision) at a time on Aeris network. This API allows you to attach a CSV file with all relevant information to provision the devices. Each line of the CSV contains different device details.

6.10.1. URI

https://aeradminapi.aeris.com/AerAdmin_WS_5_0/rest/<AccountID>/bulk-operation?apiKey=<apiKey>

6.10.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

AccountID

Int

Defines the account Id of customer account, as visible on the AerPort portal.

6.10.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.10.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.10.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

email

Email id of the user performing the operation

Mandatory

templateType

Specify template type as REGISTRATION only.

This value is case sensitive.

Mandatory

6.10.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.10.3. Method Type

Method Type

POST

6.10.4. Request Payload Description

The request payload is provided as form-data by uploading the CSV file that contain details of the devices being provisioned

Key

Constraint

Value

file

Mandatory

Specifies the CSV file path from your local system containing the details of devices being provisioned.

Before uploading the CSV file, ensure that all fields for the different devices are specified properly because all fields of the CSV get validated and in case of any error the entire process is rolled back by the system. Therefore, it is necessary to understand the CSV file template and provide appropriate value in each field.

Click here to download a sample CSV file.

All fields of the CSV file are explained as follows:

Fields Name

Constraint

Description

operation

Mandatory

You can specify one of the following values:

  • Specify PROVISION to provision the device with Provisioned status.
  • Specify ACTIVATION to provision the device with Billed status and start billing.
  • Specify REPROVISION to re-provision the device with Provisioned status. This option is applicable for only those devices which are currently in cancelled state.

productId

Optional

You can leave this field blank. Optionally, you can specify one of the following values:

  • Specify 1 for the City SIM
  • Specify 2 for the Global SIM
  • Specify 4 for the CDMA SIM
  • Specify 7 for the SelfServe SIM
  • Specify 12 for the Dual-Mode CG SIM
  • Specify 25 for the Dual-Mode LC Device
  • Specify 27 for the Tri-Mode device
  • Specify 28 for the Dual-Mode A-LH Device
  • Specify 41 for the Fusion Global SIM
  • Specify 42 for the Fusion NA SIM
  • Specify 43 for Global eSIM

deviceName

Optional

Allows you to specify a unique name to your device's profile. The device name has a 24 character limit.

agentId

Optional

Specify agentId if you have one from your sales team, else leave this field blank.

startBilling

Mandatory

Specify FALSE always because the billing status is already is specified in the operation (PROVISION, ACTIVATION, or REPROVISION) field.

provisionProfile

Not Applicable

Leave this field blank, since this filed is used internally by the system.

ratePlan

Mandatory

Specify the rate plan Label for device billing purpose. The rate plan label must be exactly same as it is presented on your account information page (Quicklinks → View current account details). 

Also, ensure that the rate plan is valid for the specified Product ID.

The Rate Plan Name must NOT be used in this field. Always use the Rate Plan Label in this field.

serviceProfile

Mandatory

Specify the service profile Name, which identifies the network services your device can access. The service profile name must be exactly same as it is presented on your account information page (Quicklinks → View current account details).

Also, eEnsure that the service is valid for the specified Product ID.

AssignStaticIP

Optional

Specify TRUE to assign a static IP to the device, and FALSE otherwise. The default value is FALSE.

You can only assign a Static IP if it is included in the device's service profile and can only be done by prior arrangement with the Operator.

containerId

Not Applicable

Leave this field blank since this field is used internally by the system.

dataModelId

Not Applicable

Leave this field blank since this field is used internally by the system.

reportGroup

Optional

The report group is used to classify and group devices in reports. The value of the report group cannot be greater than 2147483647. A report group can contain up to 10,000 devices and there can be up to 256 unique report groups.

If a report group is not specified, your device gets assigned to group 0, by default.

enableOnAerisIOT

Not Applicable

Leave this field blank since this field is used internally by the system.

currentLocation

Optional

Allows you to specify your device's current location. The current location field has a limit of 30 characters.

applicationType

Optional

Specify M, If your device is mobile, this is default value if the field is left blank.

Specify F, If your device is fixed.

The application type is is used to assist in troubleshooting problematic devices. Mobile suggests that your device can move from one physical location to another as part of normal operation. Fixed suggests that your device does not move from one location to another as part of normal operation, for example, if the device is fixed to a power source.

FirmwareVersion

Optional

Specifies the firmware version of the device. If not available, leave it blank. The firmware version field has a limit of 20 characters.

HardwareVersion

Optional

Specifies the hardware version of the device. If not available, leave it blank. The hardware field has a limit of 20 characters.

tags

Optional

Leave this field blank since this field is used internally by the system.

serialNumber

Optional

Specifies the serial number of your device. If not available, leave it blank.

imei

Optional

Specifies the IMEI number of the device. If not available, leave it blank.

AccessProfile1Technology

Mandatory

Specify the technology of the device you are provisioning, which can be one of the following:

  • CDMA
  • GSM
  • LTE

AccessProfile1IDType

Mandatory

Specifies the corresponding identifier of the device based on the technology. 

  • GSM → ICCID
  • CDMA → MEID
  • LTE → ICCID
  • ESIM → EID

AccessProfile1ID

Mandatory

Specify the actual device identifier of the device being provisioned. This is a prerequisite and you ask your operator to fulfill this.

AccessProfile1ServiceName

Not Applicable

Leave this field blank because the value is already specified in the serviceProfile column.

AccessProfile1RatePlan

Not Applicable

Leave this field blank because the value is already specified in the ratePlan column.

AccessProfile2Technology

Mandatory/Optional

Specify the technology of the secondary device, ONLY if you are provisioning the DUAL-Mode device.

In case of Single Mode device, leave this field blank.

AccessProfile2IDType

Mandatory/Optional

Specifies the corresponding identifier of the secondary device based on the technology.

In case of Single Mode device, leave this field blank.

AccessProfile2ID

Mandatory/Optional

Specify the actual identifier of the secondary device being provisioned.

In case of Single Mode device, leave this field blank.

AccessProfile2ServiceName

Not Applicable

Leave this field blank because the value is already specified in the serviceProfile column.

AccessProfile2RatePlan

Not Applicable

Leave this field blank because the value is already specified in the ratePlan column.

AccessProfile3Technology

Not Applicable

Similar to AccessProfile1Technology, AccessProfile1IDType, and AccessProfile1ID fields but only valid for Tri-Mode devices.

In case of Single and Dual Mode devices, leave this field blank.

AccessProfile3IDType

Not Applicable

AccessProfile3ID

Not Applicable

AccessProfile3ServiceName

Not Applicable

Leave this field blank because the value is already specified in the serviceProfile column.

AccessProfile3RatePlan

Not Applicable

Leave this field blank because the value is already specified in the ratePlan column.

custom-attr-name1

custom-attr-value1

Optional

Custom attributes allow you to track additional device information in up to 5 separate custom fields in the Name-Value pair. 

custom-attr-name-1: specify only customField1 in this field.

custom-attr-value-1: specify the actual value of the first custom attribute. The custom attribute value is limited to 64 characters and accept any printable ASCII characters.

custom-attr-name2

custom-attr-value-2

Optional

Custom attributes allow you to track additional device information in up to 5 separate custom fields in the Name-Value pair. 

custom-attr-name-2: specify only customField2 in this field.

custom-attr-value-2: specify the actual value of the first custom attribute. The custom attribute value is limited to 64 characters and accept any printable ASCII characters.

custom-attr-name3

custom-attr-value-3

Optional

Custom attributes allow you to track additional device information in up to 5 separate custom fields in the Name-Value pair. 

custom-attr-name-3: specify only customField3 in this field.

custom-attr-value-3: specify the actual value of the first custom attribute. The custom attribute value is limited to 64 characters and accept any printable ASCII characters.

custom-attr-name4

custom-attr-value-4

Optional

Custom attributes allow you to track additional device information in up to 5 separate custom fields in the Name-Value pair. 

custom-attr-name-4: specify only customField4 in this field.

custom-attr-value-4: specify the actual value of the first custom attribute. The custom attribute value is limited to 64 characters and accept any printable ASCII characters.

custom-attr-name-5

custom-attr-value-5

Optional

Custom attributes allow you to track additional device information in up to 5 separate custom fields in the Name-Value pair. 

custom-attr-name-5: specify only customField5 in this field.

custom-attr-value-5: specify the actual value of the first custom attribute. The custom attribute value is limited to 64 characters and accept any printable ASCII characters.

6.10.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Description

transactionID

String

Returns the unique transaction ID of the request. You can use this Id to further investigate the provision request status, if something happens unexpected.

operationType

String

Always returns "UPLOAD_CSV"

resultCode

Int

After successful execution it returns 0 (zero).

errorMessage

String

After successful execution it returns NULL.

6.10.6. Sample Request

POST /AerAdmin_WS_5_0/rest/1/bulk-operation?apiKey=<your Account KEY>
HTTP/1.1
Host: aeradminapi.aeris.com
email: aerport@aeris.net
templateType: REGISTRATION
Cache-Control: no-cache
Content-Type: multipart/form-data;
Content-Disposition: form-data; name="file"; filename="PROVISION_template_5Devices.csv"
Content-Type: application/vnd.ms-excel

6.10.7. Sample Response

{
    "response": {
        "transactionId": "f413e766-6001-4e9d-830a-867c27968cd6",
        "operationType": "UPLOAD_CSV",
        "resultCode": 0,
        "errorMessage": ""
    }
}

6.11. Bulk Operation - |Bulk Device Status| - |Bulk Traffic| - |Bulk Rate Plan| - |Bulk Change Service Name| - |Bulk Change Static IP| - |Bulk Update Custom Attribute|

This API is used to perform one single action on more than one device at a time. This API is asynchronous in nature, which implies that you need not wait for the operation to complete. You can just initiate a request and let the system perform necessary changes in the background.

This API allows you to perform following actions in bulk:

  • Change Device Status
  • Change Traffic Policy (Block/Unblock traffic)
  • Change Rate Plan
  • Change Service Name
  • Change Static IP
  • Update Custom Attribute

6.11.1. URI

https://<host>/AerAdmin_WS_5_0/rest/<accountID>/bulk-operation/devices?apiKey=<apiKey>

6.11.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

Account ID

String

Defines the customer account Id for which the devices are provisioned in the AerPort portal. The account Id is the unique identifier of the customer account and Id is generated by AerPort portal.

6.11.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.11.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.11.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

application/json

Optional

Content-Type

application/json

Mandatory

Accept-Charset

utf-8

Optional

6.11.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Content-Length

<n>

The content length value varies for each response.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.11.3. Method Type

Method Type

POST

6.11.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

Description

email

String

Mandatory

Email Id of the primary user of the account. However, it is not mandatory to be same as defined in AerPort.

operationName

String

Mandatory

Defines the bulk operation name. You can specify one of the following values:

  • SUSPEND
  • UNSUSPEND
  • CHANGERATEPLAN
  • CHANGESERVICENAME
  • ASSIGNSTATICIP
  • REMOVESTATICIP
  • CANCEL
  • TRAFFICPOLICY
  • UPDATEATTRIBUTES

technology

String

Mandatory

Defines the technology used by the devices. All devices of the request must be on same technology.

deviceProfileIds

List<String>

Mandatory if accessProfiles is null. If both are provided, they are merged.

Defines the list of Device Profile Ids, on which the selected operation need to be performed. The Ids must be enclosed in brackets and separated by comma as follows:

[ "AER0000007743295" , "AER0000007743326" ]

accessProfiles

This option is coming in early 2023.

List<List<AccessProfile>> Mandatory if deviceProfileIds is null. If both are provided, they are merged.

Defines a list of devices by identifying each of them with an Access Profile.

[[{access profile of first device}], [{access profile of second device}], [and so on]]

Here is the format:

"accessProfiles": [

[{technology": "<tech type such as GSM or LTE>", "idType": "<type of ID such as ICCID, EID, or IMSI>", "id": "<id number>"}],

[{second device access profile...}]

]

newServiceName

String

Optional

Defines the new service name to be applied on the given devices if you are executing the request to change service profile.

newRatePlan

String

Mandatory

Defines the new rate plan, if you are executing the request to change rate plan.

newEffectiveDate

String

Mandatory

Defines the effective date of new rate plan. See Change Rate Plan API for more detail.

cancelCode

String

Mandatory

Defines the cancellation reason code, if you are executing the request to cancel devices.

assignStaticIP

String

Mandatory

 

block

List<Object>

Mandatory

Defines the list of traffics that need to be blocked, if you are executing the request to block traffic on the devices. You can define the one of following values:

  • PACKET
  • SMS
  • VOICE
  • ALL

unblock

List<Object>

 

Defines the list of traffics that need to be unblocked, if you are executing the request to unblock traffic on the devices. You can define the one of following values:

  • PACKET
  • SMS
  • VOICE
  • ALL

attributes

Attributes

Mandatory

Defines the custom attribute names and their corresponding values, if you are executing the request to update the custom attributes.

6.11.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

Constraint

transactionID

String

Mandatory

resultCode

Int

Optional

resultMessage

String

Optional

opCompletionTimestamp

XMLGregorianCalendar

Mandatory

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

Attribute Name

Data Type

Constraint

MEID

String

Optional

EID String Optional

ESN

String

Optional

ICCID

String

Optional

MIN

String

Optional

IMSI

String

Optional

MDN

String

Optional

MSISDN

String

Optional

IMEI

String

Optional

SCLID

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Optional

6.11.6. Sample Request

POST /AerAdmin_WS_5_0/rest/11173/bulk-operation/devices?apiKey=<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
    "email": "aerport@aeris.net",
    "deviceProfileIds": ["AER0000008338943", "AER0000008338942"],
    "operationName": "CANCEL"
}
SAMPLE USING Access Profiles and Device Profile IDs:
POST /AerAdmin_WS_5_0/rest/11173/bulk-operation/devices?apiKey=<apiKey>
HTTP/1.1
Host: aeradminapi.aeris.com
Content-Type: application/json
Cache-Control: no-cache
{
{
    "email": "myemail@aeris.net",
    "operationName": "UPDATEATTRIBUTES",
    "technology": "LTE",
    "deviceProfileIds": [
        "AER0000015829867",
        "AER0000016143613"
    ],
    "accessProfiles": [
         [{"technology": "GSM",
         "idType": "ICCID",
         "id": "89011702272096390916"
         }],
         [{"technology": "LTE",
         "idType": "EID",
         "id": "890010120123410040123456"
         }]
    ],
"attributes": {
    "currentLocation": "currentLocation1",
    "customField1": "customField1"
}
}          

6.11.7. Sample Response

{
    "transactionId": "af317e50-0020-11e8-83cd-020f44a6d939",
    "operationType": "CANCEL",
    "resultCode": 0,
    "errorMessage": ""
}
Response Payload for Example with Access Profiles and Device Profile IDs
{
    "transactionId": "2127b718-2dd5-4d1f-9267-768f633202a5",
    "operationType": "UPDATEATTRIBUTES",
    "resultCode": 0,
    "errorMessage": ""
}          

6.13. Get SIM Inventory

SIM identifiers are long and complex numbers. Misplaced numbers and typos are a common source of problems with working with all these numbers. One way to improve accuracy is to retrieve a list of available SIMs from the Aeris Connectivity Platform.

For most services, the Aeris will assign SIMs to the user's account. That guarantees that the SIMs cannot be inadvertently provisioned on another account. It also provide a convenient way to acquire available inventory details and use that information for other records for your own application needs.

This API returns a list of SIMs assigned to your account. The list includes provisioned, non-provisioned, and suspended SIMs.

6.13.1. URI

https://<host>/AerAdmin_WS_5_0/rest/accounts/{accountId}/availableDevices/details?apiKey=<apiKey>

6.13.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name

Type

Description

accountId

String

The Account ID.

6.13.1.2. Query Parameters

The preceding URI has the following query parameters:

Name

Type

Constraint

Description

apiKey

String

Mandatory

Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

pageStart

Integer

Mandatory

The customers with very large inventories, the amount of data returned may be very large. These values allow the users to page through the list of SIMs in manageable batches.

pageEnd

Integer

Mandatory

pageEnd must be greater than pageStart.

productId

Integer

Mandatory

You can specify one of the following values:

  • Specify 1 for the City SIM
  • Specify 2 for the Global SIM
  • Specify 4 for the CDMA SIM
  • Specify 7 for the SelfServe SIM
  • Specify 12 for the Dual-Mode CG SIM
  • Specify 25 for the Dual-Mode LC Device
  • Specify 27 for the Tri-Mode device
  • Specify 28 for the Dual-Mode A-LH Device
  • Specify 41 for the Fusion Global SIM
  • Specify 42 for the Fusion NA SIM
  • Specify 43 for Global eSIM

carrierName

String

Optional

This is the Aeris name for a particular carrier provider. The examples here will use "AerisVFN."

6.13.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.13.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name

Value

Constraint

Accept

/ *

Optional

6.13.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name

Value

Description

Content-Type

application/json

Defines the response format.

Date

<Date time Stamp>

Date time stamp of receiving the response.

6.13.3. Method Type

Method Type

GET

6.13.4. Request Payload Description

The request payload is provided as JSON objects with the following attributes: none.

6.13.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name

Data Type

iccid

String

imsi

String

dateAssigned

String: YYYY-MM-DD formatted string. The date the SIM was first assigned to your account.

name

String. Unused at this time and will return null.

carrier

String

6.13.6. Sample Request

GET http://localhost:8080/AerAdmin_WS_5_0/rest/accounts/1/availableDevices?apiKey=<apiKey>&pageStart=1&pageEnd=5&productId=2

6.13.7. Sample Response

[
    {
        "iccid": "89014102272234567898",
        "imsi": "204043395000091",
        "dateAssigned": "2013-12-23",
        "name": null,
        "carrier": "AerisVFN"
    },
    {
        "iccid": "89014102273234567898",
        "imsi": "204043395000092",
        "dateAssigned": "2013-12-23",
        "name": null,
        "carrier": "AerisVFN"
    },
    {
        "iccid": "89014102274234567898",
        "imsi": "204043395000093",
        "dateAssigned": "2013-12-23",
        "name": null,
        "carrier": "AerisVFN"
    },
    {
        "iccid": "89014102276234567898",
        "imsi": "204043396000092",
        "dateAssigned": "2013-12-23",
        "name": null,
        "carrier": "AerisVFN"
    },
    {
        "iccid": "89014102271234567898",
        "imsi": "204043396000095",
        "dateAssigned": "2013-12-20",
        "name": null,
        "carrier": "AerisVFN"
    }
]

6.13.8. Sample of Invalid Product ID

Request
http://localhost:8080/AerAdmin_WS_5_0/rest/accounts/1/availableDevices?apiKey=<apiKey>&pageStart=1&pageEnd=5&productId=2000&carrierName=AerisVFN
Response:
Response code: 400 Bad request
Response Message: Error: Invalid product Id.

6.13.8. Sample of Invalid Product ID and Carrier Mapping

Request
http://localhost:8080/AerAdmin_WS_5_0/rest/accounts/1/availableDevices?apiKey=<apiKey>&pageStart=1&pageEnd=5&productId=2&carrierName=ABCD
Response:
Response code: 400 Bad request
Response Message: Error: Invalid carrier and product mapping.

6.14. Account Operation - Get Summary of Device

This API is used to retrieve a summary for a device of a particular account.

6.14.1. URI

https://<host>[<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/device/summary?apiKey=<apiKey>

6.14.1.1. Variable Path Parameter

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
deviceIdType String

Identifies the device ID type, which can be one of the following:

  • IMSI
  • ICCID
deviceId Integer Defines the device ID generated according to the particular device type.

6.14.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String ​Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.14.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.14.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.14.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.14.3. Method Type

Method Type

GET

6.14.4. Request Payload Description

N/A

6.14.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
id String Returns the Aeris-specific ID assigned to the devices.
accountId Integer Returns the account ID of the customer as specified in the path parameter of the request URI.
mdn String Returns the MDN.
iccid String Returns the ICCID.
meid String Returns the MEID.
esn String Returns the ESN.
imsi String Returns the IMSI.
min String Returns the MIN.
status String Returns the provisioned state of the device.
serviceProfile String Returns the service profile of the device.
staticIP String Returns the static IP provisioned for the device (if applicable).
technology String

Returns the type of mobile services, some example values are follows:

  • CDMA
  • GSM
  • LTE
carrier String Returns the carrier service provider.
statusStartDate Date Returns the date which the current provisioned state was set.
trafficPolicy String Returns the current traffic policy restrictions on the device if set, else returns NULL.

6.14.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/device/ICCID/89185000170713062770/device/summary?apiKey=<apiKey>

6.14.7. Sample Response

[
 {
    "id": "54775417",
    "accountId": "21102",
    "mdn": "11836575809",
    "min": null,
    "iccid": "89185000170713062770",
    "meid": null,
    "esn": "-",
    "imsi": "204043397533953",
    "status": "Bill",
    "serviceProfile": "CustomerName_EU",
    "staticIP": null,
    "technology": "GSM",
    "carrier": "AerisVFN",
    "statusStartDate": "02-22-2018",   
    "trafficPolicy": null
 }
]

6.15. Account Operation - Get Provisioned State

This API is used to retrieve the current provisioned status of the device.

6.15.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/status/provision?apiKey=<apiKey>

6.15.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
deviceIdType String

Identifies the device ID type, which can be one of the following:

  • IMSI
  • ICCID
deviceId Integer Defines the device ID generated according to the particular device type.

6.15.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.15.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.15.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.15.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.15.3. Method Type

Method Type

GET

6.15.4. Request Payload Description

N/A

6.15.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
status integer

Returns one of the following values to indicate the device state:

  • 2: Provision
  • 4: Billing
  • 5: Suspend
  • 7: Cancel
  • Blank: Returns a blank response if the device is never provisioned till date.

6.15.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/21102/device/ICCID/89185000170713062770/status/provision?apiKey=<apiKey> 

6.15.7. Sample Response

4

6.16. Account Operation - Get the Registration Status of Device

This API is used to retrieve the registration status of the cellular device for previous hours, with exact date and time of the last registration.

6.16.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/status/cellular?apiKey=<apiKey>

6.16.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
deviceIdType String

Defines the unique identifier for representation of the device which can be of following types:

  • ICCID
deviceId Integer Defines the device ID generated according to the particular device type.

6.16.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.16.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.16.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.16.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.16.3. Method Type

Method Type

GET

6.16.4. Request Payload Description

N/A

6.16.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
status String Returns True if the device has registered on the network in last 48 hours else returns False.
statusMessage String Returns the date and time of the last registration of the device.
ipAddress String Returns the IP address if in packet session.
lastConnectionAt String Returns information on the last connection.
lastKnownLocation Location Returns the last SGSN location of the connected device.
lastKnownLocationDate Location and Date Returns the date and time of the last known SGSN location of the connected device.
lastRegRecordType String Unused
lastRegRecordDate Date

Unused

6.16.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/device/ICCID/89185000170713062770/status/cellular?apiKey=<apiKey>

16.6.7. Sample Response

[
      {
        "status": "false",
        "statusMessage": "No Registration in last 48 hrs.\nLast Registration At 2018-02-22 07:38:36",
        "ipAddress": null,
        "lastConnectionAt": null,
        "lastKnownLocation": "628110723143",
        "lastKnownLocationDate": "2018-02-22 07:38:36",
        "lastRegRecordType": null,
        "lastRegRecordDate": null
       }
]

6.17. Account Operation - Get Traffic Summary

This section of AerAdmin API documentation outlines the overall information about traffic, for example authorization, registration, and location.

6.17.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/traffic/summary?apiKey=<apiKey>

6.17.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as provided on the AerPort Portal.
deviceIdType String

Identifies the device ID type, which can be one of the following:

  • IMSI
  • ICCID
deviceId Integer Defines the device ID according to the particular device type.

6.17.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.17.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.17.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.17.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.17.3. Method Type

Method Type

GET

6.17.4. Request Payload Description

N/A

6.17.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
lastRegTime DateTime Returns the time stamp when the device was last registered on the network.
lastInactivtime DateTime Returns the last time stamp when the device was not registered on the network.
lastStrtTime DateTime Returns the start time stamp of the last data session from the device.
lastStpTime DateTime Returns the stop time stamp of the last data session from the device.
lastVceMOTime DateTime Returns the time stamp of the last outgoing voice call from the device.
lastVceMTTime DateTime Returns the time stamp of the last incoming voice call to the device.
lastSMSMOTime DateTime Returns the time stamp of the last outgoing SMS from the device.
lastSMSMTTime DateTime Returns the time stamp of the last incoming SMS to the device.
lastRegLoc Long Returns the last VLR location of the device.
lastCellId Long Returns the last Cell ID of the device, where the device was registered.
lastSGSNLoc Long Returns the last SGSN location of the device.
lastAuthTime DateTime Returns the last time stamp, when the device was authrorized on the network.

6.17.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/device/ICCID/89185000170713062770/traffic/summary?apiKey=<apiKey>

6.17.7. Sample Response

[
  {
    "lastRegTime": "2018-02-22 07:38:36Z",
    "lastInctvTime": null,
    "lastStrtTime": "2018-02-26 15:56:05Z",
    "lastStpTime": "2018-02-26 17:05:50Z",
    "lastVceMOTime": null,
    "lastVceMTTime": null,
    "lastSMSMOTime": null,
    "lastSMSMTTime": "2018-02-22 09:20:34Z",
    "lastRegLoc": "628110723143",
    "lastCellId": null,
    "lastSGSNLoc": null,
    "lastAuthTime": null 
   }
]

6.18. Account Operation - Get Transaction Summary of Devices

This API is used to get the transaction summary of a device by listing up to 200 records in last 2 days.

6.18.1. URI

https://<host>[<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/transaction/summary?apiKey=<apiKey>

6.18.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
deviceIdType String

Identifies the deviceId type, which can be one of the following:

  • IMSI
  • ICCID
deviceId Integer Defines the device ID generated according to the particular device type.

6.18.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.18.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.18.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.18.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.18.3. Method Type

Method Type

GET

6.18.4. Request Payload Description

N/A

6.18.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
pktSessionCnt Integer Retuns the packet session count.
pktInKB Integer Returns the size of incoming packets in KB.
pktOutKB Integer Returns the size of outing packets in KB.
mtSmsCnt Integer Returns the count of incoming SMS.
moSmsCnt Integer Returns the count of outgoing SMS.
voiceDuration Integer Returns the duration of voice call.
regCnt Integer Returns the count of total network registration activities by the device.
deRegCnt Integer Returns the count of network deregistration activities by the device.
toalSmsCnt Integer Returns the total SMS count sent and received by the device.
lastPktSessionTime DateTime Always returns NULL.
lastMtSmsTime DateTime Always returns NULL.
lastMoSmsTime DateTime Always returns NULL.
lastVoiceTime DateTime Always returns NULL.
lastRegTime DateTime Always returns NULL.

6.18.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/device/ICCID/89185000170713062770/transaction/summary?apiKey=<apiKey>

6.18.7. Sample Response

[
    {
    "pktSessionCnt": 10,
    "pktInKB": 23,
    "pktOutKB": 10,
    "mtSmsCnt": 0,
    "moSmsCnt": 0,
    "voiceDuration": 0,
    "regCnt": 0,
    "deRegCnt": 0,
    "toalSmsCnt": 0,
    "lastPktSessionTime": null,
    "lastMtSmsTime": null,
    "lastMoSmsTime": null,
    "lastVoiceTime": null,
    "lastRegTime": null
    }
]

6.19. Account Operation - Get Daily Usage Summary of Device

This API is used to retrieve the device usage summary for last 7 days of a particular account.

6.19.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/dailyUsageSummary?apiKey=<apiKey>

6.19.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
deviceIdType String

Identifies the device ID type, which can be one of the following:

  • IMSI
  • ICCID
deviceId Integer Defines the device ID according to the particular device type.

6.19.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
​apiKey ​String ​Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.19.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.19.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.19.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.19.3. Method Type

Method Type

GET

6.19.4. Request Payload Description

N/A

6.19.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
packetKB Number Returns the size of packets in Kilobytes consumed by the device.
smsCount Number Returns the number of messages sent and received by the device.
voiceMinutes Number Returns the voice call duration of the device.
date Date Returns the date for which the device usage is displayed.

6.19.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/device/ICCID/89185000170713062770/dailyUsageSummary?apiKey=<apiKey>

6.19.7. Sample Response

[
    {
        "packetKB": 431,
        "smsCount": 0,
        "voiceMinutes": 0,
        "date": "02/26/2018"
    },
    {
        "packetKB": 270,
        "smsCount": 0,
        "voiceMinutes": 0,
        "date": "02/24/2018"
    },
    {
        "packetKB": 303,
        "smsCount": 0,
        "voiceMinutes": 0,
        "date": "02/23/2018"
    },
    {
        "packetKB": 268,
        "smsCount": 0,
        "voiceMinutes": 0,
        "date": "02/22/2018"
    }
]

6.20. Account Operation - Get Data Service Type

This API is used to retrieve the data service type for a particular device.

6.20.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/data/servicetype?apiKey=<apiKey>

6.20.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
deviceId Integer Defines the device ID generated according to the particular device type.
deviceIdType String

Identifies the device ID type if the groupType value is Device, which can be one of the following:

  • IMSI
  • ICCID Otherwise, it remains NULL

6.20.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.20.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.20.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.20.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.20.3. Method Type

Method Type

GET

6.20.4. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/device/ICCID/89185000170713062770/data/servicetype?apiKey=<apiKey>

6.20.5. Sample Response

Returns the data service type of a device i.e. 2G, 3G or 4G.

2G-3G Data

6.21. Account Operation - Get Activity

This API retrieves the changes in activities of a device for a particular account.

6.21.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/activity?apiKey=<apiKey>

6.21.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
deviceIdType String

Identifies the device ID type, which can be one of the following:

  • IMSI
  • ICCID
deviceId String Defines the device ID according to the particular device type.

6.21.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.21.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.21.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.21.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.21.3. Method Type

Method Type

GET

6.21.4. Request Payload Description

N/A

6.21.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
deviceId String Returns the Aeris-specific device ID.
accountId Long Returns the account ID of the customer to which the device is assigned. This is the same as specified in the path parameter of the request URI.
changeDate Date Returns the date of the device details when last changed.
changeType String Returns the type of modification performed.
changeValue String Returns the value of the modification. For example, if the changeType is Status then changeValue can be Bill.
changedBy String Returns the name of the user or service which performed the modification.
mdn String Returns the Mobile Directory Number (MDN) of the device.
meid Long Returns the Mobile Equipment Identifier which is a globally unique 56 bits number identifying a physical piece of CDMA mobile station equipment.
hexmeid String Returns the hexadecimal Mobile Equipment Identifier which is a globally unique 56 bits number identifying a physical piece of CDMA mobile station equipment.
iccid Long Returns the ICCID (Integrated Circuit Card Identifier) of the device, which is a unique serial number (ICCID).
imsi Long Returns the International Mobile Subscriber Identity (IMSI) of the device.
msisdn Long Returns the MSISDN of the device.
min String Returns the Mobile Identification Number (MIN) of the device.
esn Long Returns the Electronic Serial Number (ESN) of the device, which is a unique 32-bits identification number embedded by manufacturers in wireless phones.
hexEsn String Returns the Electronic Serial Number (ESN) of the device in hexadecimal format.
technology String Returns the technology used by the device i.e. GSM.
deviceProfileId String Returns an Aeris-specific unique ID for the device profile.
primaryTechnologyofNewdevice String Unused

6.21.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/device/ICCID/89185000150911597645/activity?apiKey=<apiKey>

6.21.7. Sample Response

[
    {
        "deviceId": 39193529,
        "accountId": 1,
        "changeDate": "2017-08-09",
        "changeType": "Status",
        "changeValue": "Bill",
        "changedBy": "aerbill_device_defaultin",
        "mdn": "11835420739",
        "meid": null,
        "hexMeid": null,
        "iccid": "89185000150911597645",
        "imsi": "204043396464386",
        "msisdn": "11835420739",
        "min": null,
        "esn": null,
        "hexEsn": null,
        "technology": "GSM",
        "deviceProfileId": "AER0000006169012",
        "primaryTechnologyOfNewDevice": null
    },
    {
        "deviceId": 39193529,
        "accountId": 1,
        "changeDate": "2016-08-08",
        "changeType": "Rate Plan",
        "changeValue": "90DAYSTRIAL_GLOBAL",
        "changedBy": "aerport@aeris.net",
        "mdn": "11835420739",
        "meid": null,
        "hexMeid": null,
        "iccid": "89185000150911597645",
        "imsi": "204043396464386",
        "msisdn": "11835420739",
        "min": null,
        "esn": null,
        "hexEsn": null,
        "technology": "GSM",
        "deviceProfileId": "AER0000006169012",
        "primaryTechnologyOfNewDevice": null
    },
    {
        "deviceId": 39193529,
        "accountId": 1,
        "changeDate": "2016-08-08",
        "changeType": "Status",
        "changeValue": "Provision",
        "changedBy": "aerbill_device_defaultin",
        "mdn": "11835420739",
        "meid": null,
        "hexMeid": null,
        "iccid": "89185000150911597645",
        "imsi": "204043396464386",
        "msisdn": "11835420739",
        "min": null,
        "esn": null,
        "hexEsn": null,
        "technology": "GSM",
        "deviceProfileId": "AER0000006169012",
        "primaryTechnologyOfNewDevice": null
    }
]

6.22. Account Operation - Get Network Location

This API retrieves the network location information of the device based on the last data session established by the device in last 30 days.

6.22.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/device/<deviceIdType>/<deviceId>/networklocation?apiKey=<apiKey>

6.22.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
deviceIdType String

Identifies the deviceId type, which can be one of the following:

  • IMSI
  • ICCID
deviceId Integer Defines the device ID generated according to particular device type.

6.22.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.22.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.22.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.22.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Constraint
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.22.3. Method Type

Method Type

GET

6.22.4. Request Payload Description

N/A

6.22.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Type Description
cellId String Returns the last Cell ID of the device, where the device was registered. Returns NULL if there is no data session in last 30 days.
lastSessionTime String

Returns the time stamp of last data session established by the device. Returns NULL if there is no data session in last 30 days.

The format returned is yyyy-mm-ddThh:mm:ss.000Z. For example: 2021-03-04T11:05:24.000Z.

The T is a constant. The 000 represent milliseconds but will always return three zeroes. The ending Z is the UTC time zone indicator.

devicesNearbyCount String Returns the number of devices, which were connected to same cell ID of the queried device.
duration String Returns the time duration of the last data session, or NULL.
userMessage String

Returns a user message, some of the examples are as follows:

  • No devices found connected to cell id 04F41175358BB8 in last 24 hours
  • No packet Session in last 30 days

This can be NULL in case all fields have a value.

6.22.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/device/ICCID/89185000170426341743/networklocation?apiKey=<apiKey>

6.22.7. Sample Response

[
      {
          "cellId": "15F00105993435",
          "lastSessionTime": "2021-03-04T11:05:24.000Z",
          "devicesNearbyCount": "13",
          "duration": "5",
          "userMessage": null
       }
]

6.23. Connectivity Alerts Operation - Get Connectivity Alerts

This API is used to retrieve the alerts settings for a particular account.

6.23.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/alerts/profiles?apiKey=<apiKey>

6.23.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.

6.23.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.23.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.23.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.23.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.23.3. Method Type

Method Type
GET

6.23.4. Request Payload Description

N/A

6.23.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
alertThresholdId Long Defines the unique ID of the alert threshold assigned by the application.
accountId Long Defines the account ID of the customer as specified in the path parameter of the request URI.
name String Defines the value of Name field as specified by the user, while creating the alert.
description String Defines the description of the alert as specified by the user.
alertType String

Defines the type of network activity to be monitored for generating the alert.

  • Voice
  • SMS
  • Packet
  • CellularRegistration
groupType String

Defines the group identifier to identify the devices for alert monitoring.

  • Device
  • RatePlan
  • Account
  • ReportGroup
  • Pool
groupId String

Defines the group Id based on the groupType field.

  • Device: Defines the identifier of the devices to be monitired.
  • RatePlan: Defines the rate plan and devices provisioned under the given rate plan gets monitored for the alert.
  • Account: Defines the Account ID and devices provisioned under the given account gets monitored for the alert. This is the default value.
  • ReportGroup: Defines the report group name which is provided while provisioning the device. All devices provisioned using the givenreport group gets monitored for the alert.
  • Pool: Defines the rate plan pool name and all devices of the pool gets monitored for the alert.
deviceType String

Identifies the device Id type if the groupType value is Device, which can be one of the following:

  • IMSI
  • MEID
  • ESN
  • MDN
  • MIN
  • MSISDN
  • ICCID

Otherwise, it remains NULL.

aggregateToGroup String Always return a NULL value.
timeInterval String

Defines the time interval for counting the device activity and matching the same with thrshold limits.

  • Daily
  • Hourly
  • BillingCycle
minValue Number Defines the minimum threshold value of the alert. If the device does not meet this criteria in the given frequency an alert gets generated.
maxValue Number Defines the maximum threshold value of the alert. If the device goes beond this limit in the given frequency an alert gets generated.
unitOfMeasurement String

Defines the unit of measurement for the given Max threshold value. This value differs for each alertType value:

Packet KB, MB, or GB
SMS Msgs (includes both MO and MT SMS)
Voice Hours, Mins, or Secs (includes both MO and MT Voice)
CellularRegistration Count, Perc
textValue String Always return a NULL value.
effDate Date Defines the start date for alert monitring.
expDate Date Defines the end date of the alert.
createdBy String Defines the email ID of the user who created the alert.
createdDate Date Defines the date of creating the alert.
lastUpdatedBy String Defines the email ID of the last user who updated the alert definition.
lastUpdatedDate Date Defines the date when the alerts is updated last.
alertCategory Date Always return a NULL value.
alertSubType String

Defines the further filtering criteria for the monitoring the selected alertType as follows:

  • CellularRegistration: De-registration, Registration, Roaming, and SwitchHopping
  • Packet: Packet, Roaming
  • SMS: SMS
  • Voice: Voice
minThresholdUnit String Defines the unit of measurement for the given Min threshold value.
masterAlert  

Returns one of the following values: Need to elaborate further.

  • 1
  • 0
thresholdType String

Defines the type of threshold unit based on the select network activity, as follows:

  • Usage: Packet and SMS
  • Duration: Voice
  • Occurrence: CellularRegistration

Default Value is Occurrence

previsionVersionId Number Defines either NULL or same as alertThresholdId.
actions [ ] Array Defines an array of actions, which should be taken by the application on the device when the alerts threshold breaches.
actionId Number

Defines the actions id, which needs to be taken on breaching of Alert threshold, as follows:

  • 1: Sends an email when a threshold is breached.
  • 3: Block all traffic when a threshold is breached.
  • 5: Block packet (Data) service when a threshold is breached.
  • 6: Block SMS service when a threshold is breached.
  • 7: Block Voice service when a threshold is breached.
  • 8: Publishes the Alert information on Aeris IoT Data Management cloud. However, the you must be having an AerCloud account.

An alerts can have more than one actions associated to it.

type String

Defines the type of action associated with each action Id, as follows:

  • 1: Email
  • 3: Block All
  • 5: Block Packet
  • 6: Block SMS
  • 7: Block Voice
  • 8: AerCloud
description String Defines a short description of the actions being taken.
actionValue String Defines the AerCloud ContainerID to publish the alert information for actionId 8, else remains NULL.
effDate Date Defines the start date of the action. Mostly, it remains same as start date of the Alert.
expDate Date Defines the end date of the action. Mostly, it remains same as end date of the Alert.
createdBy String Defines the email ID of the user who defined the action information.
createdDate Date Defines the date on which the action information was defined.
lastUpdatedBy String Defines the email ID of the user who last updated the action information.
lastUpdatedDate Date Defines the date on which the action information was last updated.

6.23.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/alerts/profiles?apiKey=<apiKey>

6.23.7. Sample Response

[
    {
        "alertThresholdId": 66778,
        "accountId": 1,
        "name": "Test Alert",
        "description": "",
        "alertType": "Packet",
        "groupType": "Account",
        "groupId": "1",
        "deviceType": "",
        "aggregateToGroup": true,
        "timeInterval": "Daily",
        "minValue": 1,
        "maxValue": 50,
        "unitOfMeasurement": "KB",
        "textValue": null,
        "effDate": "02-02-2018 00:00:00",
        "expDate": null,
        "createdBy": "aerport@aeris.net",
        "createdDate": "02-01-2018 15:04:30",
        "lastUpdatedBy": "aerport@aeris.net",
        "lastUpdatedDate": "02-01-2018 15:04:30",
        "alertCategory": null,
        "alertSubType": "Packet",
        "minThresholdUnit": "KB",
        "masterAlert": false,
        "thresholdType": "Usage",
        "previsionVersionId": 0,
        "actions": [
            {
                "actionId": 1,
                "type": "Email",
                "description": "send an email when a threshold is crossed",
                "actionValue": null,
                "effDate": null,
                "expDate": null,
                "createdBy": "aerport@aeris.net",
                "createdDate": "2018-02-01",
                "lastUpdatedBy": "aerport@aeris.net",
                "lastUpdatedDate": "2018-02-01"
            }
        ],
        "deviceProfileLevel": false
    }
]

6.24. Connectivity Alerts Operation - Get Activity Summary of Alerted Devices

This API is used to retrieve the device details and its corresponding activity usage that breached the configuration of a particular alert.

6.24.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/alerts/profiles/<alertId>/activity/devices?apiKey=<apiKey>

6.24.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
alertId Long Defines the unique ID of the alert threshold assigned by the application. You can use the Get Connectivity Alerts API to fetch this value.

6.24.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.24.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.24.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.24.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.24.3. Method Type

Method Type
GET

6.24.4. Request Payload Description

N/A

6.24.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
deviceId String Defines the device ID generated according to the particular device type.
mdn String Defines MDN of the device.
usage String Defines the device usage for the alert duration.
subscriptionId String Defines the device profile ID.
threshold Long Defines the threshold value as configured in th alert.
unit String Defines the usage unit of measurement. For example, the data usage is monitored in KB.

6.24.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/alerts/profiles/66778/activity/devices?apiKey=<apiKey>

6.24.7. Sample Response

[
    {
        "deviceId": "34187169",
        "mdn": "11835320473",
        "usage": "52.435546875",
        "subscriptionId": "AER0000005384715",
        "threshold": 50,
        "unit": "KB"
    },
    {
        "deviceId": "36994745",
        "mdn": "11835363407",
        "usage": "274.0693359375",
        "subscriptionId": "AER0000005823870",
        "threshold": 50,
        "unit": "KB"
    }
]

6.25. Connectivity Alerts Operation - Get Action Information for Alerts

This API gets information about all actions that can be taken when device breaches the alert threshold.

6.25.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/alerts/metadata/actions?apiKey=<apiKey>

6.25.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Long Defines the customer account ID as available on the AerPort Portal.

6.25.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.25.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.25.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.25.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Constraint
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.25.3. Method Type

Method Type
GET

6.25.4. Request Payload Description

N/A

6.25.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Type Description
actionId Integer

Defines the possible actions, which an alert can trigger, when the threshold breaches:

  • 1: Sends an email when a threshold is breached.
  • 3: Blocks all traffic when a threshold is breached.
  • 5: Blocks packet (Data) services when a threshold is breached.
  • 6: Blocks SMS service when a threshold is breached.
  • 7: Blocks Voice service when a threshold is breached.
  • 8: Publishes the Alert information on Aeris IoT Data Management cloud. However, you must have an AerCloud account.

An alert can have more than one actions associated to it.

type String

Defines the type of action associated with each action Id, as follows:

  • 1: Email
  • 3: Block All
  • 5: Block Packet
  • 6: Block SMS
  • 7: Block Voice
  • 8: AerCloud
description String Defines a short description of the actions being taken for e.g. Blocking packet services, sending e-mail etc.
actionValue String Defines the AerCloud ContainerID to publish the alert information for actionId 8, else remains NULL.
effDate Date Defines the start date of the action. Mostly, it remains same as start date of the Alert.
expDate Date Defines the end date of the action. Mostly, it remains same as end date of the Alert.
createdBy String Defines the email ID of the user who defined the action information.
createdDate Date Defines the date on which the action information was defined.
lastUpdatedBy String Defines the email ID of the user who last updated the action information.
lastUpdatedDate Date Defines the date on which the action information was last updated.

6.25.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/alerts/metadata/actions?apiKey=<apiKey>

6.25.7. Sample Response

[
    {
        "actionId": 1,
        "type": "Email",
        "description": "send an email when a threshold is crossed",
        "actionValue": null,
        "effDate": null,
        "expDate": null,
        "createdBy": null,
        "createdDate": null,
        "lastUpdatedBy": null,
        "lastUpdatedDate": null
    }
]

6.26. Connectivity Alerts Operation - Get Alerts Summary

This API is used to retrieve the summary of alerts as configured for the customer account. This API also returns the summary of two default alert profiles having -1 and -2 as their alert ID. These default profiles are created by the system for each account for different purposes on the AerPort portal.

6.26.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/alerts/profiles/activity/summary?apiKey=<apiKey>

6.26.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Long Defines the customer account ID as available on the AerPort Portal.

6.26.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.26.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.26.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.26.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Constraint
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.26.3. Method Type

Method Type
GET

6.26.4. Request Payload Description

N/A

6.26.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
Id String Defines the unique ID of the alert threshold assigned by the application.
name String Defines the value of Name field as specified by the user, while creating the alert.
type String

Defines the type of network activity to be monitored for generating the alert.

  • Voice
  • SMS
  • Packet
  • CellularRegistration
unit string

Defines the unit of measurement for the given threshold value. This value differs for each alertType value:

Packet KB, MB, or GB
SMS Msgs (includes both MO and MT SMS)
Voice Hours, Mins, or Secs (includes both MO and MT Voice)
CellularRegistration Count, Perc
count Integer This field always returns a Zero value.

6.26.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/alerts/profiles/activity/summary?apikey=<apiKey>

6.26.7. Sample Response

[
    {
        "id": "-1",
        "name": "Top Data Users - Last 3 Days",
        "type": "TOTAL USAGE (KB)",
        "unit": "KB",
        "count": 0
    },
    {
        "id": "-2",
        "name": "Smart Network Alerts",
        "type": "WARNING",
        "unit": "",
        "count": 0
    },
    {
        "id": "62434",
        "name": "Test Alert_Data Not Reporting",
        "type": "Total Usage (KB)",
        "unit": "KB",
        "count": 0
    }
]

6.27. Connectivity Alerts Operation - Get Alert Summary with Device Count

This API is used to retrieve the summary of alerts with their corresponding device counts which have breached the alert thresholds. This API also returns the summary of two default alert profiles having -1 and -2 as their alert ID.These default profiles are created by the system for each account for different purposes on the AerPort portal.

6.27.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/alerts/profiles/activity/counts?apiKey=<apikey>

6.27.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.

6.27.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.27.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.27.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.27.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.27.3. Method Type

Method Type
GET

6.27.4. Request Payload Description

N/A

6.27.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description
id Long Defines the unique ID of the alert threshold assigned by the application.
name String Defines the value of Name field as specified by the user, while creating the alert.
type String

Defines the type of network activity getting monitored for generating the alert.

  • Voice
  • SMS
  • Packet
  • CellularRegistration
unit String

Defines the unit of measurement for the given threshold value. This value differs for each alertType value:

Packet KB, MB, or GB
SMS Msgs (includes both MO and MT SMS)
Voice Hours, Mins, or Secs (includes both MO and MT Voice)
CellularRegistration Count, Perc
count Integer Identifies the number of devices which have breached the alert threshold limit.

6.27.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/alerts/profiles/activity/counts?apiKey=<apiKey>

6.27.7. Sample Response

[
    {
        "id": "-1",
        "name": "Top Data Users - Last 3 Days",
        "type": "TOTAL USAGE (KB)",
        "unit": "KB",
        "count": 10
    },
    {
        "id": "-2",
        "name": "Smart Network Alerts",
        "type": "WARNING",
        "unit": "",
        "count": 0
    },
    {
        "id": "62434",
        "name": "Test Alert_Data Not Reporting",
        "type": "Total Usage (KB)",
        "unit": "KB",
        "count": 16739
    }
]

6.28. Connectivity Alerts Operation - Get Streaming Events

This API is useful when you want notifications to be pushed from the server to the client based on criteria that you define.

6.28.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/alerts/streamingevents?apiKey=<apiKey>

6.28.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.

6.28.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.28.2. HTTP Headers

The following standard and custom HTTP headers are supported.

6.28.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.28.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.28.3. Method Type

Method Type
GET

6.28.4. Request Payload Description

N/A

6.28.5. Response Payload Description

The response payload is provided as JSON objects with the following attributes:

Attribute Name Attribute Type Description

eventId

String Defines the Event unique Identifier.

accountId

Long Defines the account ID of the customer as specified in the path parameter of the request URI.

name

String Defines the value of Name field as specified by the user, while creating Bold the alert.

description

String Defines the description of the alert as specified by the user.

groupType

String

Defines the group identifier to identify the devices for alert monitoring.

  • Device
  • RatePlan
  • Account
  • ReportGroup
  • Pool

groupId

String

Defines the group ID based on the groupType field.

  • Device: Defines the identifier of the devices to be monitored.
  • RatePlan: Defines the rate plan and devices provisioned under the given rate plan gets monitored for the alert.
  • Account: Defines the Account ID and devices provisioned under the given account gets monitored for the alert. This is the default value.
  • ReportGroup: Defines the report group name which is provided while provisioning the device. All devices provisioned using the given report group gets monitored for the alert.
  • Pool: Defines the rate plan pool name and all devices of the pool gets monitored for the alert.

deviceType

String

Identifies the device ID type if the groupType value is Device, which can be one of the following:

  • IMSI
  • MEID
  • ESN
  • MDN
  • MIN
  • MSISDN
  • ICCID

Otherwise, it remains NULL.

eventType

String Represents a search that returns a specific type of event or a useful collection of events i.e., Registration. Every event that can be returned by that search gets an association with that event type.

effDate

Date Defines the start date for alert monitoring.

expDate

Date Defines the end date of the alert.

maxPerTimeInterval

Unused

Unused

timeInterval

String

Defines the time interval for counting the device activity and matching the same with threshold limits.

  • Daily
  • Hourly
  • BillingCycle

previousVersionId

Unused Unused

createdBy

String Defines the email Id of the user who created the alert.

createdDate

Date Defines the date of creating the alert.

lastUpdatedBy

String Defines the email ID of the last user who updated the alert definition.

lastUpdatedDate

Date Defines the date when the alerts is updated last.

endpoints

[ ] String Represents an object or collection of objects and it is used for the important aspects of interacting with server-side web APIs.
eventId String Defines the Event unique Identifier.
endpointType Unused Unused
endpointValue

Unused

Unused

effDate Date Defines the start date of the action. Mostly, it remains same as start date of the Alert.
expDate Date Defines the end date of the action. Mostly, it remains same as end date of the Alert.
createdBy String Defines the email ID of the user who defined the action information.
createdDate Date Defines the date on which the action information was defined.
lastUpdatedBy String Defines the email ID of the user who last updated the action information.
lastUpdatedDate Date Defines the date on which the action information was last updated.

6.28.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/alerts/streamingevents?apiKey=<apiKey>

6.28.7. Sample Response

[
    {
       "eventId": 485,
       "accountId": 1,
       "name": "MG_Registration02",
       "description": "Test for streaming all registration events",
       "groupType": "Account",
       "groupId": "1",
       "deviceType": null,
       "eventType": "Registration",
       "effDate": "10-29-2016 00:00:00",
       "expDate": "12-31-2999 00:00:00",
       "maxPerTimeInterval": 0,
       "timeInterval": "Daily",
       "previousVersionId": 0,
       "createdBy": aerport@aeris.net,
       "createdDate": "10-28-2016 11:51:31",
       "lastUpdatedBy": aerport@aeris.net,
       "lastUpdatedDate": "10-28-2016 11:51:31",
       "endpoints": [
                         {
                               "eventId": 485,
                               "endpointType": "AerCloud",
                               "endpointValue": "AerEventStreamContainer",
                               "effDate": "2016-10-29",
                               "expDate": "2999-12-31",
                               "createdBy": aerport@aeris.net,
                               "createdDate": "10-28-2016 11:51:31",
                               "lastUpdatedBy": aerport@aeris.net,
                               "lastUpdatedDate": "10-28-2016 11:51:31",
                          }
    }
]

6.29. Connectivity Alerts Operation - Get Device List for an Alert Profile

This API is used to retrieve the list of devices for breaching the thresholds of the given alert profile.

6.29.1. URI

https://<host>[:<port>]/AerAdmin_WS_5_0/rest/accounts/<accountId>/alerts/profiles/<alertId>/activity/devices/csv?apiKey=<apiKey>

6.29.1.1. Variable Path Parameters

The preceding URI has the following variable path parameters:

Name Type Description
accountId Integer Defines the customer account ID as generated on the AerPort Portal.
alertId Integer Defines the unique alert ID provided by the web server.

6.29.1.2. Query Parameters

The preceding URI has the following query parameters:

Name Type Description
apiKey String Defines the unique API key that is assigned to the customer account for accessing the API. This API key can be retrieved from the AerPort Portal.

6.29.2. HTTP Headers

6.29.2.1. Request Headers

HTTP headers available for the request are as follows:

Field Name Value Constraint
Accept application/json Optional
Content-Type application/json Mandatory
Accept-Charset utf-8 Optional

6.29.2.2. Response Headers

HTTP headers available for the response are as follows:

Field Name Value Description
Content-Type application/json Defines the response format.
Content-Length <n> The content length value varies for each response.
Date <Date time Stamp> Date time stamp of receiving the response.

6.29.3. Method Type

Method Type
GET

6.29.4. Request Payload Description

N/A

6.29.5. Response Payload Description

Returns a csv file as response having following information about each device:

Attribute Name Description
Alert Name Defines the alert name as specified by the user, while creating the alert.
Group Type

Defines the group identifier to identify the devices for alert monitoring.

  • Device
  • RatePlan
  • Account
  • ReportGroup
  • Pool
MSISDN Defines the corresponding ID of the device.
ESN
MEID
MIN
ICCID
IMSI
HEX MEID
Report Group Defines the report group number of the device, which is provided while provisioning the device.
Status Defines the current status of the device. For example, Bill and Provision.
Rate Plan Defines the rate plan name of the device.
Pool Name Defines the pool name of device, to which the device is allocated. Rate plan group is derived from assigned rate plan.
Service Type Defines the type of service type being monitored by the alert profile.
Service Sub Type Defines the sub types of services given to a device.
Alert Date (UTC) Defines a date at which alert is generated for the device.
Threshold Value Defines a minimum value of the alert profile.
Actual Value Defines the actual value shown by the device.
Max Unit of Measurement Defines the unit of measurement for the given Max threshold value. This value differs for each alertType value. It may be in KB, MB or GB.
Min Unit of Measurement Defines the unit of measurement for the given Min threshold value. This value differs for each alertType value. It may be in KB, MB or GB.
HEX ESN Defines an Electronic Serial Number which is a unique 32-bits identification number embedded by manufacturers in wireless phones. It is in hexadecimal format.
Status Date (UTC) Defines the date on which the device is moved to its given status.
Service Name Defines the service profile name that is assigned to the device.
Static IP Defines the static IP if assigned to the device, else returns a null.

Application Type

Defines the application type for a device, which can be one of the follows:

  • M: Mobile
  • F: Fixed
Activation Date (UTC) Defines the activation date of the device.
Device Name Defines a unique name of the device connected to the API.
Current Location Defines the location of the device currently active.
Custom Field 1 Defines the corresponding custom field value of the device, which is provided at time of provisioning of the device.
Custom Field 2
Custom Field 3
Custom Field 4
Custom Field 5

6.29.6. Sample Request

GET /AerAdmin_WS_5_0/rest/accounts/1/alerts/profiles?apiKey=<apiKey>

6.29.7. Sample Response

Returns a csv file or excel file gets downloaded.

7. Error Codes

The following table list down the error codes that are returned by the all API calls and is based on type of error occurred:

Error Code

Error Message

0

Success

1000

Invalid device ID

1001

Missing required field

1002

Invalid service name/login/password value

1003

Invalid date

1004

Invalid application ID

1005

Invalid application type value

1006

Invalid primary MIN

1007

Primary MIN does not belong to the account ID submitted

1008

Primary MIN and ESN does not belong to the account ID submitted  

1009

Device not provisioned/cancelled

1010

Device already activated

1011

Primary MIN is already provisioned with another ESN

1012

Incorrect ESN

1013

Incorrect IMSI

1014

IMSI does not belong to the account ID generated in the request.

1015

Invalid radio and or firmware value

1016

Radio/firmware/application type value does not match the value stored in AerAdmin db.

1017

Duplicate shared secondary MIN(s)

1018

Duplicate unique secondary MIN(s)

1019

Invalid secondary MIN(s)

1020

Secondary MIN(s) does not belong the account ID submitted

1021

Mismatched shared secondary MIN(s)

1022

Mismatched unique secondary MIN(s)

1023

Missing shared secondary MIN(s)

1024

Missing unique secondary MIN(s)

1025

Secondary MIN(s) are not allowed

1026

Too many secondary MIN(s). A maximum of 9 secondary MIN(s) are allowed.

1027

Invalid rate plan

1028

Missing rate plan

1029

The request results in no change for the device.

1030

Unable to generate authentication key

1031

Unable to generate IMSI

1032

Unable to generate primary MIN

1033

The credit period for the pre-paid device has expired

1034

AerAdmin internal error

1035

Error while provisioning device

# 1036 - 1039 Aeris Reserved

1040

Database connection problem

1041

Error in the carrier system

1042

Invalid current location format

1043

Missing current location 

1044

Invalid radio technology

1045

Invalid ICCID

1046

Device already Activated

1047

Device not Activated

1048

Invalid MSISDN

1049

Device Not Found (Not activated/Cancelled/Not owner)

1050

General device activation error

1051

General Device Deactivation Error

1052

General Device Rate Plan Change Error

1053

General device query error

1054

General device update error

1055

General service name change error

1056

General start billing error

1057

General reprovision error

1058

Start billing error - no rate plan

1059

Suspend device billing error

1060

Radio is not voice capable

1061

Activate error - no rate plan

1062

Device does not have AKEY SSD (Shared Secret Data) information

1063

Retrieve device AKEY SSD (Shared Secret Data) error

1064

Unable to generate SSD (Shared Secret Data)

# 1065 - 1071 Aeris Reserved

1072

Invalid device ID format

1073

Invalid device ID type

1074

Pseudo ESN is not a valid device type, please use MEID

1075

Device is not authorized for packet data

1076

Device AKEY and SSD (Shared Secret Data) already exist

1077

Invalid MEID

# 1078 - 1087 Aeris Reserved

1088

MIN not available

1089

Cannot change device state

1090

Cannot assign static IP to device

1091

Device not authorized to receive a static IP address

1092

IP address already assigned

1093

Private IP address not available

1094

Static IP address not available

1096

Invalid start date

1097

Invalid end date

1098

Device ID not provided

# 1099 Aeris Reserved

1100

Device not provisioned for 1XRTT capability

1101

Invalid device ID type

1102

Invalid technology type

1103

NGP not available

1104

Static IP request error

1105

Device Reprovision Error

1106

Re-Provision Carrier Error

1107

Device Suspend Error

1109

Invalid Report Group

1110

Multiple Services Device

1111

EDF not in Sprint

1112

Invalid Carrier

# 613 - 630 Aeris Reserved.

1131

Only Cancel Code ID can be updated

1132

Cannot update Cancel Code ID

1133

Unknown Cancel Code ID

1134

Device in Pending Mode

1135

DeviceIDList too long

1136

Mandatory input field missing

1137

Incorrect number of Devices

1138

Must have a non-null value

1139

No StaticIP to be removed

1140

General Remove StaticIP error

1141

Error while validating xml. Please verify if the request is valid or contact the administrator.

1142

XML Validation Error

1143

Transformation Exceptions; Expected Request device id is not sent. Searched for ESN, ICCID, IMEI, IMSI, MDN, MEID, MIN, and MSISDN

1144

Unable to fetch API key

1145

Async Handling Error

1146

Invalid Operation

1147

Unable to service your request. Fatal error while processing your request.

1148

Requested Operation Not Supported

1149

AerAdmin Internal Error

1150

Invalid TransactionID

1151

Database connection problem! Error saving request. Try again.

1152

Carrier system access error

1153

Invalid current location format

1154

Missing current location

1155

AerTraffic report records exceed maximun size

1156

Too many sessions - Try again later

1157

Exceeds maximum in record count

1158

Exceeds maximum out record count

1159

Invalid operation - service not allowed

1160

No other traffic type can be sent with All

1161

For GSM devices only trafficType All is allowed

1162

Not Allowed

1163

Allowed max limit for bulk operations is

1164

Requested traffic already blocked

MCRP Errors

1165

Invalid Current Effective date

1166

The device must complete a full billing cycle in the current rate plan before changing to another rate plan.

1167

New rate plan selected is not higher than the current rate plan

1168

Request is processed too late

1169

The New Effective Date should be a future date

1170

Effective date should be within next 60 days

1171

Invalid New Effective date format (usage: MM-dd-YYYY)

1172

The user account does not have the new rate plan/pool name combination

1173

Invalid Effective date format (usage: MM-dd-YYYY)

1174

Device ID is required

1175

New Rate Plan/Pool Name is required

Hector Errors

1176

Cassandra Database problem

AerCloud Errors

1177

Aercloud Service Down

1178

General Aercloud Error

1179

APN missing for a packet enabled Service

1180

Bulk request is In-Progress

1181

Bulk request is Complete

1182

Rate plan change from monthly plan to annual plan and vice-versa is not allowed.

1183

Unable to Unblock

1184

Exceeded platform wide limit for the number of bulk operations. Please try again later.

1185

Exceeded per account limit for the number of bulk operations. Please try again later.

1186

This API is currently unavailable. Please try again later.

1187

Multimode Provisioning error

1400

Device has never been provisioned so it cannot be reprovisioned.

API Parameters and Limitations

1503

Service Profile and Rate Plan should have the same RAT_Type

1506 Device attribute length is invalid.
  • Device Name must be 24 characters or less in length.
  • Custom Field(s) must be 64 characters or less in length.
  • Current Location must be 30 characters or less in length.
  • Device Hardware version must be 20 characters or less in length.
  • Device Firmware version must be 20 characters or less in length.

Partner Errors*

2000

Device Provision Error

2001

Device Reprovision Error

2002

Device Cancel Error

2003

Device Change Rate Plan Error

2004

Device Suspend Error

2005

Device Unsuspend Error

2006

Device Clear Device Registration Error

2026 Request accepted, in-progress
2027 Unable to complete requested operation

* Partner ResultMessages may contain additional details

deviceProfiles

List<DeviceProfileResponse>

DeviceProfileResponse

meid

String

Optional

esn

String

Optional

iccid

String

Optional

min

String

Optional

imsi

String

Optional

mdn

String

Optional

msisdn

String

Optional

imei

String

Optional

sclid

String

Optional

result

Result

Optional

newPlanEffectiveDate

String

Mandatory

staticIP

String

Mandatory

Optional

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.