A command-line interface for the XBE platform, providing programmatic access to newsletters, broker data, and platform services. Designed for both interactive use and automation by AI agents.
XBE is a business operations platform for the heavy materials, logistics, and construction industries. It provides end-to-end visibility from quarry to customer, managing materials (asphalt, concrete, aggregates), logistics coordination, and construction operations. The XBE CLI lets you access platform data programmatically.
# 1. Install
curl -fsSL https://raw.githubusercontent.com/x-b-e/xbe-cli/main/scripts/install.sh | bash
# 2. Authenticate
xbe auth login
# 3. Browse newsletters
xbe view newsletters list
# 4. View a specific newsletter
xbe view newsletters show <id>curl -fsSL https://raw.githubusercontent.com/x-b-e/xbe-cli/main/scripts/install.sh | bashInstalls to /usr/local/bin if writable, otherwise ~/.local/bin.
To specify a custom location:
INSTALL_DIR=/usr/local/bin USE_SUDO=1 curl -fsSL https://raw.githubusercontent.com/x-b-e/xbe-cli/main/scripts/install.sh | bashDownload the latest release from GitHub Releases, extract xbe.exe, and add it to your PATH.
xbe updatexbe
├── auth Manage authentication credentials
│ ├── login Store an access token
│ ├── status Show authentication status
│ ├── whoami Show the current authenticated user
│ └── logout Remove stored token
├── do Create, update, and delete XBE resources
│ ├── glossary-terms Manage glossary terms
│ │ ├── create Create a glossary term
│ │ ├── update Update a glossary term
│ │ └── delete Delete a glossary term
│ ├── lane-summary Generate lane (cycle) summaries
│ │ └── create Create a lane summary
│ ├── material-transaction-summary Generate material transaction summaries
│ │ └── create Create a material transaction summary
│ └── memberships Manage user-organization memberships
│ ├── create Create a membership
│ ├── update Update a membership
│ └── delete Delete a membership
├── view Browse and view XBE content
│ ├── newsletters Browse and view newsletters
│ │ ├── list List newsletters with filtering
│ │ └── show <id> Show newsletter details
│ ├── posts Browse and view posts
│ │ ├── list List posts with filtering
│ │ └── show <id> Show post details
│ ├── brokers Browse broker/branch information
│ │ └── list List brokers with filtering
│ ├── users Browse users (for creator lookup)
│ │ └── list List users with filtering
│ ├── material-suppliers Browse material suppliers
│ │ └── list List suppliers with filtering
│ ├── customers Browse customers
│ │ └── list List customers with filtering
│ ├── truckers Browse trucking companies
│ │ └── list List truckers with filtering
│ ├── memberships Browse user-organization memberships
│ │ ├── list List memberships with filtering
│ │ └── show <id> Show membership details
│ ├── features Browse product features
│ │ ├── list List features with filtering
│ │ └── show <id> Show feature details
│ ├── release-notes Browse release notes
│ │ ├── list List release notes with filtering
│ │ └── show <id> Show release note details
│ ├── press-releases Browse press releases
│ │ ├── list List press releases
│ │ └── show <id> Show press release details
│ └── glossary-terms Browse glossary terms
│ ├── list List glossary terms with filtering
│ └── show <id> Show glossary term details
├── update Show update instructions
└── version Print the CLI version
Run xbe --help for comprehensive documentation, or xbe <command> --help for details on any command.
Create an API token in the XBE client: https://client.x-b-e.com/#/browse/users/me/api-tokens
# Interactive (secure prompt, recommended)
xbe auth login
# Via flag
xbe auth login --token "YOUR_TOKEN"
# Via stdin (for password managers)
op read "op://Vault/XBE/token" | xbe auth login --token-stdinTokens are stored securely in your system's credential storage:
- macOS: Keychain
- Linux: Secret Service (GNOME Keyring, KWallet)
- Windows: Credential Manager
Fallback: ~/.config/xbe/config.json
--tokenflagXBE_TOKENorXBE_API_TOKENenvironment variable- System keychain
- Config file
xbe auth status # Check if a token is configured
xbe auth whoami # Verify token and show current user
xbe auth logout # Remove stored token# List recent published newsletters
xbe view newsletters list
# Search by keyword
xbe view newsletters list --q "market analysis"
# Filter by broker
xbe view newsletters list --broker-id 123
# Filter by date range
xbe view newsletters list --published-on-min 2024-01-01 --published-on-max 2024-06-30
# View full newsletter content
xbe view newsletters show 456
# Get JSON output for scripting
xbe view newsletters list --json --limit 10# List recent posts
xbe view posts list
# Filter by status
xbe view posts list --status published
# Filter by post type
xbe view posts list --post-type basic
# Filter by date range
xbe view posts list --published-at-min 2024-01-01 --published-at-max 2024-06-30
# Filter by creator
xbe view posts list --creator "User|123"
# View full post content
xbe view posts show 789
# Get JSON output for scripting
xbe view posts list --json --limit 10# List all brokers
xbe view brokers list
# Search by company name
xbe view brokers list --company-name "Acme"
# Get broker ID for use in newsletter filtering
xbe view brokers list --company-name "Acme" --json | jq '.[0].id'Use these commands to look up IDs for filtering posts by creator.
# Find a user ID
xbe view users list --name "John"
# Find a material supplier ID
xbe view material-suppliers list --name "Acme"
# Find a customer ID
xbe view customers list --name "Smith"
# Find a trucker ID
xbe view truckers list --name "Express"
# Then filter posts by that creator
xbe view posts list --creator "User|123"
xbe view posts list --creator "MaterialSupplier|456"
xbe view posts list --creator "Customer|789"
xbe view posts list --creator "Trucker|101"# List product features
xbe view features list
xbe view features list --pdca-stage plan
xbe view features show 123
# List release notes
xbe view release-notes list
xbe view release-notes list --q "trucking"
xbe view release-notes show 456
# List press releases
xbe view press-releases list
xbe view press-releases show 789
# List glossary terms
xbe view glossary-terms list
xbe view glossary-terms show 101# Generate a lane summary grouped by origin/destination
xbe do lane-summary create \
--group-by origin,destination \
--filter broker=123 \
--filter transaction_at_min=2025-01-11T00:00:00Z \
--filter transaction_at_max=2025-01-17T23:59:59Z
# Focus on pickup/delivery dwell minutes for higher-volume lanes
xbe do lane-summary create \
--group-by origin,destination \
--filter broker=123 \
--filter transaction_at_min=2025-01-11T00:00:00Z \
--filter transaction_at_max=2025-01-17T23:59:59Z \
--min-transactions 25 \
--metrics material_transaction_count,pickup_dwell_minutes_mean,pickup_dwell_minutes_median,pickup_dwell_minutes_p90,delivery_dwell_minutes_mean,delivery_dwell_minutes_median,delivery_dwell_minutes_p90
# Include effective cost per hour
xbe do lane-summary create \
--group-by origin,destination \
--filter broker=123 \
--filter transaction_at_min=2025-01-11T00:00:00Z \
--filter transaction_at_max=2025-01-17T23:59:59Z \
--min-transactions 25 \
--metrics material_transaction_count,delivery_dwell_minutes_median,effective_cost_per_hour_median# Summary grouped by material site
xbe do material-transaction-summary create \
--filter broker=123 \
--filter date_min=2025-01-01 \
--filter date_max=2025-01-31
# Summary by customer segment (internal/external)
xbe do material-transaction-summary create \
--group-by customer_segment \
--filter broker=123
# Summary by month and material type
xbe do material-transaction-summary create \
--group-by month,material_type_fully_qualified_name_base \
--filter broker=123 \
--filter material_type_fully_qualified_name_base="Asphalt Mixture" \
--sort month:asc
# Summary by direction (inbound/outbound)
xbe do material-transaction-summary create \
--group-by direction \
--filter broker=123
# Summary with all metrics
xbe do material-transaction-summary create \
--group-by material_site \
--filter broker=123 \
--all-metrics
# High-volume results only
xbe do material-transaction-summary create \
--filter broker=123 \
--min-transactions 100Memberships define the relationship between users and organizations (brokers, customers, truckers, material suppliers, developers).
# List your memberships
xbe view memberships list --user 1
# List memberships for a broker
xbe view memberships list --broker 123
# Search by user name
xbe view memberships list --q "John"
# Filter by role
xbe view memberships list --kind manager
xbe view memberships list --kind operations
# Show full membership details
xbe view memberships show 456
# Create a membership (organization format: Type|ID)
xbe do memberships create --user 123 --organization "Broker|456" --kind manager
# Create with additional attributes
xbe do memberships create \
--user 123 \
--organization "Broker|456" \
--kind manager \
--title "Regional Manager" \
--is-admin true
# Update a membership
xbe do memberships update 789 --kind operations --title "Driver"
# Update permissions
xbe do memberships update 789 \
--can-see-rates-as-manager true \
--is-rate-editor true
# Delete a membership (requires --confirm)
xbe do memberships delete 789 --confirmAll list and show commands support two output formats:
| Format | Flag | Use Case |
|---|---|---|
| Table | (default) | Human-readable, interactive use |
| JSON | --json |
Scripting, automation, AI agents |
| Setting | Default | Override |
|---|---|---|
| Base URL | https://app.x-b-e.com |
--base-url or XBE_BASE_URL |
| Config directory | ~/.config/xbe |
XDG_CONFIG_HOME |
| Variable | Description |
|---|---|
XBE_TOKEN |
API access token |
XBE_API_TOKEN |
API access token (alternative) |
XBE_BASE_URL |
API base URL |
XDG_CONFIG_HOME |
Config directory (default: ~/.config) |
This CLI is designed for AI agents. To have an agent use it:
- Install the CLI (see above)
- Authenticate (see above)
- Tell the agent to run
xbe --helpto learn what the CLI can do
That's it. The --help output contains everything the agent needs: available commands, authentication details, configuration options, and examples. The agent can drill down with xbe <command> --help for specifics.
All commands support --json for structured output that's easy for agents to parse.
#OSX
brew install go
# Debian/Ubuntu
sudo apt update && sudo apt install golang-go
# Fedora
sudo dnf install golang
# Windows - Chocolatey
choco install golang
# Windows - Scoop
scoop install gomake build./xbe --help
./xbe versionmake test