Overview
This endpoint exports device decryption password information based on specified search criteria and sends the results to designated email recipients. The export includes configurable columns with custom logic fields for data transformation.
Permissions: INBOUND, MAINTENANCE, VALUE_ADDED
Request Body
This endpoint accepts a JSON body with the following structure:
Root Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | The type of entity to export. Use "device" for device exports |
accountId | integer | Yes | The account ID for which to export data |
hierLevel | string | No | Hierarchical level filter (empty string for all levels) |
channelType | string | Yes | Channel type filter. Example: "INBOUND,MAINTENANCE,VALUE_ADDED" |
actionType | string | Yes | The type of export action. Use "deviceDecryptionPasswordExport" for password exports |
emailRecipients | array | Yes | List of email addresses to receive the export file |
Export Columns
The exportColumns object defines which fields to include in the export and their display names:
{
"esn": "ESN",
"keyValueHex": "KeyValueHex",
"keyValueBase64": "KeyValueBase64",
"channel": "Channel",
"type": "Type",
"size": "Size",
"crypto": "Crypto"
}
Available Columns:
esn- Electronic Serial NumberkeyValueHex- Decryption key in hexadecimal formatkeyValueBase64- Decryption key in Base64 formatchannel- Communication channel informationtype- Device or key typesize- Key size informationcrypto- Cryptographic algorithm details
Search Criteria
The searchCriteria object uses smart search functionality:
{
"smartSearch": {
"search": {
"accountId": 2,
"queryString": "(esn: (*))"
}
}
}
Parameters:
accountId- Account ID to search withinqueryString- Lucene-style query string for filtering devices(esn: (*))- Matches all devices with any ESN- You can customize this to filter specific devices, e.g.,
(esn: (ABC123*))
Custom Logic Fields
The customLogicFields object contains JavaScript functions for transforming data before export. Each field corresponds to an export column:
{
"esn": "module.exports = () => { return dataList... }",
"keyValueHex": "module.exports = () => { return dataList... }",
"keyValueBase64": "module.exports = () => { return dataList... }",
"channel": "module.exports = () => { return dataList... }",
"type": "module.exports = () => { return dataList... }",
"size": "module.exports = () => { return dataList... }",
"crypto": "module.exports = () => { return dataList... }"
}
These functions allow you to:
- Format data before export
- Apply business logic transformations
- Filter or modify values dynamically
Response
The endpoint typically returns:
- Success (200): Confirmation that the export has been initiated and will be sent to the specified email recipients
- Error (4xx/5xx): Error details if the export fails
The actual export file will be delivered via email to the addresses specified in emailRecipients.
Use Cases
1. Export All Device Passwords for an Account
Export decryption passwords for all devices in a specific account for backup or migration purposes.
2. Selective Device Export
Use the queryString parameter to filter specific devices by ESN pattern or other criteria.
3. Multi-Format Key Export
Export keys in both hexadecimal and Base64 formats for compatibility with different systems.
4. Audit and Compliance
Generate reports of device encryption keys for security audits or compliance requirements.
Example Request
{
"entityType": "device",
"accountId": 2,
"exportColumns": {
"esn": "ESN",
"keyValueHex": "KeyValueHex",
"keyValueBase64": "KeyValueBase64",
"channel": "Channel",
"type": "Type",
"size": "Size",
"crypto": "Crypto"
},
"hierLevel": "",
"searchCriteria": {
"smartSearch": {
"search": {
"accountId": 2,
"queryString": "(esn: (*))"
}
}
},
"channelType": "INBOUND",
"actionType": "deviceDecryptionPasswordExport",
"emailRecipients": [
"[email protected]",
"[email protected]"
],
"customLogicFields": {
"esn": "module.exports = () => { return dataList.map(item => item.esn); }",
"keyValueHex": "module.exports = () => { return dataList.map(item => item.keyHex); }"
}
}
Notes
- Ensure you have proper permissions to export device decryption passwords
- The export process may take time for large datasets
- Email delivery depends on the configured email service
- Custom logic fields are optional but provide powerful data transformation capabilities
- Always validate email recipients before initiating the export
