Account & Device Mgt Service (ADM)
See also
1. Retry policy
Client errors (4xx) should not be retried. These errors indicate that there is a problem with the request – making the same request will result in the exact same error.
Server errors (5xx) may be retried up to three times with an exponential backoff algorithm for better flow control (i.e., use progressively longer waits between retries for consecutive error responses).
2. Sample requests
2.1. Operations on accounts
2.1.1. Create an account
2.1.1.1. Request
POST /adm/v1/accounts HTTP/1.1
{
"status": "ACTIVE",
"billingAddress": [ ],
"pvrStatus": "ENABLED",
"_id": "id_acc_01_ssp"
}
2.1.1.2. Response
201 Created
{
"_id": "id_acc_01_ssp"
}
2.1.2. Suspend an account
2.1.2.1. Request
PUT /adm/v1/accounts/id_acc_01_ssp HTTP/1.1
{
"status": "SUSPENDED"
}
2.1.2.2. Response
200 OK
{
"matchedCount": 1,
"modifiedCount": 1
}
2.1.3. Reactivate an account
2.1.3.1. Request
PUT /adm/v1/accounts/id_acc_01_ssp HTTP/1.1
{
"status": "ACTIVE"
}
2.1.3.2. Response
200 OK
{
"matchedCount": 1,
"modifiedCount": 1
}
2.1.4. Cancel an account
2.1.4.1. Request
PUT /adm/v1/accounts/id_acc_01_ssp HTTP/1.1
{
"status": "CANCELLED"
}
2.1.4.2. Response
200 OK
{
"matchedCount": 1,
"modifiedCount": 1
}
Note
Cancelled is a final status. No further operations are allowed on the account. The account is still accessible through the GET /adm/accounts
API for a retention period until it is archived. During this retention period, the account identifier (_id
field) is not free and cannot be used for new accounts. For further details, please refer to (23.48) Authorization Server Data Archiving.
2.2. Operations on devices
2.2.1. Create a device under an account
2.2.1.1. Request
POST /adm/v1/devices HTTP/1.1
{
"status": "ENABLED",
"caSN": "E833815A9290",
"deviceType": "MANAGED",
"accountUid": "id_acc_01_ssp",
"_id": "id_device_01_ssp"
}
Note
The caSN
field is mandatory for IPTV/OTT STBs embedding the CONNECT Client.
2.2.1.2. Response
201 Created
{
"_id": "id_device_01_ssp"
}
2.2.2. Remove a device
2.2.2.1. Request
DELETE /adm/v1/devices/id_device_01_ssp HTTP/1.1
2.2.2.2. Response
200 OK
{
"deletedCount": 1
}
Note
The device identifier (_id
field) is freed and can be used for new devices.
2.2.3. Remove all devices from an account
2.2.3.1. Request
DELETE /adm/v1/devices?accountUid=id_acc_01_ssp HTTP/1.1
2.2.3.2. Response
200 OK
{
"deletedCount": 1
}
2.3. Retrieve accounts with pagination
2.3.1. Retrieve the number of existing accounts
2.3.1.1. Request
GET /adm/v1/accounts?limit=0 HTTP/1.1
2.3.1.2. Response
200 OK
{
"totalRecords": 2570
}
2.3.2. Retrieve accounts in batches
2.3.2.1. Request
GET /adm/v1/accounts?limit=100&page=1 HTTP/1.1
Note
Increment the value of the page parameter to retrieve subsequent batches.
2.3.2.2. Response
200 OK
"totalRecords": 2570,
"resourceSet": [
{
"status": "ACTIVE",
"accountProfileId": "DEFAULT",
"billingAddress": [
{
"key": "Street",
"value": "Route De Geneve"
}
],
"created": "2018-08-08T01:00:50",
"modified": "2018-08-08T13:09:08",
"pvrStatus": "ENABLED",
"_id": "account1"
},
{
"status": "CANCELLED",
"accountProfileId": "DEFAULT",
"billingAddress": [
{
"key": "Street",
"value": "Route De Geneve"
}
],
"created": "2018-08-08T12:50:59",
"modified": "2018-08-08T12:51:33",
"pvrStatus": "DISABLED",
"_id": "account20180808025059"
},
... <up to 100 account records> ...
]
}