Get the getting-started checklist
Server-derived 9-step getting-started checklist (verify email, create + name the workspace, add a payment method, receive the trial credit, buy a number, send a message, add a contact, and build a campaign/agent/invite). Each step reports completed, completedAt, and whether completion came from the platform’s own probes (system) or a manual override (user), plus the next incomplete step for the resume banner. Poll this to render or hide the dashboard checklist — responses are cached 60s per (org, user) and degrade to an all-incomplete 200 when the backend is briefly unavailable, so the UI never throws on a transient miss.
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
Checklist payload in the standard { data, meta } envelope: data.steps[] with per-step id, label, description, ctaUrl, completed, completedAt, completedBy ('system' or 'user'), plus totalCount, completedCount, complete, completedAt, overallPct (0–100), and nextIncompleteStep ({ id, label, ctaUrl } or null).
Checklist payload in the standard { data, meta } envelope: data.steps[] with per-step id, label, description, ctaUrl, completed, completedAt, completedBy ('system' or 'user'), plus totalCount, completedCount, complete, completedAt, overallPct (0–100), and nextIncompleteStep ({ id, label, ctaUrl } or null).