DOCS · v3.4

Connect your accounts. Configure the brief. Ship it before lunch.

Everything you need to wire Spectra into your stack — from a fresh OAuth handshake to a self-hosted webhook receiver. If you can read a YAML file, you can be in production by 2 PM.

QUICKSTART · 12 MINUTES

From zero to your first daily brief.

01 CONNECT

OAuth your ad & analytics accounts

Workspace admins click through Google Ads, Meta, GA4, and your CRM. Most workspaces are wired up in under four minutes. No code yet.

# or use the CLI
spectra accounts:add
  --platform google_ads
  --id 123-456-7890
→ Read the OAuth guide
02 CONFIGURE

Pick the metrics that matter to you

Set your house thresholds for ROAS, CPA, pacing. Tell Spectra what counts as a “break”, a “watch”, and a “win” — these become the brief’s vocabulary.

# thresholds.yml
roas: { break: 1.0, watch: 2.0 }
pacing: { break: 25, watch: 12 }
→ Configure thresholds
03 SUBSCRIBE

Pick a delivery channel

Email, Slack, PDF, or all three. Brief is generated at 7:30 AM in your workspace timezone. Add teammates with one click; client-share lives in the account view.

# subscribe via API or UI
POST /v1/briefs/subscribe
{ "channel": "slack", "time": "07:30" }
→ Delivery options
POPULAR TOPICS

Where most people start.

Ten percent of the docs covers eighty percent of the questions. These are the pages new workspaces read first — and the ones we keep most polished.

Workspaces & teams

Structure your workspace by client, by pod, or by brand. Role-based access, client-share links, multi-region.

  • Pod-by-client setup
  • Inviting collaborators & clients
  • SSO via Okta or Google Workspace
Open guide
Customizing the daily brief

Add your house voice, set the thresholds that flag a row, schedule per-account briefs, and white-label deliveries.

  • House voice & tone
  • Per-account threshold overrides
  • Slack & email templates
Open guide
Co-Pilot prompts & safety

How Co-Pilot grounds answers in your data, when it refuses to act, and how to extend it with custom prompts and named queries.

  • Grounded answer model
  • Custom system prompts
  • Named-query library
Open guide
REST API & SDKs

Programmatic access to briefs, accounts, actions, and Co-Pilot. SDKs in TypeScript, Python, Go, and Ruby — all openapi-generated.

  • Auth: API keys vs. OAuth
  • Pagination & filters
  • Idempotency keys on mutations
Open guide
Webhooks & events

Subscribe to events from Spectra’s diagnostic engine: brief.generated, anomaly.detected, action.applied. Replayable for 30 days.

  • Subscribing to events
  • Verifying signatures
  • Replay & backfill
Open guide
Security & compliance

SOC 2 Type II, GDPR/UK-GDPR, CCPA, ISO 27001 in flight. Data residency in US, EU, UK. SSO mandatory on Scale tier.

  • SOC 2 report request
  • DPA & sub-processor list
  • Customer-managed encryption keys
Open guide
INTEGRATIONS

Twenty-eight sources. Joined to the same row.

Spectra pulls from any combination of these and joins on session, customer, and order. New connectors take 6–10 weeks; vote with the in-app upvote on the ones you want next.

SUPPORTED · 28 SOURCES · UPDATED 12 MAY
REQUEST A SOURCE → [email protected]
GA
Google Ads
OAUTH · 6 MIN SETUP
GA
MA
Meta Ads
OAUTH · 5 MIN SETUP
GA
G4
GA4 · Analytics
OAUTH · 4 MIN SETUP
GA
BI
Bing / Microsoft Ads
OAUTH · 5 MIN SETUP
GA
SH
Shopify
PRIVATE APP · 3 MIN
GA
KL
Klaviyo
API KEY · 2 MIN
GA
SF
Salesforce
OAUTH + ADMIN
GA
HS
HubSpot
OAUTH · 4 MIN SETUP
GA
GS
Search Console
OAUTH · 3 MIN SETUP
GA
LI
LinkedIn Ads
OAUTH · 5 MIN SETUP
GA
TT
TikTok Ads
OAUTH · 5 MIN SETUP
GA
PI
Pinterest Ads
OAUTH · 4 MIN SETUP
GA
SE
Semrush
API KEY · 1 MIN
GA
AH
Ahrefs
API KEY · 1 MIN
GA
SC
Stripe
OAUTH · 2 MIN SETUP
GA
RD
Reddit Ads
OAUTH · 4 MIN SETUP
BETA
SN
Snap Ads
OAUTH · 5 MIN SETUP
BETA
AT
Attentive
API KEY · 2 MIN
BETA
RC
Recharge
OAUTH · 3 MIN SETUP
BETA
AM
Amplitude
API KEY · 1 MIN
BETA
MX
Mixpanel
API KEY · 1 MIN
SOON
SG
Segment
SOURCE / WAREHOUSE
SOON
SF
Snowflake
RO ROLE · 8 MIN
SOON
BQ
BigQuery
SERVICE ACCT
SOON
28
SUPPORTED SOURCES
9 min
MEDIAN SETUP TIME
15 min
SYNC CADENCE · PAID
99.98%
SYNC UPTIME · 90D
REST API · v1

JSON in. Diagnostic out. Idempotent on mutations.

Authenticate with an API key in the Authorization header. Every endpoint returns paginated results capped at 200 rows. Mutating endpoints accept an Idempotency-Key header — safe to retry for 24 hours.

GET /v1/briefs/today
cURL TS Python Go
COPY
# Fetch today's brief for one account curl "https://api.spectra.io/v1/briefs/today?account_id=acc_8nL2" 
  -H "Authorization: Bearer sk_live_XF92..." 
  -H "Idempotency-Key: brief-2026-05-14-acc_8nL2" # → 200 OK
{
  "account_id": "acc_8nL2",
  "date": "2026-05-14",
  "health": "alert",
  "summary": "Spend pacing 12% above plan. ROAS held at 3.8×...",
  "actions": [
    { "id": "act_4xb1", "impact": 1200.00, "urgency": "break" },
    { "id": "act_4xb2", "impact": 820.00,  "urgency": "watch" }
  ],
  "generated_at": "2026-05-14T07:31:08Z"
}
GET/v1/briefs/todayReturns today’s brief for one or many accountsAPI KEY
GET/v1/briefs/{date}Historical brief by ISO date (UTC)API KEY
GET/v1/accountsList connected accounts with health and pacingAPI KEY
POST/v1/accountsConnect a new platform account (OAuth flow)OAUTH · ADMIN
GET/v1/actionsRanked action queue across the bookAPI KEY
POST/v1/actions/{id}:applyApply a recommendation — idempotentAPI KEY · WRITE
POST/v1/copilot:askAsk Co-Pilot a question, get grounded answer + queriesAPI KEY
PUT/v1/thresholdsUpdate house thresholds workspace-wideAPI KEY · ADMIN
DEL/v1/accounts/{id}Disconnect an account & purge raw dataAPI KEY · ADMIN
WEBHOOKS · REPLAYABLE 30D

Twelve events. Signed payloads. At-least-once delivery.

Spectra posts JSON to your endpoint within ~500ms of the engine emitting an event. Every payload is signed with HMAC-SHA256; the signature header is X-Spectra-Signature: t=…,v1=…. Failed deliveries are retried with exponential backoff for 24 hours, then queued for replay.

brief.generated
A daily brief was generated for an account.
anomaly.detected
A metric crossed a watch or break threshold.
action.recommended
Spectra produced a new ranked recommendation.
action.applied
An action was approved & written back to the source.
forecast.updated
EOM or EOQ projection changed by > 4%.
account.connected
A new platform account was OAuthed in.
account.disconnected
An account was removed or its token revoked.
sync.failed
An upstream sync error needs operator attention.
budget.overpace
Pacing crossed the workspace’s break threshold.
copilot.queried
A Co-Pilot question was asked (audit log).
CHANGELOG · LAST 30 DAYS

What shipped this month.

Spectra ships weekly. Breaking changes are announced 60 days in advance; deprecated endpoints are kept warm for two minor versions before removal.

MAY 13, 2026 FEATURE Co-Pilot named-query library. Save a question, schedule it, share it with the workspace. Comes with 14 starter queries for paid + SEO. v3.4
MAY 09, 2026 FEATURE SKU-level margin in PMax / ASC. Spectra now joins margin from Shopify into ad-side reporting for catalog campaigns. Available behind features.margin_pmax = true. v3.4
MAY 06, 2026 FIX Daily brief timezone drift. Workspaces with a non-UTC default could see briefs delivered at the wrong local hour on the day of DST flips. Resolved. v3.3.4
MAY 02, 2026 DEPRECATED Legacy /v0 brief endpoint sunset. Removed 90 days after the v1 launch announcement. Migration guide linked below. v0 → v1
APR 28, 2026 FEATURE Reddit Ads & Snap Ads in beta. Connector and brief copy in production for design-partner workspaces. Public beta opens June 1. v3.3
APR 22, 2026 BREAKING Action payload schema v2. impact is now a structured object with amount, currency, and timeframe. Coexists with v1 for 60 days. v3.3
APR 18, 2026 FEATURE White-label briefs. Custom subdomain, logo, and color palette per workspace. Ships first for Scale tier; available to Studio with the addon. v3.3

Stuck? Talk to a human.

Solutions engineering is staffed weekdays 7 AM–7 PM Pacific. SLA-bound on Scale; same-day on Studio; 24h on Starter. Or drop a question in our community — the answer is usually already there.