> ## Documentation Index
> Fetch the complete documentation index at: https://syteca.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Syteca ACB CLI Reference

> Reference for the Syteca ACB command-line wrapper — SytecaACBConsole.exe — for scripting common ACB operations from the Windows command line, PowerShell, or scheduled tasks.

The **Syteca ACB CLI** is a command-line wrapper around the ACB REST API — bundled with the ACB service install — for scripting common operations without writing HTTP calls directly. Useful for PowerShell automation, Windows Scheduled Tasks, and ad-hoc operations during deployment.

<Warning>
  **NOT AVAILABLE IN SAAS.** ACB and its CLI are on-premises only.
</Warning>

## Location

The CLI is installed alongside the ACB service:

```text theme={"system"}
C:\Program Files (x86)\Ekran System\Ekran System Application Credentials Broker\Console\SytecaACBConsole.exe
```

<Warning>
  Both the binary name `SytecaACBConsole.exe` and the path containing `Ekran System Application Credentials Broker` are literal legacy system identifiers — preserve exactly in scripts.
</Warning>

## General usage

```text theme={"system"}
SytecaACBConsole.exe <command> [parameters]
```

All commands require:

* The ACB service URL — typically `https://<hostname>/SytecaACB` (or `https://<hostname>/EkranACB` for pre-1.2 installs).
* A Refresh Token (passed as a parameter or via environment variable).

The CLI handles the Refresh Token → Access Token exchange internally — you don't call `get_access_token` separately.

## Commands

The CLI exposes commands that mirror the major API endpoints. Each command typically returns JSON to stdout (and a non-zero exit code on error).

| Command                | Mirrors API endpoint                                                                         | Description                                                     |
| ---------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `GetSecretCredentials` | [`GET /api/secrets/{id}/password`](/docs/api/acb/endpoints/get-secret-credentials)                | Retrieve the password (and SSH key, if applicable) of a secret. |
| `GetSecret`            | [`GET /api/secrets/{id}`](/docs/api/acb/endpoints/get-secret)                                     | Retrieve secret details (no password).                          |
| `AddSecret`            | [`POST /api/secrets`](/docs/api/acb/endpoints/add-secret)                                         | Create a new secret.                                            |
| `UpdateSecret`         | [`PATCH /api/secrets/{id}`](/docs/api/acb/endpoints/update-secret)                                | Update an existing secret.                                      |
| `DeleteSecret`         | [`DELETE /api/secrets/{id}`](/docs/api/acb/endpoints/delete-secret)                               | Delete a secret.                                                |
| `RotateSecretPassword` | [`POST /api/secrets/{id}/rotate-secret-password`](/docs/api/acb/endpoints/rotate-secret-password) | Trigger password rotation.                                      |
| `ForceCheckIn`         | [`POST /api/secrets/{id}/force-checkin`](/docs/api/acb/endpoints/force-checkin)                   | Force check-in for a checked-out secret.                        |
| `GetFolder`            | [`GET /api/folders/{id}`](/docs/api/acb/endpoints/get-folder)                                     | Retrieve folder details.                                        |
| `AddFolder`            | [`POST /api/folders`](/docs/api/acb/endpoints/add-folder)                                         | Create a new folder.                                            |
| `UpdateFolder`         | [`PATCH /api/folders/{id}`](/docs/api/acb/endpoints/update-folder)                                | Update an existing folder.                                      |
| `DeleteFolder`         | [`DELETE /api/folders/{id}`](/docs/api/acb/endpoints/delete-folder)                               | Delete a folder.                                                |
| `BulkAdd`              | [`POST /api/bulk/add-secrets-and-folders`](/docs/api/acb/endpoints/bulk-add)                      | Create multiple secrets and folders in one call.                |

<Note>
  Exact command-line syntax (parameter names, JSON file vs inline arguments, output format) is documented inline by the CLI itself — run `SytecaACBConsole.exe <command> --help` for the canonical usage. Output format and parameter shape may evolve across ACB versions.
</Note>

## Common scripting patterns

### Retrieve a secret from a PowerShell script

```powershell theme={"system"}
$json = & 'C:\Program Files (x86)\Ekran System\Ekran System Application Credentials Broker\Console\SytecaACBConsole.exe' `
  GetSecretCredentials `
  --url "https://acb.example.com/SytecaACB" `
  --refresh-token $env:ACB_REFRESH_TOKEN `
  --secret-id 1234

$credentials = $json | ConvertFrom-Json
$user = $credentials.login
$pwd = $credentials.password
```

### Bulk-create secrets from a Windows Scheduled Task

Schedule `SytecaACBConsole.exe BulkAdd --url ... --refresh-token ... --input C:\secrets.json` to run on a recurring schedule, with the JSON payload prepared by an upstream pipeline.

<Warning>
  **Never embed the Refresh Token in script files committed to source control.** Use Windows credentials manager, environment variables provisioned by your secrets vault, or pull the token from a higher-tier secrets store at script start.
</Warning>

## Related

<CardGroup cols={2}>
  <Card title="API reference" icon="square-code" href="/docs/api/acb/api-reference">
    Underlying REST endpoints the CLI wraps.
  </Card>

  <Card title="Install" icon="download" href="/docs/api/acb/install">
    Where the CLI gets installed.
  </Card>

  <Card title="Set up user account" icon="user-plus" href="/docs/api/acb/setup-user-account">
    Generate the Refresh Token the CLI requires.
  </Card>

  <Card title="Bulk add" icon="layers" href="/docs/api/acb/endpoints/bulk-add">
    The most common CLI scripting target.
  </Card>
</CardGroup>
