Skip to content

`POST /v1/orgs/{org}/sso/domains/{domain}/verify`.

POST
/v1/orgs/{org}/sso/domains/{domain}/verify
curl --request POST \
--url https://api.updawg.net/v1/orgs/example/sso/domains/example/verify
org
required
string

Organization slug.

domain
required
string

A domain claimed here.

The TXT record was found: verified. Audited as sso.domain_verified.

Media typeapplication/json
object
domain
required
string
txt_name
required

The TXT record to publish: its name…

string
txt_value
required

…and its value.

string
verified
required
boolean
verified_at
string | null format: date-time
Examplegenerated
{
"domain": "example",
"txt_name": "example",
"txt_value": "example",
"verified": true,
"verified_at": "2026-04-15T12:00:00Z"
}

No session.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Not permitted for this role, or no CSRF token. Or the plan does not include single sign-on (Enterprise): plan-required.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

No such organization or claim, or not yours.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

The record is not there yet (txt-not-found; DNS can take a while), or another organization has verified this domain (domain-taken).

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Over the organization’s request limit. Retry-After says when to try again; RateLimit-Limit is the burst.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

DNS could not be asked.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}