1. Docs
  2. API Reference
  3. Verify one of the organization's domains

Verify one of the organization's domains

POST/api/v1/organizations/{id}/domains/{domain}/verify

Resolves 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

Bearer TokenAuthorization Option A

JWT access token. Never send alongside X-API-Key: a request carrying both is refused.

API KeyX-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

  • dataSsoDomainResponseDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

Returned object

Request
curl -X POST "https://auth.canopy-io.com/api/v1/organizations/value/domains/value/verify" \
  -H "X-API-Key: $CANOPY_API_KEY"
Response
{
  "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"
  }
}
Related endpoints
GETList organizations
POSTCreate an organization
DELETEDelete every organization
GETGet an organization
PATCHUpdate an organization
DELETEDelete an organization
GETGet an organization's authentication policy
PATCHUpdate an organization's authentication policy
POSTRegenerate the organization's SSO recovery codes
POSTStart a test sign-in on the organization's connection
GETRead the organization's test sign-in
GETList the organization's domain claims
POSTClaim a domain for the organization
DELETERemove one of the organization's domain claims
GETList an organization's SSO connections
POSTBind an SSO connection to an organization
DELETEUnbind an SSO connection from an organization
GETList an organization's members
POSTAdd a member to an organization
PATCHChange a member's role
DELETERemove a member from an organization
GETList an organization's invitations
POSTInvite a member into an organization
GETList the roles an organization may assign
DELETERevoke an organization invitation
GETGet an organization's SSO connection
POSTSet up an organization's SSO connection
PATCHChange an organization's SSO connection
DELETERemove an organization's SSO connection
POSTActivate an organization's SSO connection
POSTDisable an organization's SSO connection
POSTImport the identity provider's SAML metadata
GETGet the service-provider values for an organization's SSO connection
Was this page helpful?

Tell us how we can improve this guide.