From c1f21ffceb3a4c41b1a75441b8e464763e365ee9 Mon Sep 17 00:00:00 2001 From: Boris Ovcjak Date: Mon, 26 Oct 2026 09:35:10 +0100 Subject: [PATCH 1/2] =?UTF-8?q?feat:=201.1.0=20=E2=80=94=20metric=20data,?= =?UTF-8?q?=20dashboards,=20metric=20descriptions=20and=20merged=20dataset?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follows the Databox API 2.1: - metric data: read a metric's values over a date range, with dimensions and filters; syncInfo reports status, lastSyncedAt and message. - dashboard list / metrics / rename on /v2/dashboards. databoard list and databoard metrics use the new routes and are deprecated. - metric update --description sets a description; an empty value clears it. metric get shows it. - dataset list --type dataset|mergedDataset, with a Type column. - A 409 while a dataset modification is applied says when to retry. - Types follow the API contracts: dataset type, metric description, logicalOperators; hourly granularity is gone. Co-Authored-By: Claude Opus 5.5 (1M context) --- CHANGELOG.md | 11 +- README.md | 447 +++++++++++++++++------- package-lock.json | 4 +- package.json | 7 +- skills/databox-datasets/SKILL.md | 4 + skills/databox-metrics/SKILL.md | 49 ++- src/commands/dashboard/list.ts | 51 +++ src/commands/dashboard/metrics.ts | 99 ++++++ src/commands/dashboard/rename.ts | 38 ++ src/commands/databoard/list.ts | 52 +-- src/commands/databoard/metrics.ts | 97 +---- src/commands/dataset/list.ts | 10 + src/commands/metric/data.ts | 130 +++++++ src/commands/metric/drilldown.ts | 28 +- src/commands/metric/update.ts | 8 +- src/lib/api-client.ts | 13 +- src/lib/metric.ts | 25 ++ src/lib/types.ts | 17 + test/commands/dashboard/fixtures.ts | 57 +++ test/commands/dashboard/list.test.ts | 50 +++ test/commands/dashboard/metrics.test.ts | 34 ++ test/commands/dashboard/rename.test.ts | 79 +++++ test/commands/databoard/list.test.ts | 43 ++- test/commands/databoard/metrics.test.ts | 68 +--- test/commands/dataset/fixtures.ts | 1 + test/commands/dataset/list.test.ts | 32 +- test/commands/metric/data.test.ts | 285 +++++++++++++++ test/commands/metric/drilldown.test.ts | 2 +- test/commands/metric/fixtures.ts | 4 + test/commands/metric/get.test.ts | 2 + test/commands/metric/update.test.ts | 22 ++ test/e2e/README.md | 17 +- test/e2e/dashboard.e2e.ts | 155 ++++++++ test/e2e/databoard.e2e.ts | 16 +- test/e2e/dataset.e2e.ts | 55 ++- test/e2e/metric.e2e.ts | 88 +++++ test/helpers.ts | 4 +- test/lib/api-client.test.ts | 36 ++ test/validation/json-flags.test.ts | 6 + test/validation/metric-ids.test.ts | 1 + test/validation/resource-ids.test.ts | 2 + 41 files changed, 1770 insertions(+), 379 deletions(-) create mode 100644 src/commands/dashboard/list.ts create mode 100644 src/commands/dashboard/metrics.ts create mode 100644 src/commands/dashboard/rename.ts create mode 100644 src/commands/metric/data.ts create mode 100644 test/commands/dashboard/fixtures.ts create mode 100644 test/commands/dashboard/list.test.ts create mode 100644 test/commands/dashboard/metrics.test.ts create mode 100644 test/commands/dashboard/rename.test.ts create mode 100644 test/commands/metric/data.test.ts create mode 100644 test/e2e/dashboard.e2e.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 66fc386..5c46bb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,14 @@ # Changelog -## 1.0.1 - +## 1.1.0 + +- **New: `metric data`** loads a metric's values over a date range (`--from`, `--to`, `--granularity daily|weekly|monthly|quarterly|yearly|allTime`), optionally broken down with `--dimension-id` and filtered with `--filters`. It works for every kind of metric, including integration metrics (pass `--source-id` for those). The platform may sync the metric first, so a first call can take about two minutes; a `Sync:` line on stderr, or `syncInfo` (`{status, lastSyncedAt, message}`) in `--json`, says how current the values are. See [Reading Metric Values](https://github.com/databox/databox-cli#reading-metric-values). +- **New: `dashboard` commands.** `dashboard list`, `dashboard metrics DASHBOARDID` and `dashboard rename DASHBOARDID --name`, which renames a dashboard (an Admin or Editor any dashboard they can see, a User one they created). See [Dashboards](https://github.com/databox/databox-cli#dashboards). +- **Deprecated: `databoard list` and `databoard metrics`.** They keep working, with the same output as `dashboard list` and `dashboard metrics`, and print a deprecation warning on stderr. They will be removed in a future major version; switch scripts to `dashboard`. +- **Metric descriptions.** `metric get` shows a metric's description, and `metric list --json` and `metric get --json` carry it as `description` (`null` when there is none). `metric update --description` sets it on a dataset-based custom metric, and `--description ""` clears it. See [Metric Descriptions](https://github.com/databox/databox-cli#metric-descriptions). +- **Merged datasets.** `dataset list --type mergedDataset` lists merged datasets (`--type dataset`, the default, lists the others). Datasets now report their `type` in `--json` and in a Type column of `dataset list`; a merged dataset has no data source. +- **Errors show when to retry.** When the API sends `Retry-After`, the error adds a `Retry after N s` line. That covers `429 rate_limited` and `409 modification_in_progress`, which dataset reads and metric commands return for a few seconds after a dataset modification is saved. The CLI does not retry by itself. See [Errors and Exit Codes](https://github.com/databox/databox-cli#errors-and-exit-codes). +- **`metric get` lists no `hourly` granularity** any more, as the API no longer offers it for metrics; `metric data` does not accept it. - **A request ID on every request, and in every error.** The CLI sends its own `x-request-id` with each request. Every error now shows a Request ID, including a bare `413` or `502` from a proxy, a network failure and a timeout; where no response came back, it is the CLI's own ID, and still the one to quote to support. A timed-out `dataset ingest` may still have been processed: check `dataset ingestions`. See [Errors and Exit Codes](https://github.com/databox/databox-cli#errors-and-exit-codes). - **User-Agent.** Requests identify themselves as `databox-cli/ (node ; )`. - **Ingest payload limit corrected to 10 MB** (10,485,760 bytes), what the API accepts. 1.0.0 allowed 30 MB, so a payload between the two was sent and then refused by the API with `413`; the CLI now refuses it before sending (exit 2). diff --git a/README.md b/README.md index fac5776..4d95c70 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # databox-cli -Command-line interface for the [Databox](https://databox.com) API. Manage data sources, datasets and the data in them, custom metrics, databoards, users, your organization and its accounts, connections and billing — from the terminal, from scripts, or through an AI agent. Running it from a script or an agent? Read [Scripts and AI Agents](#scripts-and-ai-agents) first. +Command-line interface for the [Databox](https://databox.com) API. Manage data sources, datasets and the data in them, custom metrics, dashboards, users, your organization and its accounts, connections and billing — from the terminal, from scripts, or through an AI agent. Running it from a script or an agent? Read [Scripts and AI Agents](#scripts-and-ai-agents) first. -Version 1.0 targets the Databox V2 API. Upgrading from 0.x? The [1.0.0 migration guide](https://github.com/databox/databox-cli/blob/main/CHANGELOG.md) lists every renamed command and flag. +Since 1.0, the CLI targets the Databox V2 API. Upgrading from 0.x? The [1.0.0 migration guide](https://github.com/databox/databox-cli/blob/main/CHANGELOG.md) lists every renamed command and flag. ## Installation @@ -25,6 +25,7 @@ A **data source** holds **datasets**. You push rows into a dataset, then build c |---|---|---| | Datetime values in ingested records | ISO 8601 | `"2026-01-15"`, `"2026-01-15T10:30:00Z"` | | `metric drilldown --start-timestamp` / `--end-timestamp` | Unix seconds | `1767225600` (2026-01-01 00:00 UTC). Convert with `date -u -d 2026-01-01 +%s` (Linux) or `date -u -j -f '%F %T' '2026-01-01 00:00:00' +%s` (macOS) | +| `metric data --from` / `--to` | Date, `YYYY-MM-DD` | `2026-06-30`. Both days are included. | | `activity-log list --date-from` / `--date-to` | Date, `YYYY-MM-DD` | `2026-01-31`. A bare date means the start of that day (UTC), so `--date-to 2026-01-31` leaves out most of the 31st; pass `--date-to 2026-02-01` to include it | ### Finding IDs @@ -34,13 +35,49 @@ Most commands take the ID of a data source, a dataset or a metric. Every one of | ID | What it is | Where to find it | |---|---|---| | Data source ID | A number, e.g. `12345`. The container your datasets live in. | `databox data-source list`; `id` from `data-source create`. In the Databox app, open the data source in **Data Manager**: the number in the page URL, `app.databox.com/data-manager/connected/12345/datasets/view`, is its ID. | -| Dataset ID | A number, e.g. `67890`. Each dataset has its own ID, separate from its data source's. | `databox dataset list --search "Orders"`, or `databox data-source datasets 12345` for one data source's datasets; `id` from `dataset create`. In the Databox app, open the dataset in **Data Manager** and read the number from the URL, as above. | +| Dataset ID | A number, e.g. `67890`. Each dataset has its own ID, separate from its data source's. | `databox dataset list --search "Orders"`, or `databox data-source datasets 12345` for one data source's datasets; `id` from `dataset create`. Merged datasets are listed with `databox dataset list --type mergedDataset`; they belong to no data source. In the Databox app, open the dataset in **Data Manager** and read the number from the URL, as above. | | Metric ID | A string: `\|`, e.g. `12345\|custom_query_100`. | `databox metric list --search revenue`; `id` from `metric create`. Quote it in the shell. | | Ingestion ID | A UUID. One ingest request, not a dataset. | Returned as `ingestionId` by `dataset ingest`; `databox dataset ingestions DATASETID` lists them. | +| Dashboard ID | A number, e.g. `54321`. | `databox dashboard list --search "Marketing"`. | | Account ID | A number. An account your organization manages, for `--account-id`. | `databox account list`. | Data source and dataset IDs share one ID space, so a number names exactly one of them: pass a dataset ID to `dataset` commands and a data source ID to `data-source` commands. The dataset GUIDs that 0.x used (`a1b2c3d4-e5f6-…`) are not accepted; look the dataset up by name with `databox dataset list --search`. +### Reading Metric Values + +`metric data` returns a metric's values over a date range, one per `--granularity` bucket, for any metric: integration, custom, calculated or pushed. An integration metric's ID names no source, so pass `--source-id` (its `sourceId` in `metric list`). + +```bash +databox metric data --metric-id "67890|custom_query_100" --from 2026-06-01 --to 2026-06-30 --granularity daily +databox metric data --metric-id "GoogleAnalytics4@sessions" --source-id 12345 \ + --from 2026-01-01 --to 2026-06-30 --granularity monthly --dimension-id country --json +``` + +The platform may sync the metric before reading it, so the first call on a metric that has never synced can take about two minutes. After the table or CSV, a `Sync: — ` line on stderr says how current the values are; `--json` returns it as `syncInfo` (`{status, lastSyncedAt, message}`), beside `metric` and `dataPoints`. + +| Status | What to do | +|---|---| +| `synced` | This call synced the metric. Use the values. | +| `skipped` | No sync was needed; the values are stored data, current as of `lastSyncedAt`. Use them. Calling again sooner does not sync. | +| `inProgress` | A sync is running, so values may be missing or stale. Call again in about a minute. | +| `neverSynced` | The metric has not synced yet, so values may be empty. Call again shortly. | +| `failed` | The metric's last sync failed; the values are what was stored before. Fix the data source, such as its connection, then call again. | +| Any other | The values may not be current. | + +A `null` value in a bucket means it has no data. `syncInfo` is `null`, and the stderr line reads `Sync: unknown`, for a metric that never syncs, such as a constant. + +A `504 service_unavailable` ("The metric is still syncing") means the sync outlived the API's 150 seconds; it carries on, so retry shortly. `metric data` allows 30 calls per account per minute; over it you get `429 rate_limited` with a `Retry after N s` line: wait that long. For a metric on a dataset whose modification is still being applied, see [Errors and Exit Codes](#errors-and-exit-codes). + +### Metric Descriptions + +`metric get` shows a metric's description, and `metric list --json` and `metric get --json` return it as `description` (`null` when there is none). `metric update METRICID --description "…"` sets it on a dataset-based custom metric, and `--description ""` clears it. `metric create` takes no description: set it with `metric update` afterwards. The `metric update` output shows the change at once; `metric get` and `metric list` can take a few seconds to catch up. + +### Dashboards + +`dashboard list` lists your dashboards, `dashboard metrics DASHBOARDID` shows the metrics on each of a dashboard's datablocks, with their dimensions, date range and filters, and `dashboard rename DASHBOARDID --name "…"` renames one. An Admin or Editor can rename any dashboard they can see, a User only one they created. + +`databoard list` and `databoard metrics` are deprecated: they still work, return the same output as their `dashboard` equivalents, and print a deprecation warning on stderr. They will be removed in a future major version, so switch scripts to `dashboard`. + ## Getting Started A complete run, from an empty organization to a metric's rows. It uses [jq](https://jqlang.org) to capture each new ID; without jq, copy the ID from the command's table output. @@ -136,6 +173,7 @@ The API applies the Databox app's role rules. Your role (Admin, User, Editor or | `user invite` | Anyone. A non-admin can invite only with the `user` role. | | `connection update`, `connection set-permissions` | An admin, or the user who owns the connection | | `connection delete` | The user who owns the connection | +| `dashboard rename` | An Admin or Editor, for any dashboard they can see; a User, for one they created | Connections follow the app's sharing rules: @@ -166,7 +204,7 @@ One exception: `auth login` takes only `--api-key` (and `--api-url`); `--json` a ### List Flags -Commands that return a list page by page also take these. `metric dimension-values`, `organization timezones`, `organization countries` and `databoard metrics` return everything at once and take none of them. +Commands that return a list page by page also take these. `metric dimension-values`, `organization timezones`, `organization countries` and `dashboard metrics` return everything at once and take none of them. | Flag | Description | |------|-------------| @@ -202,7 +240,8 @@ Several flags take JSON. Quote it in single quotes. Each command's `--help` has | `dataset ingest --records`, `--file`, stdin | A bare array of row objects, keyed by column `id`. `'[{"order_id":"A-1","amount":42}]'` | | `metric create` / `update` `--measure`, `--date`, `--dimension` | A column reference. `'{"id":"amount","displayName":"Amount"}'` | | `metric create` / `update` `--filters` | One group of conditions, lower-case `logicalOperator`, values as strings. `'{"logicalOperator":"and","conditions":[{"field":"country","operator":"ANY_OF","values":["US"]}]}'` | -| `metric drilldown --filters` | **A different shape**: upper-case, nested `groups`, each condition with a `type`. Copy it from `databoard metrics --json`. `'{"logicalOperator":"AND","groups":[{"logicalOperator":"AND","conditions":[{"type":"dimension","field":"country","operator":"ANY_OF","values":["US"]}]}]}'` | +| `metric data --filters` | One flat group: `logicalOperator` `AND` or `OR`, each condition with a `type` (`dimension` or `unit`) and a `field`. Operators: `ANY_OF`, `NONE_OF`, `EQ`, `NEQ`, `CONTAINS`, `NOT_CONTAINS`; operators are case-insensitive, so `"and"` as `metric get` shows it works too. `'{"logicalOperator":"AND","conditions":[{"type":"dimension","field":"country","operator":"ANY_OF","values":["US"]}]}'` | +| `metric drilldown --filters` | **A different shape**: upper-case, nested `groups`, each condition with a `type`. Copy it from `dashboard metrics --json`. `'{"logicalOperator":"AND","groups":[{"logicalOperator":"AND","conditions":[{"type":"dimension","field":"country","operator":"ANY_OF","values":["US"]}]}]}'` | | `dataset update-modification` / `preview-modification` `--data` | Any of `filters`, `formulas`, `displayNames`, `dataTypes`, `order`, `visibility`. `update-modification` replaces the whole definition, so start from `dataset modifications ID --json`. `'{"formulas":{"totalWithTax":"$amount * 1.2"},"displayNames":{"amount":"Revenue"}}'` | | `dataset set-column-metadata --columns` | Array of `{id, description?, conceptType?, synonyms?}`. `'[{"id":"country","conceptType":"dimension","synonyms":["nation"]}]'` | | `organization update --settings` | `{dateFormat, numberFormat, firstDayOfWeek, calendar, fiscalYearStart}`. `'{"calendar":"customFiscal","fiscalYearStart":{"month":4,"day":1}}'` | @@ -227,7 +266,7 @@ databox dataset data 67890 --all --output csv > orders.csv What `--json` prints: - **Lists** print a JSON array of the items, each exactly as the API returned it. With `--all`, the array holds every page; without it, only the first (see [List Flags](#list-flags)). -- **Responses that carry more than a list** print the whole response object: `dataset schema` (`{items, primaryKey}`), `dataset data` (`{items, pagination, schema, lastUpdatedAt}`), `dataset preview-modification` and `metric drilldown` (`{items, schema, pagination}`), `dataset lineage` and `metric lineage` (`{parents, children}`), `metric dimension-values`, `dataset modifications`, `dataset modification-rules` and `databoard metrics`. A command's `--help` says when `--json` returns the whole response. Under `--all`, `dataset data` and `metric drilldown` leave out `pagination`. +- **Responses that carry more than a list** print the whole response object: `dataset schema` (`{items, primaryKey}`), `dataset data` (`{items, pagination, schema, lastUpdatedAt}`), `dataset preview-modification` and `metric drilldown` (`{items, schema, pagination}`), `metric data` (`{metric, dataPoints, syncInfo}`), `dataset lineage` and `metric lineage` (`{parents, children}`), `metric dimension-values`, `dataset modifications`, `dataset modification-rules` and `dashboard metrics`. A command's `--help` says when `--json` returns the whole response. Under `--all`, `dataset data` and `metric drilldown` leave out `pagination`. - **Single resources** print the object the API returned. - **`metric create` and `metric update`** print the metric as `metric get` does, in every format. - **`set-timezone`, `set-sync-frequency` and `set-verification`** print a one-line confirmation in table mode, and the updated resource with `--json` or `--output csv`. Every other `set-*` command prints what the API returned in every format: the updated resource, or for `dataset set-column-metadata` the dataset's columns. @@ -246,7 +285,8 @@ Stdout carries only the result. Pagination footers appear in table mode only, an | Columns per dataset | 100 | | Dataset size | Set per dataset: `maxSize` in `dataset get`. | | Rate limit, per API key | 10 requests per second, 10,000 per hour, enforced by Databox's gateway. Over it you get HTTP 429 (exit 1), possibly with no error code: back off and retry, with `--idempotency-key` on writes. | -| Request timeout | 30 seconds, or 5 minutes for `dataset ingest` (exit 2). | +| Rate limit, `metric data` | 30 calls per account per minute, on top of the gateway's limit. Over it you get `429 rate_limited` with a `Retry after N s` line (exit 1). | +| Request timeout | 30 seconds, 170 seconds for `metric data`, or 5 minutes for `dataset ingest` (exit 2). | With a primary key (`dataset create --primary-key`), ingesting a row whose key already exists overwrites it. Without one, every ingest appends, so sending the same rows twice duplicates them. @@ -272,6 +312,15 @@ Every error shows a Request ID, including a network failure or a timeout, where A timed-out `dataset ingest` may still have been processed: check `databox dataset ingestions DATASETID` before sending it again. +When the API says when to retry, with a `Retry-After` header, the error adds a `Retry after N s` line. It comes with `429 rate_limited` and with `409 modification_in_progress`, which reads and metric commands on a dataset (`dataset data`, `dataset schema`, `metric create`, `metric update`, `metric data`, `metric drilldown` and others) return for a few seconds after a dataset modification is saved, while it is applied. Wait that long and run the same command again; the CLI does not retry by itself. `409 modification_failed` means the modification could not be applied, and retrying will not help: save it again with `dataset update-modification`, or remove it with `dataset clear-modifications`. + +``` + › Error: modification_in_progress + › The dataset's modification is being applied. Retry in a few seconds. + › Retry after 5 s + › Request ID: 3c63e510-276f-4541-9c66-8c00161fda82 +``` + | Exit code | Meaning | |-----------|---------| | `0` | Success. Answering anything but `y` or `yes` to a confirmation prompt, at a terminal or piped, also exits 0 after printing `Aborted.`. | @@ -321,7 +370,7 @@ This package includes skills that let AI agents (like [Claude Code](https://clau | `databox-organization` | Organization info, usage, settings, timezones | | `databox-data-sources` | Data source CRUD, timezone, sync frequency, permissions, purge | | `databox-datasets` | Dataset CRUD, schema, data ingestion, metadata, verification, modifications, lineage | -| `databox-metrics` | Custom metric CRUD, dimension values, drilldown, lineage, usages, verification | +| `databox-metrics` | Metric values over time, custom metric CRUD, dimension values, drilldown, lineage, usages, verification | | `databox-users` | User invites, roles, removal | | `databox-accounts` | Managing the accounts in your organization | | `databox-connections` | Connection management and permissions | @@ -374,6 +423,9 @@ Once installed, Claude Code can manage your Databox resources directly — your * [`databox connection permissions CONNECTIONID`](#databox-connection-permissions-connectionid) * [`databox connection set-permissions CONNECTIONID`](#databox-connection-set-permissions-connectionid) * [`databox connection update CONNECTIONID`](#databox-connection-update-connectionid) +* [`databox dashboard list`](#databox-dashboard-list) +* [`databox dashboard metrics DASHBOARDID`](#databox-dashboard-metrics-dashboardid) +* [`databox dashboard rename DASHBOARDID`](#databox-dashboard-rename-dashboardid) * [`databox data-source create`](#databox-data-source-create) * [`databox data-source datasets DATASOURCEID`](#databox-data-source-datasets-datasourceid) * [`databox data-source delete DATASOURCEID`](#databox-data-source-delete-datasourceid) @@ -387,7 +439,7 @@ Once installed, Claude Code can manage your Databox resources directly — your * [`databox data-source sync-frequency-options DATASOURCEID`](#databox-data-source-sync-frequency-options-datasourceid) * [`databox data-source update DATASOURCEID`](#databox-data-source-update-datasourceid) * [`databox databoard list`](#databox-databoard-list) -* [`databox databoard metrics DATABOARDID`](#databox-databoard-metrics-databoardid) +* [`databox databoard metrics DASHBOARDID`](#databox-databoard-metrics-dashboardid) * [`databox dataset clear-modifications DATASETID`](#databox-dataset-clear-modifications-datasetid) * [`databox dataset column-metadata DATASETID`](#databox-dataset-column-metadata-datasetid) * [`databox dataset create`](#databox-dataset-create) @@ -425,6 +477,7 @@ Once installed, Claude Code can manage your Databox resources directly — your * [`databox integration get INTEGRATIONID`](#databox-integration-get-integrationid) * [`databox integration list`](#databox-integration-list) * [`databox metric create`](#databox-metric-create) +* [`databox metric data`](#databox-metric-data) * [`databox metric delete METRICID`](#databox-metric-delete-metricid) * [`databox metric dimension-values`](#databox-metric-dimension-values) * [`databox metric drilldown`](#databox-metric-drilldown) @@ -483,7 +536,7 @@ EXAMPLES $ databox account create --name "Acme Inc" --json ``` -_See code: [src/commands/account/create.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/account/create.ts)_ +_See code: [src/commands/account/create.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/account/create.ts)_ ## `databox account delete ACCOUNTID` @@ -513,7 +566,7 @@ EXAMPLES $ databox account delete 12345 --force ``` -_See code: [src/commands/account/delete.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/account/delete.ts)_ +_See code: [src/commands/account/delete.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/account/delete.ts)_ ## `databox account get ACCOUNTID` @@ -542,7 +595,7 @@ EXAMPLES $ databox account get 12345 --json ``` -_See code: [src/commands/account/get.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/account/get.ts)_ +_See code: [src/commands/account/get.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/account/get.ts)_ ## `databox account list` @@ -580,7 +633,7 @@ EXAMPLES $ databox account list --json ``` -_See code: [src/commands/account/list.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/account/list.ts)_ +_See code: [src/commands/account/list.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/account/list.ts)_ ## `databox account update ACCOUNTID` @@ -615,7 +668,7 @@ EXAMPLES $ databox account update 12345 --name "New Name" --json ``` -_See code: [src/commands/account/update.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/account/update.ts)_ +_See code: [src/commands/account/update.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/account/update.ts)_ ## `databox activity-log list` @@ -658,7 +711,7 @@ EXAMPLES $ databox activity-log list --json ``` -_See code: [src/commands/activity-log/list.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/activity-log/list.ts)_ +_See code: [src/commands/activity-log/list.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/activity-log/list.ts)_ ## `databox auth login` @@ -682,7 +735,7 @@ EXAMPLES pass show databox | databox auth login ``` -_See code: [src/commands/auth/login.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/auth/login.ts)_ +_See code: [src/commands/auth/login.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/auth/login.ts)_ ## `databox auth validate` @@ -708,7 +761,7 @@ EXAMPLES $ databox auth validate --json ``` -_See code: [src/commands/auth/validate.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/auth/validate.ts)_ +_See code: [src/commands/auth/validate.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/auth/validate.ts)_ ## `databox billing info` @@ -734,7 +787,7 @@ EXAMPLES $ databox billing info --json ``` -_See code: [src/commands/billing/info.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/billing/info.ts)_ +_See code: [src/commands/billing/info.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/billing/info.ts)_ ## `databox billing invoices` @@ -764,7 +817,7 @@ EXAMPLES $ databox billing invoices --json ``` -_See code: [src/commands/billing/invoices.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/billing/invoices.ts)_ +_See code: [src/commands/billing/invoices.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/billing/invoices.ts)_ ## `databox connection delete CONNECTIONID` @@ -794,7 +847,7 @@ EXAMPLES $ databox connection delete 12345 --force ``` -_See code: [src/commands/connection/delete.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/connection/delete.ts)_ +_See code: [src/commands/connection/delete.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/connection/delete.ts)_ ## `databox connection get CONNECTIONID` @@ -825,7 +878,7 @@ EXAMPLES $ databox connection get 12345 --json ``` -_See code: [src/commands/connection/get.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/connection/get.ts)_ +_See code: [src/commands/connection/get.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/connection/get.ts)_ ## `databox connection list` @@ -861,7 +914,7 @@ EXAMPLES $ databox connection list --json ``` -_See code: [src/commands/connection/list.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/connection/list.ts)_ +_See code: [src/commands/connection/list.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/connection/list.ts)_ ## `databox connection permissions CONNECTIONID` @@ -892,7 +945,7 @@ EXAMPLES $ databox connection permissions 12345 --json ``` -_See code: [src/commands/connection/permissions.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/connection/permissions.ts)_ +_See code: [src/commands/connection/permissions.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/connection/permissions.ts)_ ## `databox connection set-permissions CONNECTIONID` @@ -934,7 +987,7 @@ EXAMPLES $ databox connection set-permissions 12345 --access-level selectedUsers --access-list 31 --no-shared-with-accounts ``` -_See code: [src/commands/connection/set-permissions.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/connection/set-permissions.ts)_ +_See code: [src/commands/connection/set-permissions.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/connection/set-permissions.ts)_ ## `databox connection update CONNECTIONID` @@ -964,7 +1017,106 @@ EXAMPLES $ databox connection update 12345 --name "New Name" --json ``` -_See code: [src/commands/connection/update.ts](https://github.com/databox/databox-cli/blob/v1.0.1/src/commands/connection/update.ts)_ +_See code: [src/commands/connection/update.ts](https://github.com/databox/databox-cli/blob/v1.1.0/src/commands/connection/update.ts)_ + +## `databox dashboard list` + +List dashboards + +``` +USAGE + $ databox dashboard list [--no-color] [--output table|json|csv | --json] [--verbose] [--all | --page ] + [--page-size ] [--search ] + +FLAGS + --all Fetch every page (100 items per request unless --page-size is given) and print them as one list + --json Output as JSON (shorthand for --output json) + --no-color Disable coloured output (a non-empty NO_COLOR environment variable does the same) + --output=