Starting and Stopping Recording (REST)
To start a recording event, perform an HTTP POST using the /json/records
endpoint, specifying the _action=start
parameter in the URL. Specify a JSON payload identical in format to the input file for the ssoadm start-recording command.
You must authenticate to AM as an administrative user to obtain an SSO token prior to calling the /json/records
REST endpoint. You then pass the SSO token in the iPlanetDirectoryPro
header as proof of authentication.
$curl \ --request POST \ --header "Content-Type: application/json" \ --header "iPlanetDirectoryPro: AQIC5..." \ --header "Accept-API-Version: resource=1.0" \ --data ' { "issueID": 103572, "referenceID": "policyEvalFails", "description": "Troubleshooting artifacts in support of case 103572", "zipEnable": true, "configExport": { "enable": true, "password": "5x2RR70", "sharePassword": false }, "debugLogs": { "debugLevel": "MESSAGE", "autoStop": { "time": { "timeUnit": "SECONDS", "value": 15 }, "fileSize": { "sizeUnit": "GB", "value": 1 } } }, "threadDump" : { "enable": true, "delay" : { "timeUnit": "SECONDS", "value": 5 } } }' \ https://openam.example.com:8443/openam/json/records?_action=start
{ "recording":true, "record":{ "issueID":103572, "referenceID":"policyEvalFails", "description":"Troubleshooting artifacts in support of case 103572", "zipEnable":true, "threadDump":{ "enable":true, "delay":{ "timeUnit":"SECONDS", "value":5 } }, "configExport":{ "enable":true, "password":"xxxxxx", "sharePassword":false }, "debugLogs":{ "debugLevel":"message", "autoStop":{ "time":{ "timeUnit":"MILLISECONDS", "value":15000 }, "fileSize":{ "sizeUnit":"KB", "value":1048576 } } }, "status":"RUNNING", "folder":"/opt/demo/openam/config/openam/debug/record/103572/policyEvalFails/" } }
The curl command output is indented for ease of reading. The actual output is not indented, and the actions available from the /json/records
endpoint do not support the _prettyPrint
parameter.
To stop a recording event, perform an HTTP POST using the /json/records
endpoint, specifying the _action=stop
parameter in the URL:
$ curl \
--request POST \
--header "iPlanetDirectoryPro: AQIC5..." \
--header "Accept-API-Version: resource=1.0" \
https://openam.example.com:8443/openam/json/records?_action=stop
If there is no active recording event, AM returns a 400 error code.
If there is an active recording event, output similar to the following appears:
{
"recording": false,
"record": {
"issueID": 103572,
"referenceID": "policyEvalFails",
"description": "Troubleshooting artifacts in support of case 103572",
"zipEnable": true,
"threadDump": {
"enable": true,
"delay": {
"timeUnit": "SECONDS",
"value": 5
}
},
"configExport": {
"enable": true,
"password": "xxxxxx",
"sharePassword": false
},
"debugLogs": {
"debugLevel": "message",
"autoStop": {
"time": {
"timeUnit": "MILLISECONDS",
"value": 15000
},
"fileSize": {
"sizeUnit": "KB",
"value": 1048576
}
}
},
"status": "STOPPED",
"folder": "/opt/demo/openam/config/openam/debug/record/103572/policyEvalFails/"
}
}