Run an analytics query
The ONE read door for all event-derived analytics — choose a named query from the catalog and pass its params; the tenant is auto-scoped (you can never read another org). Returns flat rows + a count. Covers activity feeds, message/person event traces, time-series, campaign funnels, sender & inbox-provider health, A/B performance, warmup placement, and DMARC rollups. The query field documents the full catalog and which params each one takes.
Authorizations
Org-scoped Norbelys API key. Create one in Settings → API keys and send it as Authorization: Bearer ak_….
Headers
Opt-in idempotency for a safely retried write: reuse the same key to replay the original result for 24h instead of re-executing. Recommended on every POST.
255Body
The named query to run. Catalog (query — what it returns; key params): activity_feed — account-wide event feed (sent/open/click/reply/bounce); filter/search/page. agent_trace — the AI assistant's per-turn action trace (tools, durations, outcomes); params.thread optional. message_events — every event for one outbound message; needs params.activity. contact_events — one person's engagement history; needs params.person. events_timeseries — event counts bucketed by time. program_funnel — engagement funnel (sent→delivered→opened→replied), one row; params.program for one campaign, else the whole account. program_funnels — the same funnel grouped per campaign (one row per program_id). sender_breakdown — per-mailbox breakdown within a campaign; params.program. sender_health — mailbox deliverability rollup (7d); params.sender. variant_performance — A/B arm performance per step; params.program. provider_breakdown — outcomes by the sending transport (SMTP / managed API…). deliverability_summary — account deliverability headline over a window. inbox_providers — outcomes by the recipient's inbox provider (Gmail/Microsoft/Yahoo…). warmup_placement — inbox-vs-spam placement for one mailbox; params.sender. dmarc_summary — DMARC pass/fail rollup; needs params.domain. dmarc_sources — DMARC failure sources (IPs/services); needs params.domain. dmarc_reports — ingested DMARC aggregate reports; params.domain optional (omit for account-wide). dmarc_receivers — DMARC reporters (receivers) rollup; params.domain optional. dmarc_geo — DMARC volume by source network country; params.domain optional. open_quality_timeseries — daily opens by human-vs-machine verdict; params.program/params.sender optional. engagement_heatmap — engagement density by weekday × hour (best send time). clicks_by_country — real click engagement by recipient country. spam_placement — graded spam-placement verdict per sender. delivery_authentication — sent vs DMARC-reported (passed/quarantined/rejected) per domain.
activity_feed, agent_trace, message_events, contact_events, events_timeseries, program_funnel, program_funnels, sender_breakdown, sender_health, variant_performance, provider_breakdown, deliverability_summary, inbox_providers, warmup_placement, warmup_placement_by_provider, dmarc_summary, dmarc_sources, dmarc_reports, dmarc_receivers, dmarc_geo, open_quality_timeseries, engagement_heatmap, clicks_by_country, spam_placement, delivery_authentication "program_funnel"
Query parameters; each query reads the subset it supports.