Getting started
Can I integrate Lookout without Wave (or vice versa)?
Can I integrate Lookout without Wave (or vice versa)?
Is there a sandbox I can hammer without affecting real data?
Is there a sandbox I can hammer without affecting real data?
How long does a typical integration take?
How long does a typical integration take?
Do I need to host the docs site myself?
Do I need to host the docs site myself?
Auth
The spec says `apikey` — where do I get one?
The spec says `apikey` — where do I get one?
apikey scheme in the OpenAPI
spec is actually Authorization: Bearer <Cognito JWT> — you obtain
the JWT by signing in with username/password at POST /auth. See
Authentication.Why am I getting 403 even though my token is valid?
Why am I getting 403 even though my token is valid?
X-Preferred-Partner-Id
header. Multi-partner users need to send the right partner; single-
partner users still should. See Partner & Client.Token refresh fails with 400 — what changed?
Token refresh fails with 400 — what changed?
Can I use MFA with a service account?
Can I use MFA with a service account?
Endpoints and conventions
Why are some array params sent as `?city=A&city=B` instead of `?city[]=A`?
Why are some array params sent as `?city=A&city=B` instead of `?city[]=A`?
repeat style — repeated keys without
brackets, no CSV. Use qs.stringify(..., { arrayFormat: "repeat" })
or the equivalent in your serialiser.Why do some writes take query-string parameters?
Why do some writes take query-string parameters?
POST /campaigns/,
PUT /events/{eid}/client_campaign_status?...,
POST /events/{eid}/series?..., and the various
*_optimisation_status toggles. Watch out for each — they’re not
JSON bodies.An endpoint I'm using isn't in the OpenAPI spec — is it real?
An endpoint I'm using isn't in the OpenAPI spec — is it real?
/events/{eid}/client_campaign_status[/task]/events/{eid}/campaign_optimisation_status/events/{eid}/ad_campaign_optimisation_status/events/{eid}/attribution_model/events/{eid}/available_events_for_series
What's the difference between /campaign_results/ and /integrations/facebook/.../campaign_results?
What's the difference between /campaign_results/ and /integrations/facebook/.../campaign_results?
/integrations/facebook/events/{eid}/campaign_results). The
generic /campaign_results/ exists in the spec but is not used by
the reference webapp and returns error.auth.not_authorized for
partner tokens.What about /campaigns/by_partner_id?
What about /campaigns/by_partner_id?
error.unauthorized / error.auth.missing_token
for partner tokens. Not for integrations.Why are some operations on a different host?
Why are some operations on a different host?
Wave wizard
My autosave PUTs sometimes get out of order — what's happening?
My autosave PUTs sometimes get out of order — what's happening?
AbortController to cancel any in-flight PUT before issuing a new
one. Without it, you can have edit N+1 land before edit N. See
Campaigns Lifecycle.`/setup_processes/{eid}` returns 404 — is something broken?
`/setup_processes/{eid}` returns 404 — is something broken?
POST /setup_processes/{eid} to begin.Why doesn't editing a published campaign use the same endpoint as the draft?
Why doesn't editing a published campaign use the same endpoint as the draft?
POST /campaigns_setup (body carries eid, tc,
tc_run_id). The draft endpoint PUT /setup_processes/{eid} only
works while the setup is unpublished.Publish returns 200 but my campaigns aren't on Meta
Publish returns 200 but my campaigns aren't on Meta
/integrations/facebook/events/{eid}/...; (2) Meta auth expired —
re-check /integrations/connect/facebook/status and prompt the
user to reconnect.Operations
Are there webhooks?
Are there webhooks?
Rate limits?
Rate limits?
How do I file a bug?
How do I file a bug?
x-request-id from the failing response. We can trace
across services in seconds with that.Where do I see breaking changes?
Where do I see breaking changes?