Use npx @sentio/cli@latest for SQL, data queries, alerts, endpoints, and project management.
npx @sentio/cli@latest login --statusnpx @sentio/cli@latest login --api-key sentio data sql --project / --query "SELECT * FROM transfer LIMIT 10" sentio data sql --project / --query "..." --async sentio data sql --project / --result sentio data sql --project / --cursor sentio data sql --project / --file query.yaml --no-cache; control TTL with --cache-ttl-secs and --cache-refresh-ttl-secs --version sentio data events --project / sentio data metrics --project / sentio data query --project / --event Transfer --aggr total --group-by timestamp sentio data query --project / --metric burn --aggr avg --filter meta.chain=1 sentio data query --project / --price ETH --func 'topk(5)', --func 'delta(1m)'--start --limit --offset --timezone sentio data query --docsentio alert list --project / sentio alert get --project / sentio alert create --project / --type METRIC --subject "Burn spike" --metric burn --aggr avg --op '>' --threshold 100 sentio alert create --project / --type METRIC --subject "Transfer anomaly" --event Transfer --filter amount>0 --aggr total --func 'delta(1m)' --op '>' --threshold 100 sentio alert create --project / --type LOG --subject "Large transfers" --query 'amount:>1000' --op '>' --threshold 0 sentio alert create --project / --type SQL --subject "Alert" --query 'select timestamp, amount from transfer where amount > 1000' --time-column timestamp --value-column amount --sql-aggr MAX --op '>' --threshold 1000 sentio alert create --project / --file alert.yaml sentio alert update --project / --file updated.yaml sentio alert delete --project / --for 5m --interval 1m; between condition: --op between --threshold 10 --threshold2 100sentio alert create --docsentio endpoint create --project / --query "SELECT * FROM t WHERE amount > \${min}" --args '{"min":"int"}' sentio endpoint list --project / sentio endpoint get --project / --id sentio endpoint test --project / --id --args '{"min":1000}' sentio endpoint delete --project / --id sentio dashboard list --project / sentio dashboard create --project / --title "My Dashboard" sentio dashboard create --project / --file dashboard.json sentio dashboard export --project / sentio dashboard import --project / --file dashboard.json sentio dashboard import --project / --stdin sentio dashboard import --project / --file dashboard.json --override-layouts sentio dashboard add-panel --project / --panel-name "Top Holders" --type TABLE --sql "SELECT * FROM CoinBalance ORDER BY balance DESC LIMIT 50" sentio dashboard add-panel --project / --panel-name "Transfer Count" --type LINE --event Transfer --aggr total sentio dashboard add-panel --project / --panel-name "ETH Price" --type LINE --metric cbETH_price --filter amount>1000 --group-by meta.address --func 'topk(5)'--time-range-start -24h --time-range-end now --time-range-step 3600TABLE, LINE, BAR, PIE, QUERY_VALUE, AREA, BAR_GAUGE, SCATTERtotal, unique, AAU, DAU, WAU, MAUavg, sum, min, max, countWhen constructing or editing dashboard.json for import, refer to references/openapi.swagger.json for the full schema. Key structure:
{
"dashboardId": "<target-dashboard-id>",
"dashboardJson": {
"name": "My Dashboard",
"panels": {
"<panelId>": {
"id": "<panelId>",
"name": "Panel Name",
"chart": {
"type": "<ChartType>",
"datasourceType": "<DataSourceType>",
"sqlQuery": "SELECT ...", // for SQL panels
"queries": [...], // for metric/event panels
"formulas": [...],
"config": { ... }
}
}
},
"layouts": { ... }
},
"overrideLayouts": false
}
Chart.type values: TABLE, LINE, BAR, PIE, QUERY_VALUE, AREA, BAR_GAUGE, SCATTERChart.datasourceType: determines query shape — SQL panels use sqlQuery string; metric/event panels use queries arraypanels is a map keyed by panel ID; each panel contains a chart objectlayouts controls responsive grid placement; omit or set overrideLayouts: true to auto-arrangereferences/openapi.swagger.json definitions web_service.Dashboard, web_service.Panel, web_service.Chart, common.Query for complete field listssentio project listsentio project get / sentio project create --owner --name --type sentio --visibility private sentio project delete / sentio, subgraph, actionsentio processor status --project / sentio processor source --project / sentio processor activate-pending --project / sentio processor pause --project / --reason "maintenance" -y sentio processor resume --project / sentio processor stop --project / sentio processor logs --project / --limit 100 sentio processor logs --project / -f --log-type execution --level ERROR --query "timeout"sentio price get --coin ETH or --symbol ETH or --address 0x... --chain 1sentio price get --coin ETH --timestamp sentio price batch --file prices.yamlsentio price coinssentio price check-latestsentio simulation run --project / --file sim.yaml sentio simulation run-bundle --project / --chain-id --file bundle.yaml sentio simulation list --project / sentio simulation get --project / sentio simulation bundle --project / sentio simulation trace --project / --api-key or use saved credentials from sentio login.--token for bearer token auth.--json or --yaml for machine-readable output.--project / to target a project, or --owner + --name separately, or --project-id .--async then fetch with --result .$startTime/$endTime placeholders.references/openapi.swagger.json contains the full Sentio REST API spec — read it when constructing dashboard JSON payloads, debugging CLI calls, or building custom integrations. Key definitions for dashboards: web_service.ImportDashboardRequest, web_service.Dashboard, web_service.Panel, web_service.Chart, common.Query.共 1 个版本