POST /v1/data/query returns live metric values from one of a client’s connected data sources. It’s the same call that powers every chart and KPI widget in the app, exposed for your own automations.
This endpoint proxies to Oviond’s datasource service. It reads a data source the client has already connected in the app — it does not create or authorize connections. Connect a source in the project editor first.
Request
Response
data.current— the rows for the current range (one perdimensionsbucket, keyed by your metric and dimension identifiers).data.currentSummary— the totals across the current range.data.previous/data.previousSummary— the same for the comparison period, when you passprevious_start/previous_end(empty otherwise).data.state—ACTIVEwhen the connection returned data.
data_view.
Finding valid identifiers
The validdatasource_id, metrics, dimensions, and data_view values are all discoverable — you never have to guess. Walk the field catalog:
1. Find the datasource_id — list every datasource Oviond supports:
id as an entry in metrics / dimensions, and its data_view as data_view. Add ?data_view=ACCOUNT to scope the response to one view.
Three things in the response decide what you can combine:
data_view— a metric or dimension is only valid inside its own view. Mixing views in one query is rejected.required_advanced— advanced settings the view can’t run without (a Semrush region, a Mailchimp audience). Each entry names theadvancedkey and the message shown when it’s missing.- Field flags —
single(must be the only dimension),deprecated(retired by the vendor; still resolves, may return nothing) andcustom(a per-account definition, not part of the static catalog).
GET /v1/clients/{id}/datasources— which sources a specific client has connected.POST /v1/data/resource— selectable sub-resource values (campaigns, ad sets, videos) for filters.POST /v1/datasources/accounts— the accounts, properties or pages a connection can be linked to.