--profile <name> on supported commands only when an active Service Account profile already exists in the CLI profile store. The flag selects that profile; it does not import a bundle or create a credential. Service Account credential lifecycle is Web-only. When you have only an active bundle, configure the documented AC_* environment variables instead. Run a command family without a subcommand to display its built-in help.
For one copy-ready command example per command, continue to CLI examples.
Identity availability
A human PAT can use every API-backed command below when RBAC permits it. Local commands such aslogin and generate do not require API authorization. A Service Account can use only:
Core record commands
generate only returns locally generated fields. new generates, encrypts and stores them. set updates a matching record or creates it when human mode has enough information.
Project commands
Group commands
Human PAT only. All commands require--account; Team+ and RBAC apply. A group is reusable within its account. Creating it does not grant a project role.
update replaces name and description; omitting description clears it. Membership, deletion and grant writes return the server’s change snapshot, including pending material and remaining access sources. Removing one path preserves other authorized paths. Revocations need no vault unlock.
reconcile uses the configured local passphrase to attempt encrypted-material repair as an authorized holder; it never grants access. Its attemptedProjectIds are attempts, not proof that recipients can decrypt. Omitting --project attempts readable projects in the account. Pending direct group-record shares in the account are repaired in either mode; unavailable holder material can remain pending. See Groups and effective access.
The SDK group catalog exposes available role IDs and member candidates. group list and group members return context groups and current members; they are not catalog/candidate switches.
Record management commands
--scope-type project and --scope-id.
Gateway commands
Discovery and lifecycle:gateway provider-models includes current official pricing for each discovered model. Numeric token
rates use USD per one million tokens; displayText and rateCard preserve provider-published zero
and context-tiered policies.
Observability:
Service Account metadata commands
Argument rules
- Values in angle brackets are required. Values in square brackets are optional.
- UUID arguments must be complete IDs. Names are not accepted where an ID is required.
--accountselects account context. It does not add permissions.--projectlimits an operation to one project.--profileselects a stored Service Account profile for commands that support machine identity.--scopeonairctrl readselects record sections:fields,meta,owner,access, orfull. It does not select individual field names.- Omit
--envfor a General record. Pass--env development,--env staging, or--env productionto select that record value. The PAT or Service Account token must permit the selected scope; access never falls back to General or another value. --target-envonairctrl import envis a field stored inside that ENV-format record. It is separate from--env, which selects the record’s encrypted value.- Repeat
--field key=value,--model <name>, or--credential-binding <credentialId=modelId>when you need more than one value. --tags none,--secret-due null, and--rotation-days nullclear those optional values. A positive integer is required for--rotation-days.--idempotency-keyidentifies one intended record write. Reuse it only when retrying the same input.- Use
nullonly where the command syntax explicitly accepts it. It clears the stored optional value. - Use
noneonly where documented. It replaces a list with an empty list. - Boolean flags accept only
trueorfalse.
Output
Normal commands write formatted JSON to stdout. Scripts should read stdout as JSON and use the process exit status to decide whether the operation completed. Diagnostic text and stable error codes go to stderr. Commands that return no resource print{ "ok": true }.
Complete workflow examples
Create and inspect a project:OAuth partner Apps
The CLI has no OAuth App profile, authorization-code flow, or connection/protection lifecycle commands. Do not place OAuth client secrets, authorization codes, access tokens, or refresh tokens in its PAT/Service Account profiles or shell history. Those values belong in a confidential partner backend. Implement OAuth partner flows through the standards-based direct HTTP contract orOAuthPartnerClient. See OAuth partner integrations,
OAuth protocol, and
OAuth protection API. The CLI may still manage ordinary gateways with
a separately authorized human PAT; that is not the OAuth installation identity.
CLI failures
The CLI never treats an incomplete Service Account profile as a human login. Fix the profile instead of
adding a human PAT to the same machine configuration.