PowerShell Example: Get a List of One-Step Actions

This example shows how to get all global, Incident One-Step™ Actions using PowerShell.

# Set server login variables
$serverName = "your server"
$apiKey = "your client id"
$userName = "CSDAdmin"
$password = "CSDAdmin"
$baseUri = "http://${serverName}/CherwellAPI/"

# Get an access token
$tokenUri = $baseUri + "token"
$authMode = "Internal"
$tokenRequestBody =
    "Accept" = "application/json";
    "grant_type" = "password";
    "client_id" = $apiKey;
    "username" = $userName;
    "password"= $password
$tokenResponse = Invoke-RestMethod -Method POST -Uri "${tokenUri}?auth_mode=${authMode}&api_key=${apiKey}" -Body $tokenRequestBody

$requestHeader = @{ Authorization = "Bearer $($tokenResponse.access_token)" }

# Get the business object summary for the Incident. This will give us the busObId
$summaryUri = $baseUri + "api/V1/getbusinessobjectsummary/busobname/Incident"
$summaryResults = Invoke-RestMethod -Method GET -Uri $summaryUri -ContentType application/json -Header $requestHeader
$busObId = $summaryResults[0].busobId

# Get the One-Step Actions with association of Incident from the Global scope
$oneStepActionUri = $baseUri + "api/V1/getonestepactions/association/${busObId}/scope/Global"
$oneStepActionsResponse = Invoke-RestMethod -Method GET -Uri $oneStepActionUri -ContentType application/json -Header $requestHeader