Skip to content

Metrics API

List metrics

GET /v1/metrics
ParameterTypeRequiredDescription
searchstringnoSemantic search query
tagstringnoFilter by tag
bash
curl -H "Authorization: Bearer $KEY" \
  "https://api.onlymetrix.com/v1/metrics?search=revenue"

Returns { "metrics": [...] } with name, description, tags, filters, dimensions.

Query a metric

POST /v1/metrics/:name
ParameterTypeRequiredDescription
filtersobjectnoKey-value dimension filters
dimensionstringnoBreak results down by this column
granularitystringnoTime grain: day, week, month, quarter, year
limitintegernoMax rows (default 100)
bash
curl -X POST -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"filters": {"country": "United Kingdom"}, "dimension": "tier"}' \
  https://api.onlymetrix.com/v1/metrics/revenue_by

Response:

json
{
  "metric": "revenue_by",
  "columns": [{"name": "dimension", "type": "TEXT"}, {"name": "revenue_gbp", "type": "NUMERIC"}],
  "rows": [
    {"dimension": "enterprise", "revenue_gbp": 6892.0},
    {"dimension": "pro", "revenue_gbp": 371.0}
  ],
  "row_count": 2,
  "execution_time_ms": 12,
  "filters_applied": ["country = 'United Kingdom'"]
}

Errors:

CodeMeaning
404Metric not found
400Invalid filter or dimension
429Rate limit exceeded

Raw SQL query

POST /v1/query
ParameterTypeRequiredDescription
sqlstringyesSELECT query
limitintegernoMax rows (default 100, max 1000)

Only SELECT queries allowed. Results are PII-masked and audit-logged.

Disabled when policies.only_metrics = true.

Create a metric

POST /v1/setup/metrics
ParameterTypeRequiredDescription
namestringyesMetric identifier
sqlstringyesSQL query
descriptionstringyesHuman-readable description
tagsarraynoClassification tags
source_tablesarraynoTables for open filter validation
dimensionsbooleannoEnable open dimensions ($dimension placeholder)
ground_truth_sqlstringnoSQL for autoresearch scoring
filtersarraynoDeclared filter columns with types
time_columnstringnoTime column for time range filters

Delete a metric

DELETE /v1/setup/metrics/:name

Returns { "deleted": "metric_name" } or 404.

MIT Licensed (SDK) | Proprietary (Server)