Skip to main content
The Avala CLI lets you list datasets, create exports, manage cloud storage, and more — directly from the command line.

Installation

The CLI is included as an optional extra in the Python SDK:
pip install avala[cli]
This installs the avala command along with Click and Rich for formatted terminal output.

Authentication

Set your API key as an environment variable (recommended):
export AVALA_API_KEY="avk_your_api_key"
Or pass it as a flag on any command:
avala --api-key avk_your_api_key datasets list
To set up credentials interactively:
avala configure
This walks you through entering your API key and base URL, then prints the export statements to add to your shell profile.

Global Options

OptionDescription
--api-key TEXTAvala API key (or set AVALA_API_KEY env var).
--base-url TEXTAPI base URL (or set AVALA_BASE_URL env var). Default: https://api.avala.ai/api/v1.
--helpShow help for any command.

Commands

datasets

# List all datasets
avala datasets list

# Limit results
avala datasets list --limit 10

# Get a specific dataset
avala datasets get <uid>
list options:
OptionDescription
--limit INTEGERMaximum number of results to return.
get output fields: UID, Name, Slug, Items, Type, Created, Updated.

projects

# List all projects
avala projects list

# Get a specific project
avala projects get <uid>
list options:
OptionDescription
--limit INTEGERMaximum number of results to return.
get output fields: UID, Name, Status, Created, Updated.

tasks

# List all tasks
avala tasks list

# Limit results
avala tasks list --limit 50

# Get a specific task
avala tasks get <uid>
list options:
OptionDescription
--limit INTEGERMaximum number of results to return.
get output fields: UID, Name, Type, Status, Project, Created, Updated.

exports

# List all exports
avala exports list

# Get export details
avala exports get <uid>

# Create a new export
avala exports create --project <uid>
avala exports create --dataset <uid>
create options:
OptionDescription
--dataset TEXTDataset UID to export.
--project TEXTProject UID to export.

storage-configs

Manage cloud storage connections (AWS S3, Google Cloud Storage).
# List storage configurations
avala storage-configs list

# Add an S3 bucket
avala storage-configs create \
  --name "Production S3" \
  --provider aws_s3 \
  --s3-bucket-name my-bucket \
  --s3-bucket-region us-west-1 \
  --s3-access-key-id $AWS_ACCESS_KEY_ID \
  --s3-secret-access-key $AWS_SECRET_ACCESS_KEY

# Add a GCS bucket
avala storage-configs create \
  --name "Production GCS" \
  --provider gc_storage \
  --gc-bucket-name my-gcs-bucket \
  --gc-auth-json '{"type":"service_account",...}'

# Test a storage connection
avala storage-configs test <uid>

# Delete a storage config (prompts for confirmation)
avala storage-configs delete <uid>
create options:
OptionDescription
--name TEXTName for the storage configuration (required).
--provider CHOICEaws_s3 or gc_storage (required).
AWS S3 options:
OptionDescription
--s3-bucket-name TEXTS3 bucket name.
--s3-bucket-region TEXTAWS region (e.g., us-west-1).
--s3-bucket-prefix TEXTObject key prefix.
--s3-access-key-id TEXTAWS access key ID.
--s3-secret-access-key TEXTAWS secret access key.
Google Cloud Storage options:
OptionDescription
--gc-bucket-name TEXTGCS bucket name.
--gc-prefix TEXTObject key prefix.
--gc-auth-json TEXTService account JSON credentials.

agents

Manage automation agents.
# List agents
avala agents list

# Get agent details
avala agents get <uid>

# Create an agent
avala agents create \
  --name "QA Bot" \
  --events "task.completed,result.submitted" \
  --callback-url https://example.com/hook

# Delete an agent (prompts for confirmation)
avala agents delete <uid>

# List executions for an agent
avala agents executions <uid>

# Test an agent
avala agents test <uid>
create options:
OptionDescription
--name TEXTAgent name (required).
--events TEXTComma-separated list of event types.
--callback-url TEXTWebhook callback URL (HTTPS).
--description TEXTAgent description.
--project TEXTProject UID to scope the agent to.
--task-types TEXTComma-separated list of task types.
list options:
OptionDescription
--limit INTEGERMaximum number of results to return.
executions options:
OptionDescription
--limit INTEGERMaximum number of results to return.

webhooks

Manage webhook subscriptions.
# List webhooks
avala webhooks list

# Get webhook details
avala webhooks get <uid>

# Create a webhook
avala webhooks create \
  --target-url https://example.com/webhook \
  --events "task.completed,export.ready"

# Delete a webhook (prompts for confirmation)
avala webhooks delete <uid>

# Test a webhook
avala webhooks test <uid>

# List webhook deliveries
avala webhooks deliveries
create options:
OptionDescription
--target-url TEXTWebhook target URL, HTTPS (required).
--events TEXTComma-separated list of event types (required).
--secret TEXTHMAC signing secret (auto-generated if omitted).
list / deliveries options:
OptionDescription
--limit INTEGERMaximum number of results to return.

quality-targets

Manage quality targets for projects.
# List quality targets for a project
avala quality-targets list --project <uid>

# Get a specific quality target
avala quality-targets get --project <uid> <target_uid>

# Create a quality target
avala quality-targets create \
  --project <uid> \
  --name "Accuracy Target" \
  --metric accuracy \
  --threshold 0.95 \
  --operator gte \
  --severity critical

# Delete a quality target (prompts for confirmation)
avala quality-targets delete --project <uid> <target_uid>

# Evaluate all quality targets for a project
avala quality-targets evaluate --project <uid>
create options:
OptionDescription
--project TEXTProject UID (required).
--name TEXTTarget name (required).
--metric TEXTMetric to monitor (required).
--threshold FLOATThreshold value (required).
--operator TEXTComparison operator (gt, lt, gte, lte).
--severity CHOICEAlert severity: warning or critical.
list options:
OptionDescription
--project TEXTProject UID (required).
--limit INTEGERMaximum number of results to return.

consensus

Manage consensus scoring for projects.
# Get consensus summary for a project
avala consensus summary --project <uid>

# List consensus scores
avala consensus scores --project <uid>

# Compute consensus scores
avala consensus compute --project <uid>

# View or update consensus config
avala consensus config --project <uid>
avala consensus config --project <uid> --iou-threshold 0.7 --min-annotations 3
summary / scores / compute options:
OptionDescription
--project TEXTProject UID (required).
scores options:
OptionDescription
--limit INTEGERMaximum number of results to return.
config options (pass any to update, omit all to view):
OptionDescription
--project TEXTProject UID (required).
--iou-threshold FLOATIoU threshold (0.0-1.0).
--min-agreement-ratio FLOATMinimum agreement ratio (0.0-1.0).
--min-annotations INTEGERMinimum annotations required.

inference-providers

Manage inference providers.
# List inference providers
avala inference-providers list

# Get provider details
avala inference-providers get <uid>

# Create a provider
avala inference-providers create \
  --name "My SageMaker" \
  --provider-type sagemaker \
  --config '{"endpoint": "my-endpoint", "region": "us-east-1"}'

# Delete a provider (prompts for confirmation)
avala inference-providers delete <uid>

# Test provider connection
avala inference-providers test <uid>
create options:
OptionDescription
--name TEXTProvider name (required).
--provider-type CHOICEhttp or sagemaker (required).
--config TEXTProvider config as JSON string (required).
--description TEXTProvider description.
--project TEXTProject UID to scope the provider to.
list options:
OptionDescription
--limit INTEGERMaximum number of results to return.

auto-label

Manage auto-label jobs.
# List auto-label jobs
avala auto-label list

# Filter by project
avala auto-label list --project <uid>

# Get job details
avala auto-label get <uid>

# Create an auto-label job
avala auto-label create \
  --project <uid> \
  --model-type sam3 \
  --confidence-threshold 0.85 \
  --labels "car,truck"

# Cancel a running job (prompts for confirmation)
avala auto-label cancel <uid>
create options:
OptionDescription
--project TEXTProject UID (required).
--model-type CHOICEInference model: sam3 or yolo.
--confidence-threshold FLOATMinimum confidence (0.0-1.0).
--labels TEXTComma-separated list of labels to filter.
--dry-runRun inference without saving results.
list options:
OptionDescription
--project TEXTFilter by project UID.
--limit INTEGERMaximum number of results to return.

fleet

Fleet commands are in preview. Commands described here may change.
Manage fleet devices, recordings, events, rules, and alerts.
# List online devices
avala fleet devices list --status online

# Register a new device
avala fleet devices register --name "robot-arm-01" --type manipulator --firmware "2.4.1"

# List recordings for a device
avala fleet recordings list --device dev_abc123 --since 7d

# Create a timeline event
avala fleet events create --recording rec_abc123 --type anomaly --label "Gripper force spike"

# List recording rules
avala fleet rules list

# List active alerts
avala fleet alerts list --status open
devices list options:
OptionDescription
--status CHOICEFilter by status: online, offline, maintenance.
--type TEXTFilter by device type.
--limit INTEGERMaximum number of results to return.
recordings list options:
OptionDescription
--device TEXTFilter by device UID.
--since TEXTRecordings from the last N days (e.g., 7d, 30d).
--status CHOICEFilter by status: uploading, processing, ready, error, archived.
--limit INTEGERMaximum number of results to return.
alerts list options:
OptionDescription
--status CHOICEFilter by status: open, acknowledged, resolved.
--severity CHOICEFilter by severity: info, warning, error, critical.
--limit INTEGERMaximum number of results to return.

configure

Interactive setup wizard for CLI credentials.
avala configure
Prompts for your API key and base URL, then outputs the export commands to add to your shell profile (~/.bashrc, ~/.zshrc, etc.).

Examples

List datasets and export a project

# See what datasets you have
avala datasets list

# Export annotations from a project
avala exports create --project proj_abc123

# Check export status
avala exports get exp_xyz789

Set up cloud storage

# Connect an S3 bucket
avala storage-configs create \
  --name "Training Data" \
  --provider aws_s3 \
  --s3-bucket-name ml-training-data \
  --s3-bucket-region us-east-1 \
  --s3-access-key-id $AWS_ACCESS_KEY_ID \
  --s3-secret-access-key $AWS_SECRET_ACCESS_KEY

# Verify the connection works
avala storage-configs test sc_abc123

Use with CI/CD

# In your CI pipeline
export AVALA_API_KEY="${AVALA_API_KEY}"

# Trigger an export and capture the UID
avala exports create --project proj_abc123

Environment Variables

VariableDescriptionDefault
AVALA_API_KEYYour Avala API key.Required
AVALA_BASE_URLAPI base URL override.https://api.avala.ai/api/v1

Output Format

The CLI uses Rich for formatted output:
  • List commands display results in formatted tables.
  • Get commands display a key-value detail view.
  • Create/delete commands print confirmation messages.
Colors and formatting are automatically disabled when output is piped or redirected.
The CLI does not yet support --output json or --format flags. All output is formatted for terminal readability. For machine-readable output, use the Python SDK or REST API directly.