Get the compliance status timeline
Aggregated self-service verification timeline across account KYC, US 10DLC brands + campaigns, per-country compliance profiles, and per-number compliance state. Each row reports a folded state (pending / in_review / approved / rejected / not_applicable), submitted and updated timestamps, a documented SLA + computed ETA when the underlying service defines one (KYC only: 24h), the current blocker line, and a deep-link resolveUrl to fix it. Use it to power one where-verification-is-stuck view instead of polling five services; cached 60s per org.
Authorizations
Dashboard JWT token from Clerk
Headers
Sandbox opt-in for Clerk-session-authenticated requests. Set to true to route the call through the test-mode pipeline: no real provider delivery, no credits deducted, response meta.test_mode: true. Ignored for live API keys (dv_live_sk_*) — server-to-server clients must use a test-prefixed key (dv_test_sk_*) to exercise sandbox. Test-prefixed keys unconditionally enable sandbox regardless of this header.
true, false Response
Timeline payload in the standard { data, meta } envelope: data.steps[] rows with id (kind:scope), kind, label, state, updatedAt, submittedAt, sla ({ hours, label }), etaAt, blocker, resolveUrl, reviewer; plus data.counts ({ total, approved, in_review, rejected, pending }) and data.computedAt (ISO).
Timeline payload in the standard { data, meta } envelope: data.steps[] rows with id (kind:scope), kind, label, state, updatedAt, submittedAt, sla ({ hours, label }), etaAt, blocker, resolveUrl, reviewer; plus data.counts ({ total, approved, in_review, rejected, pending }) and data.computedAt (ISO).