Skip to content
Development
Skill

/clients

Axcient x360Recover clients: the health_status model, client_code, the three-way protected-system counter breakdown (appliance_based, d2c, cloud_archive), and minting direct-to-cloud agent enrollment tokens.

From plugin
msp-claude-plugins
55200 skills165 agents200 commands4 MCP

Claude Code

$ npx -y skills add wyre-ai/msp-claude-plugins --skill clients --agent claude-code

SKILL.md

clients.SKILL.md
name: "Axcient Clients"
description: >
  Axcient x360Recover clients: the health_status model, client_code,
  the three-way protected-system counter breakdown (appliance_based, d2c,
  cloud_archive), and minting direct-to-cloud agent enrollment tokens.
when_to_use: >-
  When looking up, listing, or auditing Axcient clients, or enrolling a new
  direct-to-cloud (D2C) backup agent. Use when: axcient client, client
  health, protected systems, d2c agent, d2c token, client code, or
  x360recover client.

Axcient Clients

Overview

A "client" in x360Recover is the tenant/customer boundary — roughly equivalent to a PSA company. Every device, job, vault, and appliance belongs to exactly one client. Client health is a rollup Axcient computes from the devices underneath it, not a value you set.

Tools

| Tool | Description | Arguments | |------|-------------|-----------| | `axcient_list_clients` | Every client visible to this credential | `include_appliances?` | | `axcient_get_client` | One client's detail | `client_id`, `include_appliances?` | | `axcient_get_d2c_agent_token` | Mint a D2C agent enrollment token | `client_id`, `vault_id` |

List Clients

axcient_list_clients

**Example response (one client):**

{
  "id": 26,
  "name": "Acme Corp",
  "client_code": "ACME",
  "active": true,
  "health_status": "NORMAL",
  "devices_counters": {
    "appliance_based": [
      { "type": "SERVER", "count": 0 },
      { "type": "WORKSTATION", "count": 4 }
    ],
    "d2c": [
      { "type": "SERVER", "count": 2 },
      { "type": "WORKSTATION", "count": 7 }
    ],
    "cloud_archive": [
      { "type": "SERVER", "count": 2 },
      { "type": "WORKSTATION", "count": 0 }
    ]
  }
}

Protected-System Counters

`devices_counters` breaks the client's protected systems into three independent buckets, each split by `SERVER`/`WORKSTATION`:

| Bucket | Meaning | |--------|---------| | `appliance_based` | Backed up to a local Axcient appliance | | `d2c` | Direct-to-cloud — no local appliance, agent replicates straight to Axcient's cloud | | `cloud_archive` | Long-term cloud archive copies |

A device can appear in more than one bucket (e.g. appliance-based **and** cloud-archived via vault replication). Sum the buckets to get a client's total protected-system count; do not assume they're mutually exclusive.

Client Health Status

`health_status` is a client-level rollup (values observed: `NORMAL`, and presumably `WARNED`/`CRITICAL` mirroring the device-level status model — see the `devices` skill). It reflects the worst device under that client, not an independently-computed value. To find *which* device is dragging a client's health down, call `axcient_list_devices_by_client` and inspect each device's own `current_health_status`.

Minting a D2C Agent Token

axcient_get_d2c_agent_token

Parameters:

  • `client_id` -- The client to enroll the new agent under (required)
  • `vault_id` -- The vault the agent will replicate to (required)

Returns short-lived credential material for installing a **new** direct-to-cloud backup agent. This is a provisioning action, not a read — every call issues fresh token material. It does not affect any agent already enrolled, and it cannot be used to recover or inspect an existing agent's credentials.

Common Workflows

Client Health Triage

1. `axcient_list_clients` — scan `health_status` across all clients 2. For any client not `NORMAL`, `axcient_list_devices_by_client` on that `client_id` to find the specific device(s) failing 3. `axcient_get_device` on the failing device(s) for `current_health_status.reason` and timestamps 4. Cross-reference with `axcient_list_jobs_by_device` / `axcient_get_job_history` — a device can be "healthy" by its own status while its most recent job run failed

Enrolling a New D2C Agent

1. Confirm the target client with `axcient_get_client` 2. Confirm the target vault exists and is reachable with `axcient_get_vault` (see the `vaults` skill — private vaults may have connectivity constraints a cloud vault doesn't) 3. `axcient_get_d2c_agent_token` with that `client_id`/`vault_id` 4. Hand the returned token to whoever is installing the agent — it is not something this tool surface can retrieve again after the fact

Error Handling

Client Not Found

**Cause:** Invalid `client_id`, or the client belongs to a different organization than the API key's **Solution:** Verify against `axcient_list_clients`. A non-numeric `client_id` surfaces as a 401, not a 400 — see the `api-patterns` skill.

D2C Token Request Fails with 403

**Cause:** The API key's account lacks permission to provision new agents **Solution:** This is an admin-gated operation on Axcient's side; the key needs elevated permissions, not a retry.

Best Practices

  • Treat `health_status` as a starting point for triage, not the final

answer — it tells you *which* client needs attention, not *why*.

  • `client_code` is the short human identifier used elsewhere in Axcient's

UI and reports; surface it alongside `name` when presenting client lists to a technician who already knows the codes.

  • Don't call `axcient_get_d2c_agent_token` speculatively — each

call provisions real enrollment material. Confirm the client and vault first.

Related Skills

  • [api-patterns](../api-patterns/SKILL.md) - Authentication, tool catalog, error codes
  • [devices](../devices/SKILL.md) - Device-level health and protection detail
  • [vaults](../vaults/SKILL.md) - Vault selection for D2C enrollment
  • [appliances](../appliances/SKILL.md) - Appliance inventory per client
Read more
@wyre-technology
Ships withmsp-claude-plugins

One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: wyre-ai.github.io/msp-claude-plugins

55200 skills165 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
55
Star history of wyre-technology/msp-claude-plugins on GitHub, a chart by star-history.com

Other skills on msp-claude-plugins.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about clients.

Which coding agents can use clients?
clients installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.