Loading...
Loading...
Manage models, datasets, columns, and relationships and query workspace storage with SQL using the Cargo CLI. Use when the user wants to inspect or modify data models, create or update columns, list datasets, set model relationships, understand the schema, or run SQL against storage.
npx skill4agent add getcargohq/cargo-skills cargo-storageSeefor full JSON response structures. Seereferences/response-shapes.mdfor common errors and how to fix them. Seereferences/troubleshooting.mdfor model CRUD, DDL inspection, and schema discovery examples. Seereferences/examples/models.mdfor dataset listing and navigation examples. Seereferences/examples/datasets.mdfor column creation and management examples. Seereferences/examples/columns.mdforreferences/examples/queries.md/storage query executeSQL examples (WHERE, aggregations, joins, pagination, exports).storage query download
npm install -g @cargo-ai/cli
cargo-ai login --oauth # browser sign-in (recommended)
# or: cargo-ai login --token <your-api-token> # workspace-scoped API token (non-interactive)
# Pin a default workspace at login (with --oauth)
cargo-ai login --oauth --workspace-uuid <uuid>cargo-ai whoaminpx @cargo-ai/clicargo-ai{"errorMessage": "..."}cargo-ai storage dataset list # all datasets (uuid, slug)
cargo-ai storage model list # all models (uuid, name, slug, columns)
cargo-ai storage model list --dataset-uuid <uuid> # models in a specific datasetapp.getcargo.io/workspaces/<WORKSPACE_UUID>/models/<MODEL_UUID><WORKSPACE_UUID>cargo-ai whoamiworkspace.uuidcargo-ai storage model list
cargo-ai storage model get <model-uuid>
cargo-ai storage model get-ddl <model-uuid>
cargo-ai storage dataset list
cargo-ai storage column list --model-uuid <uuid>
cargo-ai storage relationship list --model-uuid <uuid>
cargo-ai storage record list --model-uuid <uuid>
cargo-ai storage query execute "SELECT * FROM default.companies LIMIT 10"
cargo-ai storage query download --query "SELECT * FROM default.companies"# List all models
cargo-ai storage model list
# List models in a dataset
cargo-ai storage model list --dataset-uuid <uuid>
# Get a single model (includes columns)
cargo-ai storage model get <model-uuid>
# Get the DDL (full schema, table name and SQL dialect)
cargo-ai storage model get-ddl <model-uuid>
# → Useful for column discovery and SQL dialect (BigQuery vs Snowflake) before writing queries
# Create a model
cargo-ai storage model create \
--slug contacts \
--name "Contacts" \
--dataset-uuid <uuid> \
--extractor-slug <extractor-slug> \
--config '{}'
# Update a model
cargo-ai storage model update --uuid <model-uuid> --name "New Name"
# Remove a model
cargo-ai storage model remove <model-uuid>cargo-ai storage query execute "<sql>"storage query download --query "<sql>"<datasetSlug>.<modelSlug>default.companies# List all datasets
cargo-ai storage dataset list
# Get a single dataset
cargo-ai storage dataset get <dataset-uuid># List columns for a model
cargo-ai storage column list --model-uuid <uuid>
# Create a column
cargo-ai storage column create \
--model-uuid <uuid> \
--column '{"slug":"my_column","type":"string","label":"My Column","kind":"custom"}'
# Update a column (pass the full column object — columns are identified by slug, not UUID)
cargo-ai storage column update \
--model-uuid <uuid> \
--column '{"slug":"my_column","type":"string","label":"Updated Label","kind":"custom"}'
# Remove a column
cargo-ai storage column remove --model-uuid <uuid> --column-slug <slug>
# Reorder a column (move to a specific index)
cargo-ai storage column reorder --model-uuid <uuid> --column-slug <slug> --to-index 2stringnumberbooleandateobjectarrayvectoranycustomcomputedmetriclookup# List relationships for a model
cargo-ai storage relationship list --model-uuid <uuid>
# Set a relationship between two models
cargo-ai storage relationship set \
--from-model-uuid <uuid> \
--to-model-uuid <uuid># List records in a model
cargo-ai storage record list --model-uuid <uuid>segmentation segment fetchcargo-orchestrationstorage query execute<datasetSlug>.<modelSlug>default.companiescargo-ai storage query execute \
"SELECT name, domain FROM default.companies LIMIT 10"
# → { "rows": [...] } on success; non-zero exit with { "errorMessage": "..." } on errorstorage query downloadcargo-ai storage query download \
--query "SELECT name, domain, revenue FROM default.companies ORDER BY revenue DESC"
cargo-ai storage query download \
--query "SELECT * FROM default.companies" --format parquetstorage column list --model-uuid <uuid>storage model get-ddl <model-uuid>LIMITOFFSETreferences/examples/queries.md--helpcargo-ai storage model list --help
cargo-ai storage column create --help
cargo-ai storage relationship set --help
cargo-ai storage query execute --help
cargo-ai storage query download --help