Skip to content

databox/databox-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

databox-cli

CLI for the Databox public API. Manage accounts, data sources, datasets, push data, and analyze datasets with Genie AI — all from the terminal.

Installation

npm install -g databox-cli

Getting Started

# Authenticate with your API key
databox auth login

# Verify your key works
databox auth validate

# List your accounts
databox account list

# Push data into a dataset
databox dataset ingest DATASET_ID --file data.json

Authentication

All commands (except auth login) require an API key. Run databox auth login to store your key in ~/.config/databox-cli/config.json.

You can also pass the key inline:

databox auth login --api-key YOUR_API_KEY

Output Formats

By default, commands output human-readable tables. Add --json to any command for machine-readable JSON output:

databox account list --json

Agent Skills

This package includes shareable skills for AI agents (like Claude Code) to use the CLI autonomously.

Bundled Skills

Skill Description
databox-auth Authentication setup and API key validation
databox-accounts Account discovery, timezones, resource listing
databox-data-sources Data source create, delete, and inspection
databox-datasets Dataset CRUD, schema definition, data ingestion, monitoring
databox-analyze Dataset analysis with Genie AI, conversational data Q&A

Install Skills

Install all skills at once using npx skills:

npx skills add databox/databox-cli --skill '*'

Or install individual skills:

npx skills add databox/databox-cli --skill databox-auth
npx skills add databox/databox-cli --skill databox-accounts
npx skills add databox/databox-cli --skill databox-data-sources
npx skills add databox/databox-cli --skill databox-datasets
npx skills add databox/databox-cli --skill databox-analyze

Once installed, Claude Code can manage your Databox resources directly — creating data sources, defining schemas, pushing data, monitoring ingestions, and analyzing datasets with Genie AI.

Commands

databox account data-sources ACCOUNTID

List data sources for a specific account

USAGE
  $ databox account data-sources ACCOUNTID [--json]

ARGUMENTS
  ACCOUNTID  The account ID to list data sources for

FLAGS
  --json  Output as JSON

DESCRIPTION
  List data sources for a specific account

EXAMPLES
  $ databox account data-sources 12345

  $ databox account data-sources 12345 --json

See code: src/commands/account/data-sources.ts

databox account datasets ACCOUNTID

List datasets for a specific account

USAGE
  $ databox account datasets ACCOUNTID [--json] [--page <value>] [--page-size <value>] [--type
    datasets|merged_datasets]

ARGUMENTS
  ACCOUNTID  The account ID to list datasets for

FLAGS
  --json               Output as JSON
  --page=<value>       Page number
  --page-size=<value>  Number of items per page
  --type=<option>      Filter by dataset type
                       <options: datasets|merged_datasets>

DESCRIPTION
  List datasets for a specific account

EXAMPLES
  $ databox account datasets 12345

  $ databox account datasets 12345 --type datasets

  $ databox account datasets 12345 --page 1 --page-size 20

  $ databox account datasets 12345 --json

See code: src/commands/account/datasets.ts

databox account list

List all accounts you have access to

USAGE
  $ databox account list [--json]

FLAGS
  --json  Output as JSON

DESCRIPTION
  List all accounts you have access to

EXAMPLES
  $ databox account list

  $ databox account list --json

See code: src/commands/account/list.ts

databox account timezones

List all supported timezones

USAGE
  $ databox account timezones [--json]

FLAGS
  --json  Output as JSON

DESCRIPTION
  List all supported timezones

EXAMPLES
  $ databox account timezones

  $ databox account timezones --json

See code: src/commands/account/timezones.ts

databox analyze ask-genie DATASETID QUESTION

Ask Genie AI a question about a dataset

USAGE
  $ databox analyze ask-genie DATASETID QUESTION [--json] [--service-url <value>] [--thread-id <value>]

ARGUMENTS
  DATASETID  The dataset ID to query
  QUESTION   The question to ask Genie

FLAGS
  --json                 Output as JSON
  --service-url=<value>  [default: https://agentic-service.databox.com, env: DATABOX_AGENTIC_SERVICE_URL] Override the
                         agentic service base URL
  --thread-id=<value>    Continue an existing conversation thread

DESCRIPTION
  Ask Genie AI a question about a dataset

EXAMPLES
  $ databox analyze ask-genie abc-123 "What are the top metrics?"

  $ databox analyze ask-genie abc-123 "Show trends" --thread-id tid-456

  $ databox analyze ask-genie abc-123 "Summarize data" --json

See code: src/commands/analyze/ask-genie.ts

databox auth login

Authenticate with Databox by providing your API key

USAGE
  $ databox auth login [--api-key <value>]

FLAGS
  --api-key=<value>  API key (if not provided, you will be prompted)

DESCRIPTION
  Authenticate with Databox by providing your API key

EXAMPLES
  $ databox auth login

  $ databox auth login --api-key YOUR_KEY

See code: src/commands/auth/login.ts

databox auth validate

Validate the currently stored API key

USAGE
  $ databox auth validate [--json]

FLAGS
  --json  Output as JSON

DESCRIPTION
  Validate the currently stored API key

See code: src/commands/auth/validate.ts

databox data-source create

Create a new data source

USAGE
  $ databox data-source create --title <value> [--json] [--account-id <value>] [--key <value>] [--timezone <value>]

FLAGS
  --account-id=<value>  Account ID to create the data source in
  --json                Output as JSON
  --key=<value>         Unique key for the data source
  --timezone=<value>    Timezone for the data source
  --title=<value>       (required) Title of the data source

DESCRIPTION
  Create a new data source

EXAMPLES
  $ databox data-source create --title "My Data Source"

  $ databox data-source create --title "My Data Source" --timezone "US/Eastern"

  $ databox data-source create --title "My Data Source" --account-id 12345 --key my_source --json

See code: src/commands/data-source/create.ts

databox data-source datasets DATASOURCEID

List datasets for a data source

USAGE
  $ databox data-source datasets DATASOURCEID [--json]

ARGUMENTS
  DATASOURCEID  ID of the data source

FLAGS
  --json  Output as JSON

DESCRIPTION
  List datasets for a data source

EXAMPLES
  $ databox data-source datasets 12345

  $ databox data-source datasets 12345 --json

See code: src/commands/data-source/datasets.ts

databox data-source delete DATASOURCEID

Delete a data source

USAGE
  $ databox data-source delete DATASOURCEID [--json] [--force]

ARGUMENTS
  DATASOURCEID  ID of the data source to delete

FLAGS
  --force  Skip confirmation prompt
  --json   Output as JSON

DESCRIPTION
  Delete a data source

EXAMPLES
  $ databox data-source delete 12345

  $ databox data-source delete 12345 --force

See code: src/commands/data-source/delete.ts

databox dataset create

Create a new dataset

USAGE
  $ databox dataset create --data-source-id <value> --title <value> [--json] [--primary-keys <value>...] [--schema
    <value>]

FLAGS
  --data-source-id=<value>   (required) ID of the data source to associate with
  --json                     Output as JSON
  --primary-keys=<value>...  Primary key column names
  --schema=<value>           JSON string of schema columns (array of {name, dataType})
  --title=<value>            (required) Title of the dataset

DESCRIPTION
  Create a new dataset

EXAMPLES
  $ databox dataset create --title "My Dataset" --data-source-id 123

  $ databox dataset create --title "My Dataset" --data-source-id 123 --primary-keys date --primary-keys campaign

  $ databox dataset create --title "My Dataset" --data-source-id 123 --schema '[{"name":"date","dataType":"datetime"},{"name":"value","dataType":"number"}]'

  $ databox dataset create --title "My Dataset" --data-source-id 123 --json

See code: src/commands/dataset/create.ts

databox dataset delete DATASETID

Delete a dataset

USAGE
  $ databox dataset delete DATASETID [--json] [--force]

ARGUMENTS
  DATASETID  The dataset ID to delete

FLAGS
  --force  Skip confirmation prompt
  --json   Output as JSON

DESCRIPTION
  Delete a dataset

EXAMPLES
  $ databox dataset delete abc-123

  $ databox dataset delete abc-123 --force

See code: src/commands/dataset/delete.ts

databox dataset get DATASETID

Get details of a specific dataset

USAGE
  $ databox dataset get DATASETID [--json]

ARGUMENTS
  DATASETID  The dataset ID to retrieve

FLAGS
  --json  Output as JSON

DESCRIPTION
  Get details of a specific dataset

EXAMPLES
  $ databox dataset get abc-123

  $ databox dataset get abc-123 --json

See code: src/commands/dataset/get.ts

databox dataset ingest DATASETID

Ingest data into a dataset

USAGE
  $ databox dataset ingest DATASETID [--json] [--file <value> | --records <value>]

ARGUMENTS
  DATASETID  The dataset ID to ingest data into

FLAGS
  --file=<value>     Path to a JSON file containing records array
  --json             Output as JSON
  --records=<value>  Inline JSON array of records

DESCRIPTION
  Ingest data into a dataset

EXAMPLES
  $ databox dataset ingest abc-123 --records '[{"date":"2024-01-01","value":42}]'

  $ databox dataset ingest abc-123 --file ./data.json

  cat data.json | databox dataset ingest abc-123

  $ databox dataset ingest abc-123 --records '[{"date":"2024-01-01","value":42}]' --json

See code: src/commands/dataset/ingest.ts

databox dataset ingestion DATASETID INGESTIONID

Get details of a specific ingestion

USAGE
  $ databox dataset ingestion DATASETID INGESTIONID [--json]

ARGUMENTS
  DATASETID    The dataset ID
  INGESTIONID  The ingestion ID to retrieve

FLAGS
  --json  Output as JSON

DESCRIPTION
  Get details of a specific ingestion

EXAMPLES
  $ databox dataset ingestion abc-123 ing-456

  $ databox dataset ingestion abc-123 ing-456 --json

See code: src/commands/dataset/ingestion.ts

databox dataset ingestions DATASETID

List ingestions for a dataset

USAGE
  $ databox dataset ingestions DATASETID [--json] [--page <value>] [--page-size <value>]

ARGUMENTS
  DATASETID  The dataset ID to list ingestions for

FLAGS
  --json               Output as JSON
  --page=<value>       Page number
  --page-size=<value>  Number of items per page

DESCRIPTION
  List ingestions for a dataset

EXAMPLES
  $ databox dataset ingestions abc-123

  $ databox dataset ingestions abc-123 --page 1 --page-size 20

  $ databox dataset ingestions abc-123 --json

See code: src/commands/dataset/ingestions.ts

databox dataset purge DATASETID

Purge all data from a dataset

USAGE
  $ databox dataset purge DATASETID [--json] [--force]

ARGUMENTS
  DATASETID  The dataset ID to purge data from

FLAGS
  --force  Skip confirmation prompt
  --json   Output as JSON

DESCRIPTION
  Purge all data from a dataset

EXAMPLES
  $ databox dataset purge abc-123

  $ databox dataset purge abc-123 --force

See code: src/commands/dataset/purge.ts

databox help [COMMAND]

Display help for databox.

USAGE
  $ databox help [COMMAND...] [-n]

ARGUMENTS
  [COMMAND...]  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for databox.

See code: @oclif/plugin-help

About

CLI for the Databox public API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors