Bytes CLI
The Bytes CLI lets you create, manage and organise workspace links from your terminal.
It uses the same public /api/v1 Developer API as the REST examples in these docs. It does not call browser session routes, admin APIs or private dashboard endpoints.
The CLI currently supports links, workspace tags and attaching tags to links. QR, Offline Engagement and analytics commands are not part of the public CLI yet.
Install
Install the CLI from npm:
npm install -g @jawwws/bytes-cli
Check it is available:
bytes --version
bytes --help
Create an API key
API keys are managed inside your Bytes workspace.
Open the app, choose the workspace you want the CLI to use, then go to:
Workspace Settings > Developer API
Create a key, copy it immediately and store it securely. Bytes only shows the full key once.
Configure authentication
For scripts and CI, use an environment variable:
export BYTES_API_KEY="YOUR_BYTES_API_KEY"
For a local machine you control, you can store the key in the Bytes CLI config:
bytes config set-api-key YOUR_BYTES_API_KEY
View your local configuration without revealing the key:
bytes config show
API base URL
The production API base URL is used by default:
https://api.jaww.ws/api/v1
For local testing, override it with an environment variable:
BYTES_API_BASE_URL=http://localhost:8000/api/v1 bytes links list
Create a link
bytes links create https://example.com/cops-and-coffee/coffee-tasting \
--slug cops-coffee-tasting \
--title "Cops and Coffee tasting event" \
--channel print \
--utm-source poster \
--utm-medium qr \
--utm-campaign coffee-tasting \
--utm-content poster-v1
The response includes the opaque public link ID. Use that ID for future CLI and Developer API commands. It is not the internal database ID.
List and search links
bytes links list --per-page 10
bytes links list --q coffee
Use JSON output in scripts:
bytes links list --json
Show and update a link
bytes links get lnk_copscoffee01k0m4zn8x7p9q2r3s4t
bytes links update lnk_copscoffee01k0m4zn8x7p9q2r3s4t \
--destination-url https://example.com/cops-and-coffee/new-page \
--title "Updated Cops and Coffee tasting page" \
--utm-content poster-v2
Mark a link inactive:
bytes links update lnk_copscoffee01k0m4zn8x7p9q2r3s4t --inactive
Archive a link:
bytes links archive lnk_copscoffee01k0m4zn8x7p9q2r3s4t --yes
Tags
List tags:
bytes tags list
Create a tag:
bytes tags create "Coffee tasting" --slug coffee-tasting --colour "#2563eb"
Update a tag:
bytes tags update 2 --description "Links for coffee tasting events"
Delete a tag:
bytes tags delete 2 --yes
Attach tags to a link
bytes links tags attach lnk_copscoffee01k0m4zn8x7p9q2r3s4t --tag-ids 2,3
Remove a tag:
bytes links tags detach lnk_copscoffee01k0m4zn8x7p9q2r3s4t 2
Security notes
Do not commit API keys to source control.
Do not paste API keys into tickets, chat, documents or screenshots.
Do not use API keys in frontend or browser code.
Create separate keys for separate systems where possible, then revoke keys that are no longer needed.
Package and source
The npm package is:
@jawwws/bytes-cli
The CLI source repository is:
https://github.com/jawwws/bytes-cli