Start verifying a domain: returns the TXT record to publish. Adding a domain already on the account returns it unchanged, with a fresh token if the old one lapsed before it was verified.
const url = 'https://api.siteqwality.com/account/sso/domains';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"domain":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.siteqwality.com/account/sso/domains \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "domain": "example" }'Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”Body for POST /account/sso/domains.
object
The email domain to prove ownership of, e.g. corp.example.com.
Example generated
{ "domain": "example"}Responses
Section titled “ Responses ”Domain was already on the account
A domain the account is verifying, or has verified, for SSO.
object
pending (record not checked yet), failed (the last check found no
record), verified, or expired (the token, or the verification, lapsed).
Always TXT.
The record’s host name.
The record’s exact value.
A pending token’s deadline, or when a verification lapses unless re-verified.
Example generated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "domain": "example", "status": "example", "record_type": "example", "record_name": "example", "record_value": "example", "created_at": "2026-04-15T12:00:00Z", "verified_at": "2026-04-15T12:00:00Z", "expires_at": "2026-04-15T12:00:00Z"}Domain added; publish the TXT record, then verify
A domain the account is verifying, or has verified, for SSO.
object
pending (record not checked yet), failed (the last check found no
record), verified, or expired (the token, or the verification, lapsed).
Always TXT.
The record’s host name.
The record’s exact value.
A pending token’s deadline, or when a verification lapses unless re-verified.
Example generated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "domain": "example", "status": "example", "record_type": "example", "record_name": "example", "record_value": "example", "created_at": "2026-04-15T12:00:00Z", "verified_at": "2026-04-15T12:00:00Z", "expires_at": "2026-04-15T12:00:00Z"}Not a bare domain, or the account has too many domains
Missing or invalid authentication
Caller is not a super admin, or the plan does not include SSO
Internal server error