Skip to content
Connect an agent
Organisations

Check a domain's DNS record

Looks up the TXT record through DNS over HTTPS and marks the domain verified when it matches.

POST/orgs/{org}/sso/domains/{domain}/verify

TL;DR

QuestionAnswer
What does it do?Check a domain's DNS record.
What does it take?org, domain in the path.
What does it return?Status 200 with a body of type SsoDomainVerify.
What can go wrong?401 not signed in; 403 a member or a reader (orgs.forbidden), a plan without single sign-on (plan.sso_not_included), or the request came from an origin that may not make changes; 404 no such organisation, or the caller is not a member of it; 409 another organisation verified this domain (sso.domain_taken); 429 too many requests; 503 single sign-on is not set up on this server (sso.unavailable), or organisations are not. Every failure uses the one error envelope.

What it does

Looks up the TXT record through DNS over HTTPS and marks the domain verified when it matches. checked is false when the resolver did not answer.

Path parameters

FieldTypeRequiredDescription
orgstringyesThe organisation's id or its slug.
domainstringyes

Responses

StatusMeaningBody
200The domain as it is now.SsoDomainVerify
401Not signed in.ErrorResponse
403A member or a reader (orgs.forbidden), a plan without single sign-on (plan.sso_not_included), or the request came from an origin that may not make changes.ErrorResponse
404No such organisation, or the caller is not a member of it.ErrorResponse
409Another organisation verified this domain (sso.domain_taken).ErrorResponse
429Too many requests.ErrorResponse
503Single sign-on is not set up on this server (sso.unavailable), or organisations are not.ErrorResponse

Response body

A 200 answer has the type SsoDomainVerify.

FieldTypeRequiredDescription
domainSsoDomainyes
domain.idstringyes
domain.domainstringyes
domain.verifiedbooleanyes
domain.verifiedAtinteger | nullyes
domain.checkedAtinteger | nullyes
domain.createdAtintegeryes
domain.recordobjectyes
domain.record.namestringyes
domain.record.type"TXT"yes
domain.record.valuestringyes
checkedbooleanyesFalse when the resolver did not answer, so nothing was learned. Try again.

See also

DocWhy
API referenceEvery endpoint, and the error envelope
SchemasEvery request and response type
Tool referenceThe operations as callable tools