Verify one of the organization's domains
/api/v1/organizations/{id}/domains/{domain}/verifyResolves the domain's DNS TXT record and, if it carries this claim's token, flips the claim to verified. A verified domain is exclusive to one organization per Environment; the same domain may be verified again in another Environment. Returns 400 when the record is missing or the token does not match (the claim is marked failed), 404 when the organization holds no such claim, and 409 when another organization in the Environment already verified it. Rate-limited to 10 requests per minute; emits sso.domain.verified or sso.domain.verification_failed.
Authentication
Authorization Option A JWT access token. Never send alongside X-API-Key: a request carrying both is refused.
X-API-Key Option B API key for management-tier access. Never send alongside an Authorization header: a request carrying both is refused.
Path Parameters
idstring Required domainstring Required Responses
application/json
data *SsoDomainResponseDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
Returned object
curl -X POST "https://auth.canopy-io.com/api/v1/organizations/value/domains/value/verify" \ -H "X-API-Key: $CANOPY_API_KEY"
{ "data": { "domain": "string", "status": "pending", "txt_record_name": "string", "txt_record_value": "string", "verified_at": "2026-04-20T12:00:00.000Z", "last_checked_at": "2026-04-20T12:00:00.000Z", "failure_reason": "string" } }
Tell us how we can improve this guide.