dismiss_cookie_banner) is the exception: only fixed vendor buttons, no custom selectors. When it is required
| Needs verified domain | Does not |
|---|---|
Journey with interact / evaluate / client cookies; browse options http_auth / client_certificates | screenshot, extract, inspect, performance, visibility, dns, robots, crawl, files, pdf, a11y/tech/security checks, read-only journeys, and dismiss_cookie_banner (fixed CMP allowlist — not free interact) |
Console (My Account)
Open Scout → Domains
Sign in at account.macrocontent.dev → Scout → Domains. Domains are account-scoped: every
sk_scout_…key on the account can use them.Add hostname
Enter the host you own (e.g.
www.example.comorexample.com). Scout creates a pending domain and shows a challenge value.Publish the challenge
- DNS TXT (preferred): create a TXT record at
_scout-verify.<hostname>with the exact challenge value (formscout-verify=<token>). Apex TXT with the same value is also accepted. - Well-known file: serve
https://<hostname>/.well-known/scout-verify.txtwhose body is the same challenge value (plain text).
- DNS TXT (preferred): create a TXT record at
Click Verify
Scout checks DNS and/or the well-known file. On success the status becomes
verified. Re-verify is required after ~90 days (configurable).
API flow
Register the hostname
POST/v1/domainsAPI keyCreates (or returns) a pending domain + challenge. 0 credits.
curl -X POST https://scout.macrocontent.dev/v1/domains \ -H "Authorization: Bearer sk_scout_…" \ -H "Content-Type: application/json" \ -d '{"hostname":"example.com"}'Example response fields:
{ "id": "dom_…", "hostname": "example.com", "status": "pending", "challenge": { "type": "dns_txt", "name": "_scout-verify.example.com", "value": "scout-verify=…", "token": "…" }, "verified_at": null }List / inspect
GET/v1/domainsAPI keyList domains for this key’s account. 0 credits.
GET/v1/domains/:idAPI keyFetch one domain by id (dom_…). 0 credits.
curl https://scout.macrocontent.dev/v1/domains \ -H "Authorization: Bearer sk_scout_…"Prove ownership, then verify
Publish DNS TXT or the well-known file using
challenge.name/challenge.valuefrom the create response.POST/v1/domains/:id/verifyAPI keyChecks DNS TXT and/or /.well-known/scout-verify.txt. 0 credits.
curl -X POST https://scout.macrocontent.dev/v1/domains/dom_…/verify \ -H "Authorization: Bearer sk_scout_…"Remove (optional)
DELETE/v1/domains/:idAPI keyDelete a domain registration. 0 credits.
Using a verified domain
For a sensitive journey, every navigate URL host must match a verified hostname (exact host or a verified parent, e.g. verified example.com covers www.example.com).
{
"steps": [
{ "type": "navigate", "url": "https://example.com/login" },
{ "type": "interact", "action": "fill", "selector": "#email", "text": "demo.user" },
{ "type": "interact", "action": "click", "selector": "button[type=submit]" },
{ "type": "extract", "fields": [{ "name": "welcome", "selector": "h1", "type": "text" }] }
]
}403 DOMAIN_NOT_VERIFIED — register + verify the host first, or drop interact/evaluate/cookies so the journey stays read-only. Hint in the error body points to this flow. Parameters (create)
| Name | Type | Required | Description |
|---|---|---|---|
hostname | string | required | Public hostname to verify (no scheme/path). Normalized (lowercase, no trailing dot). |