Skip to content

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.

POST
/account/sso/domains
curl --request POST \
--url https://api.siteqwality.com/account/sso/domains \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "domain": "example" }'
Media type application/json

Body for POST /account/sso/domains.

object
domain
required

The email domain to prove ownership of, e.g. corp.example.com.

string
Example generated
{
"domain": "example"
}

Domain was already on the account

Media type application/json

A domain the account is verifying, or has verified, for SSO.

object
id
required
string format: uuid
domain
required
string
status
required

pending (record not checked yet), failed (the last check found no record), verified, or expired (the token, or the verification, lapsed).

string
record_type
required

Always TXT.

string
record_name
required

The record’s host name.

string
record_value
required

The record’s exact value.

string
created_at
required
string format: date-time
verified_at
string | null format: date-time
expires_at
required

A pending token’s deadline, or when a verification lapses unless re-verified.

string format: date-time
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

Media type application/json

A domain the account is verifying, or has verified, for SSO.

object
id
required
string format: uuid
domain
required
string
status
required

pending (record not checked yet), failed (the last check found no record), verified, or expired (the token, or the verification, lapsed).

string
record_type
required

Always TXT.

string
record_name
required

The record’s host name.

string
record_value
required

The record’s exact value.

string
created_at
required
string format: date-time
verified_at
string | null format: date-time
expires_at
required

A pending token’s deadline, or when a verification lapses unless re-verified.

string format: date-time
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