Skip to content

A PowerShell module for the Axcient x360Recover Public API

License

Notifications You must be signed in to change notification settings

adamburley/AxcientAPI

Repository files navigation

Axcient Logo

Axcient x360Recover API

PowerShell Gallery Platform Support PowerShell Gallery Downloads PowerShell Gallery Version GitHub License #v-axcient on MSPGeek Discord

GitHub last commit Code Coverage

In June 2024, Axcient announced a public API for their x360Recover backup product is in early access.

Announcement post

Currently Axcient is accepting requests for access to the production environment, and offers a mock / dev environment, Swagger Editor and OpenAPI schema at https://developer.axcient.com/.

⚠️ As the API itself is in early access and likely to change, this should not be considered a production-ready module. However, I have made efforts to introduce no novel bugs. Please raise issues as they are found.

Status

Version 0.4.0 updated October 19, 2024. Aligns with version 0.3.1 of API.

Version 0.4.0 adds new endpoints and resolves several issues.

Manual and automated testing against the mock and prod environments is successful. Please raise issues as found.

Getting Started

Compatibility: PowerShell 7 Core. OS Agnostic, works in Windows console, PS Core / Azure Function Apps

Install-Module AxcientAPI or Install-PSResource AxcientAPI

PS > Import-Module AxcientAPI
PS > Initialize-AxcientAPI -ApiKey 'yourlongkey' # -MockServer if testing against the Mock endpoint
PS > Get-Organization

id_           : 26
name          : Spacely Sprockets
active        : True
brand_id      : SPACELY
salesforce_id : 8675309
objectschema  : organization

Functions

Function Synopsis
Get-Appliance Get information about an Appliance.
Get-BackupJob Get backup job information for a device.
Get-BackupJobHistory Get history of runs for a backup job.
Get-Client Retrieves information on a client or clients
Get-D2CAgentToken Gets a Direct-to-Cloud (D2C) agent token for a client and vault.
Get-Device Retrieves information about devices.
Get-DeviceAutoVerify Retrieves auto-verify information for one or more devices.
Get-DeviceRestorePoint Retrieves restore points for a device.
Get-Organization Retrieves information about the partner organization.
Get-Vault Get information about vaults
Get-VaultThreshold Retrieves a threshold value for a vault.
Initialize-AxcientAPI Sets API key, server URL, and error handling for AxcientAPI module functions.
Set-VaultThreshold Sets a threshold value for a vault.

Custom properties

Due to limitations in the API (as of the July 2024 release) two sets of custom properties are included in objects handled by this module.

  • objectschema identifies the type of object to improve error-catching and pipeline compatibility.
  • parent_id adds properties to identify the parents of an object, when available (e.g. client_id, device_id).

You can read more about the implementation of each at the links above.

TODO / Features wanted

  1. Devices do not carry client ID in the object, making them hard to pipe Currently implemented by the module, not the API
  2. Consider custom objects / classes
  3. Testing with Pester [Core testing complete]