Developers
Ten object types, and a runtime you can ask.
The API is a view over the same objects the console uses, under the same permissions. Receipt endpoints are stricter than configuration endpoints, because they are a different kind of data.
Object model
organizationAn account, holding sites, users and (for agencies) client workspaces.siteOne website under management, with its runtime configuration, policy assignment and integrations.scanA single run against a site, in one or more consent states, producing observations.serviceA discovered or declared third-party service, with its vendor and assigned category.cookieAn observed cookie or storage key, with domain, lifetime, party and the service that set it.manifestThe versioned map from services to purposes, execution rules, storage and signals.policyA versioned policy pack: consent mode, defaults, required controls, signal handling and renewal.bannerA versioned consent experience — layout, theme, copy and translations.receiptA pseudonymous consent decision, pointing at the policy, banner and manifest versions in force.findingA Privacy Health result: the check, the state it ran in, the service involved and the evidence.
Events worth subscribing to
scan.completedA scan finished, with counts and a link to the result.tracker.discoveredA service appeared that was not in the previous scan.unknown_tracker.detectedA third party matched no known signature and needs classification.policy.publishedA new immutable policy version went live.manifest.publishedA new manifest version went live, usually after a builder publish or a review.privacy_health.failedA check failed — most usefully, something fired after a refusal.integration.errorA connector could not sync, which matters because a silently stale integration is worse than none.
Runtime state, in the browser
- Read the current state, subscribe to changes, open the preference centre, and run code only once a category is allowed.
- Gating your own call on the state is deterministic; hoping an interceptor caught your script is not.
- Deliveries are signed and idempotent, so a retry never creates a second ticket.
- Per-visitor consent does not fire a customer webhook by default — that would replicate visitor data into systems that should not hold it.
- The public SDK surface is published when it is stable. A conceptual API in marketing copy that then changes is a broken promise in somebody's codebase.
Endpoint-level documentation lives in the API reference, and ships alongside the API itself so the two cannot drift.
Building an integration?
Tell us which system and which direction the data should flow. Connector work is prioritised by what customers are actually trying to connect, not by which logo looks best on a page.
Talk to us about integrationsKnow what runs before you ask visitors to trust it.
Start with a scan of what your website loads today. The list is usually longer than the team expects, and that is the useful part.
No code to install for a scan Public pages only DotCensus runs on DotCensus