API reference

REST API

For your own servers, with an API key from Integrations: read consent decisions and domains.

  1. GET/v1/api/consent-events
  2. GET/v1/api/domains
GET/v1/api/domains

Domains in this workspace

Needs: An API key, sent as Authorization: Bearer <key>. Create one under Integrations → API keys.

Responses
StatusBodyWhen
200DomainListDto
200 body · DomainListDto
FieldTypeWhat it is
items requiredDomainDto[]
items[].id requiredstring
items[].hostname requiredstring
items[].rootDomain requiredstringThe registrable domain this hostname belongs to — the unit the plan bills.
items[].billedAs required"root" | "included" | "extra"How this hostname is billed. A billed domain is the root domain, www and up to two further subdomains: root is the billed unit, included is covered by its root at no extra cost, and extra is a third or later subdomain that counts as another domain.
items[].status required"pending" | "verified" | "failed"
items[].verifyMethod required"script" | "dns_txt" | "meta_tag" | "file"
items[].verifyToken requiredstring
items[].verifiedAt requiredstring | nullISO timestamp, or null if not yet verified.
items[].verifyReason requiredstring | nullWhy the last check failed, in words meant for the customer. Null when the domain is verified or has never been checked.
items[].lastCheckedAt requiredstring | nullISO timestamp of the last verification attempt, or null if never attempted.
items[].sslOk requiredboolean
items[].groupId requiredstring | nullGroup this domain belongs to, or null if ungrouped.
items[].region required"EU" | "US-CA" | "UK" | "GLOBAL" | nullCompliance jurisdiction the owner declared for this domain, or null if unset.
items[].installMethod required"script" | "wordpress" | "gtm" | "shopify" | "wix"How the tag is installed on this site. Decides which instructions the panel shows; the tag itself is the same on every route.
items[].createdAt requiredstring
items[].score requirednumberLive compliance score (0–100) for this domain's banner: the same score the Compliance screen shows. It uses the published banner, else the draft, else the default banner.
items[].overAllowance requiredbooleanTrue when the workspace's plan does not cover this domain. Its banner is held unpublished, and publishing is refused until the plan allows more domains or another domain is removed. This happens only after a downgrade: adding a domain over the limit is refused.
items[].lastScanAt requiredstring | nullWhen this domain was last scanned, whether the scan completed, was blocked or failed. Null when it has never been scanned.
items[].activeScan requiredobject
facets requiredDomainFacetsDto
facets.all requirednumber
facets.pending requirednumber
facets.verified requirednumber
facets.failed requirednumber
total requirednumberRows matching ALL active filters, i.e. the size of items before any paging.
allowance requiredDomainAllowanceDtoComputed over every domain in the workspace, whatever the filters.
allowance.limit requirednumber | null
allowance.used requirednumber

Next groupPublic endpoints