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}/verifyTL;DR
| Question | Answer |
|---|---|
| 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
| Field | Type | Required | Description |
|---|---|---|---|
org | string | yes | The organisation's id or its slug. |
domain | string | yes |
Responses
| Status | Meaning | Body |
|---|---|---|
| 200 | The domain as it is now. | SsoDomainVerify |
| 401 | Not signed in. | ErrorResponse |
| 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. | ErrorResponse |
| 404 | No such organisation, or the caller is not a member of it. | ErrorResponse |
| 409 | Another organisation verified this domain (sso.domain_taken). | ErrorResponse |
| 429 | Too many requests. | ErrorResponse |
| 503 | Single 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.
| Field | Type | Required | Description |
|---|---|---|---|
domain | SsoDomain | yes | |
domain.id | string | yes | |
domain.domain | string | yes | |
domain.verified | boolean | yes | |
domain.verifiedAt | integer | null | yes | |
domain.checkedAt | integer | null | yes | |
domain.createdAt | integer | yes | |
domain.record | object | yes | |
domain.record.name | string | yes | |
domain.record.type | "TXT" | yes | |
domain.record.value | string | yes | |
checked | boolean | yes | False when the resolver did not answer, so nothing was learned. Try again. |
See also
| Doc | Why |
|---|---|
| API reference | Every endpoint, and the error envelope |
| Schemas | Every request and response type |
| Tool reference | The operations as callable tools |