`POST /domains/{id}/verifications` — perform domain verification.
/domains/{id}/verificationsLooks up the TXT record at _vigilfield-verification.<domain> and
matches it against the per-domain verification_token from the
row. The lookup is synchronous: success transitions the row to
verified with verified_at = now(); failure leaves the row's
existing verification state intact and returns 4xx.
Three outcomes from the resolver map onto three response shapes:
Matched→ 200, row updated.NotFound→ 403 withdomain verification failed(anti- enumeration: same body whether the record is absent or carries a wrong token).ResolverError→ 503 so the caller knows to retry rather than surfacing "verification failed" to the user when DNS itself is the problem.
Path Parameters
Domain id
Response Body
application/json
curl -X POST "https://example.com/domains/string/verifications"{ "auto_join_disabled_at": "string", "consecutive_failure_count": 0, "created_at": "string", "degraded_at": "string", "domain": "string", "id": "string", "last_checked_at": "string", "last_verified_at": "string", "org_id": "string", "revoked_at": "string", "settings": null, "status": null, "updated_at": "string", "verification_token": "string", "verified_at": "string"}`PUT /domains/{id}` — update a domain. PUT
Previous Page
`DELETE /exports/{id}` — cancel an in-flight (or queued) export. DELETE
Idempotent: cancelling an already-terminal export returns the row's current state. Routes through `preprocessor.cancel_export` → `scheduler::cancel_export`, which signals the exporter to halt any in-flight encode task at the next milestone, then flips the workload to terminal `Cancelled`. The FE sees the new state on the next poll.