All posts

Introducing the AssetCenter CLI: your inventory, in your terminal and in your AI agent's hands

· 9 min read

Quick answer

The AssetCenter CLI is one command, assetcenter, for macOS, Linux and Windows. It manages assets, people, locations, subscriptions, to-dos and reports with a scoped API token. Its JSON output, clear exit codes and explicit confirmations let AI agents answer inventory questions and run routine workflows.

Last month we released the AssetCenter API. Today we're releasing the tool that makes it usable from a terminal: the AssetCenter CLI.

It is a single command, assetcenter, that works with everything your token can reach: assets, people, locations, subscriptions, categories and custom fields, event types, to-dos, dashboard reports, GPS positions, organization members and Excel exports. It runs on macOS, Linux and Windows, on Intel and ARM, as one standalone executable with nothing else to install.

A CLI is useful for scripts. But the bigger reason we built it is that the terminal has become where AI agents do their work. An agent that can run a command can now look things up in your inventory, explain what it finds, and, if you allow it, keep the records up to date.

Install it in one line

On macOS or Linux:

curl -fsSL https://assetcenter.app/install.sh | sh

The installer detects your processor, verifies the download against its SHA-256 checksum, and installs to ~/.local/bin without sudo. Windows users, and anyone who prefers to install by hand, can download a build from the CLI downloads section of the API guide.

Then connect it to your organization:

assetcenter auth login

An organization administrator creates the token under Settings → API Access, choosing Read Only, Full Access, or Custom permissions. The CLI stores the token in your operating system's keyring and checks it against the API before saving it. For scripts and scheduled jobs, set ASSETCENTER_TOKEN instead.

What it looks like

assetcenter assets list --search "MacBook"
assetcenter assets scan AC-01482
assetcenter assets show 1482
assetcenter assets timeline list 1482
assetcenter search "Riverside warehouse"
assetcenter dashboard expiring-warranties --timeframe 6
assetcenter organizations export 1 assets --output assets.xlsx

In a terminal, results print as readable tables. When the output is piped to another program, the CLI switches to JSON automatically, and --json or --table forces either one. Every command has --help, and every resource has an options command that lists the valid categories, statuses, event types and fields for your organization.

Built for agents as well as people

Most command-line tools were designed for a person who reads the output and decides what to do next. An AI agent does the same thing, but much faster and without the context you carry in your head. We designed the CLI so an agent can find its own way around and so its mistakes are hard to make and easy to see.

  • It describes itself. An agent can run assetcenter --help, then assetcenter assets options, and learn the commands, the fields, and your organization's own categories and custom fields before it changes anything.
  • It returns structured data. JSON output means the agent reads fields, not formatted text it has to guess at.
  • It fails clearly. Errors go to stderr, and the exit code says what went wrong: 3 for authentication, 4 for a missing permission, 5 for not found, 6 for a validation error, 7 for a rate limit, 8 for a network problem. An agent can tell "this record doesn't exist" from "I'm not allowed to do that" without parsing a message.
  • Destructive actions need --yes. Deleting a record or decommissioning an asset will not run unless the command explicitly confirms it, so an agent cannot do it by accident.
  • Retries don't double up. Workflow writes such as events, decommissioning and subscription lifecycle changes return an idempotency key. Repeating the identical request with that key returns the original result instead of recording the action twice. The CLI never retries a write on its own.
  • Edits are based on what was read. To change a timeline entry, the command requires the version returned by timeline show. If someone else changed the entry in the meantime, the edit is rejected instead of silently overwriting their work.
  • Access is set by the token, not the prompt. An agent can only do what its token permits. You decide that in AssetCenter, not in the instructions you give the agent.

What this makes possible

None of what follows needs a custom integration. Each is an agent, the CLI, and a token with the right permissions.

Ask your inventory questions in plain language

"Which laptops have warranties ending this quarter, and who has them?" Previously that was a filtered report, an export and some spreadsheet work. With the CLI, an agent can run the expiring-warranties report, look up each asset's assignment, and give you a short answer with the record IDs to check. Follow-up questions — "only the Denver office", "which ones are older than four years" — become another command or two instead of another report.

This is the best place to start, and it only needs a Read Only token.

Run onboarding and offboarding checklists

When someone joins, an agent can find an available laptop of the right model, assign it to the new person, and add a note with the ticket reference. When someone leaves, it can list everything assigned to them across assets and subscriptions, open to-dos for the items still to recover, and set the person's status once everything is back.

The checklist is the same one your team follows today. The difference is that the agent does the lookups and data entry, and the timeline records each step. Our guide to employee offboarding automation explains which of those steps are safe to automate.

Move from spreadsheets without a cleanup project

Most inventories start in a spreadsheet with inconsistent column names, free-text locations and models typed three different ways. An agent can read that file, check your categories and custom fields with options, propose how each column maps to AssetCenter, and show you the mapping before creating anything. Once you approve it, it creates the records one at a time and reports any row the API rejected, along with the reason.

If the inventory needs categories or custom fields that don't exist yet, the agent can create those first with asset-categories and asset-categories fields, using a token that has setup permissions.

Reconcile a physical audit

Give an agent the list of tags your team scanned during a walk-through. It can look each one up with assetcenter assets scan, compare where the asset was found with where AssetCenter says it should be, and give you three lists: confirmed, in the wrong place, and not found. You decide what to fix; the agent can then record the corrections and add a note to each record. Our physical inventory audit checklist covers the audit itself.

Get a weekly brief instead of checking dashboards

The dashboard reports are all available from the CLI: expiring warranties, expiring contracts, assets reaching end of life, subscription cost, recent activity and open to-dos. A scheduled agent can run them every Monday and send a summary that highlights what changed since last week and what needs a decision. Nobody has to remember to log in and look.

Review subscription spend before renewals

An agent can list subscriptions with their billing and contract details, compare the number of seats paid for with the number assigned, and flag renewals coming up with little use. It can draft the recommendation; a person decides whether to pause, cancel or keep the subscription, and the agent can then record that decision with the matching lifecycle command.

Answer questions about equipment in the field

For assets with GPS trackers, assetcenter gps show returns the current position and gps history returns movement for a period of up to 31 days. An agent can answer "where was trailer 14 on Saturday night?" or "which generators left the yard this week?" without anyone opening a map.

Work through the to-do backlog

assetcenter todos list shows open to-dos across every record your token can see, along with the record each belongs to. An agent can sort them by urgency, group related ones, prepare the information each one needs, and mark them complete once the work is confirmed.

Keep the data clean

Over time, records drift: assets without serial numbers, people marked active who left months ago, assets assigned to locations that closed. An agent can run those checks regularly and report what it finds. Read access is enough to find the problems; fixing them is a separate decision with a separate token.

Connect AssetCenter to tools you already use

Because the CLI reads from stdin and writes JSON, it fits into any shell script, CI job or agent framework that can run a command. A service desk automation can call it when a ticket closes. A finance script can run organizations export at month end. An internal chat bot can answer "who has the projector?" by running a search.

Keep agents on a short leash

The CLI gives an agent the same access as its token, so the token is where you set the limits. A few practices we recommend:

  1. Start with Read Only. Most of the value above comes from answering questions, and a read-only agent cannot change your records.
  2. Create one token per job. An onboarding agent needs assignment permissions; a reporting agent does not. Separate tokens with Custom permissions keep each agent to what it needs, and let you revoke one without affecting the others.
  3. Set an expiration. Tokens for experiments should expire quickly.
  4. Review before bulk writes. Ask the agent to show what it plans to create or change before it runs those commands. The CLI's --yes requirement applies only to destructive actions; creates and updates run as soon as they are called.
  5. Check the timeline. Every change made through the CLI appears in the record's timeline, so you can see exactly what an agent did and when.

The authentication guide explains each permission, and errors and rate limits and idempotency and retries cover what scripts need to handle.

Get started

Install the CLI, create a Read Only token, and ask an agent something about your inventory that you would normally answer with an export. That first answer is the quickest way to see what the CLI can take off your team's plate.

Install instructions, downloads for every platform and checksums are in the CLI section of the API guide. Run assetcenter --help to see everything it can do.

Jeremy Francis, Founder & CEO, AssetCenter

By Jeremy Francis

Founder & CEO, AssetCenter

Keep reading

Introducing the AssetCenter API

The AssetCenter API is here. Connect your tools to assets, people, locations, and subscriptions, automate work...