Atribu
API Reference

Profile & Data Quality

The profile's own settings and the reads that say whether its numbers can be trusted.

Everything under /api/v1/profile and /api/v1/quality is a property of the profile rather than of a date range: how it is configured, how fresh its attribution is, and how much of its traffic and revenue can be explained at all.

The four reads worth knowing by name

routequestion it answers
GET /profile/readinessWhat is still missing, in order, and the one next thing to do about it.
GET /profile/freshnessWhen this profile's attribution was last recomputed. A dashboard that looks wrong is often just not recomputed yet.
GET /quality/attributionHow many conversions carry a touch at all — attribution coverage, not accuracy.
GET /trustThe trust signals behind the dashboard's own honesty banners.

GET /profile is the profile's rendering context: name, currency, PII mode, entitlements, and the legacy onboarding_completed boolean.

`onboarding_completed` is not readiness

It means one thing: a person pressed Finish in the setup wizard. Every wizard step is skippable, so it is not evidence that any step is done. Use readiness for that, and this only to tell "has been through onboarding and is still missing things" from "nobody has started".

Attribution windows

GET / PATCH /api/v1/profile/attribution-settings read and write the click, view-through, first-touch and cash windows. They are documented in full, with both tracks, on Attribution windows — including the part that matters most: every successful PATCH queues a full-profile replay, because a window change redefines which touches attach to which conversion retroactively.

UTM health

GET /api/v1/quality/utm, /quality/utm/anomalies and POST /quality/utm/refresh are the instrumentation audit: links that lost their parameters, campaigns whose UTMs disagree with the ad they came from, sudden drops in tagged traffic. POST /quality/utm/refresh runs the audit now rather than waiting for the scheduled pass.

MethodPathWhat it does
GET/api/v1/profileGet the authenticated profile's rendering context
PATCH/api/v1/profileUpdate the authenticated profile's settings
GET/api/v1/profile/attribution-settingsGet the profile's attribution windows
PATCH/api/v1/profile/attribution-settingsUpdate the profile's attribution windows
POST/api/v1/profile/audit-eventsStamp one allowlisted UI-interaction audit event
GET/api/v1/profile/dark-messaging-spendEstimate revenue at risk from unattributed Instagram DM conversations
GET/api/v1/profile/freshnessGet when this profile's attribution data was last recomputed
PUT/api/v1/profile/outcome-definitionsReplace one family of outcome definitions
GET/api/v1/profile/readinessGet the profile's setup checklist and the one next thing to do
GET/api/v1/qualityGet attribution data quality
GET/api/v1/quality/attributionGet attribution coverage — how many conversions can be attributed at all
GET/api/v1/quality/instrumentation-healthGet instrumentation health
GET/api/v1/quality/utmGet UTM / tracking-health quality signals
GET/api/v1/quality/utm/anomaliesGet the UTM anomaly breakdown
POST/api/v1/quality/utm/refreshRun the UTM health audit now
GET/api/v1/trustGet attribution trust signals

Generated from openapi.json. The full request and response schema for every operation is in the OpenAPI document.

Next steps

On this page