curl "https://api.scanova.io/custom-domain/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a"
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 42,
"domain": "https://links.example.com",
"is_default": false,
"disable_slug_case": false,
"txt_value": "scanova-verification=abc123...",
"is_txt_verified": false,
"is_cname_verified": false,
"is_migrated": false,
"dns_provider": { "name": "Cloudflare", "placeholders": { "cname": { "content": { "label": "Target" } } } },
"txt_error": null,
"cname_error": null,
"root_action": "no_action",
"redirect": null,
"template": null,
"protocol": "https",
"remove_qr_query": false,
"cname_target": "shortcname.scanova.io",
"domain_connect_supported": false,
"domain_connect_checked_at": null,
"created": "2026-09-08T10:00:00Z",
"modified": "2026-09-08T10:00:00Z"
}
]
}
Custom Domains
List custom domains
GET /custom-domain/
GET
/
custom-domain
/
curl "https://api.scanova.io/custom-domain/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a"
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 42,
"domain": "https://links.example.com",
"is_default": false,
"disable_slug_case": false,
"txt_value": "scanova-verification=abc123...",
"is_txt_verified": false,
"is_cname_verified": false,
"is_migrated": false,
"dns_provider": { "name": "Cloudflare", "placeholders": { "cname": { "content": { "label": "Target" } } } },
"txt_error": null,
"cname_error": null,
"root_action": "no_action",
"redirect": null,
"template": null,
"protocol": "https",
"remove_qr_query": false,
"cname_target": "shortcname.scanova.io",
"domain_connect_supported": false,
"domain_connect_checked_at": null,
"created": "2026-09-08T10:00:00Z",
"modified": "2026-09-08T10:00:00Z"
}
]
}
Lists the account’s own connected custom domains, on the Management API host (
api.scanova.io), authenticated with your raw Management API key.
GET https://api.scanova.io/custom-domain/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
Requires the
CUSTOM_DOMAIN plan quota and CUSTOM_DOMAIN_CAN_VIEW permission.curl "https://api.scanova.io/custom-domain/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a"
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 42,
"domain": "https://links.example.com",
"is_default": false,
"disable_slug_case": false,
"txt_value": "scanova-verification=abc123...",
"is_txt_verified": false,
"is_cname_verified": false,
"is_migrated": false,
"dns_provider": { "name": "Cloudflare", "placeholders": { "cname": { "content": { "label": "Target" } } } },
"txt_error": null,
"cname_error": null,
"root_action": "no_action",
"redirect": null,
"template": null,
"protocol": "https",
"remove_qr_query": false,
"cname_target": "shortcname.scanova.io",
"domain_connect_supported": false,
"domain_connect_checked_at": null,
"created": "2026-09-08T10:00:00Z",
"modified": "2026-09-08T10:00:00Z"
}
]
}
txt_value and cname_target are the DNS records this domain still needs (or already has) pointed at Scanova — see Add a custom domain for how they’re generated. is_txt_verified/is_cname_verified reflect the last verification run, not a live check.
Related
- Add a custom domain — connect a new one.
- Verify a custom domain’s DNS records — re-check DNS and update these flags.
- List verified domains for QR Code assignment — the picker-friendly equivalent for assigning a domain to a QR Code.
- Management API overview — the auth scheme and quota rules that apply to this endpoint.
Authorizations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. api.scanova.io) — the same key sent to the regular API host will not authenticate.
Response
200 - application/json
Paginated list of custom domains.
Was this page helpful?