Skip to main content

PowerShell SDK

The Atria.Tools PowerShell module provides cmdlets for REST API sessions, provisioning-request tracking, and supported WorkSpace operations. The cmdlets use the same bearer token and permissions as direct REST calls.

The module covers a subset of the REST API Reference. If the operation is not listed in this section, check the REST reference rather than assuming it is unavailable.

Before you begin

You need:

  • Atria.Tools installed by the normal Atria deployment or update process;
  • an Atria API token;
  • the API base URL, normally https://<atria-host>/api;
  • network access to that HTTPS endpoint.

Confirm the module is available:

Get-Module -ListAvailable Atria.Tools
Import-Module Atria.Tools

Quick start

Import-Module Atria.Tools

$secureToken = Read-Host 'Atria API token' -AsSecureString
$token = [Net.NetworkCredential]::new('', $secureToken).Password

try {
Connect-AtriaApi `
-AuthToken $token `
-apiBase 'https://atria.example.com/api'

$context = Get-AtriaApiContext
if (-not $context.connected) {
throw 'Atria API connection was not established.'
}

Get-AtriaWorkSpaceItemType -IDPType '*'
}
finally {
Disconnect-AtriaApi
Remove-Variable token, secureToken -ErrorAction SilentlyContinue
}
Token exposure in the current module

The current Connect-AtriaApi -Verbose output and the apiAuthToken entry returned by Get-AtriaApiContext can expose the token. Do not enable verbose logging while connecting, and do not print, serialize, or log the complete context object.

Session cmdlets

Request tracking cmdlets

WorkSpace cmdlets

Use the Service Cmdlets → WorkSpace section to manage items, lists, customer and user assignments, roles, scopes, relationships, and icons.

Write operations can enqueue provisioning work. Keep any returned request or object identifier and use the request-tracking cmdlets when the response indicates that work continues asynchronously.

Command conventions

  • Call Connect-AtriaApi once per PowerShell session and Disconnect-AtriaApi in a finally block.
  • Use integer IDs returned by Get-* commands instead of hard-coding values copied from another environment.
  • Treat filters as API query expressions; validate them with a read-only call first.
  • Avoid -Verbose for commands that could expose tokens or sensitive payloads.
  • Review the matching REST endpoint when you need the full request or response model.