Check public DNS ownership and direct routing
post/v1/tenants/{tenant_id}/qr-domains/{domain_id}/verify
Requires an API key
DNS verification (dns_verified) does not mean TLS is active. The edge worker must issue the certificate before status becomes active and ready becomes true.
Path parameters
- tenant_idintegerRequired
- domain_idstringRequired
Returns · 200
- idstringRequired
- tenant_idintegerRequired
- hostnamestringRequired
- statusenumRequiredpending_dns until both DNS records check out; dns_verified once they do; active after the edge worker issued the certificate; disabled by the tenant. activation_error explains a stalled activation.One of
pending_dns,dns_verified,active,disabled - created_atstringRequired
- checked_atstring | nullRequired
- verified_atstring | nullRequired
- activated_atstring | nullRequired
- certificate_expires_atstring | nullRequired
- activation_errorstring | nullRequired
- dns_recordsarray of DNSRecordRequired
Child attributes
- typeenumRequiredOne of
A,CNAME,TXT - namestringRequired
- valuestringRequired
- ttlintegerRequired
- proxiedboolean | null
- checksobject | nullRequired
- readybooleanRequiredActive, DNS rechecked within 24 hours and an unexpired certificate.
- purposestringDefault
"qr" - scan_url_templatestringRequiredWhat a sticker encodes on this hostname: any path is a sticker code (QR redirects).
POST /v1/tenants/{tenant_id}/qr-domains/{domain_id}/verify
curl --fail-with-body -X POST "https://api.ivoracharge.com/v1/tenants/1042/qr-domains/domain_0123456789abcdef/verify" \
-H "Authorization: Bearer $IVORA_API_KEY"Response · 200JSON
{
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"hostname": "ocpp.example.com",
"status": "pending_dns",
"created_at": "2026-09-30T17:00:00Z",
"checked_at": "2026-09-30T17:00:00Z",
"verified_at": "2026-09-30T17:00:00Z",
"activated_at": "2026-09-30T17:00:00Z",
"certificate_expires_at": "2026-09-30T17:00:00Z",
"activation_error": "string",
"dns_records": [
{
"type": "A",
"name": "bay-01",
"value": "string",
"ttl": 1,
"proxied": false
}
],
"checks": {},
"ready": false,
"purpose": "qr",
"scan_url_template": "https://pay.example.com/{code}"
}Requires an approved production API keyProduction access starts with a request, a short meeting with Ivora and a card on file, after which Ivora staff grant your account access. How to request access
Try itproduction · api.ivoracharge.com
Paste a production api key (iv_live_…). Create keys in Developer tools. The key stays in this page's memory, is sent only to https://api.ivoracharge.com and clears when you reload. Test keys are refused.
POST is a write: you confirm the method, path and project before it is sent, with a generated Idempotency-Key.



