Skip to content

Add an email domain

POST
/api/v1/email-domains
curl --request POST \
--url http://localhost:3000/api/v1/email-domains \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "domain": "example" }'

A domain the organization’s people have their email at. Add the TXT record in record, then POST /api/v1/email-domains/{domain}/verify. Proved, single sign-on may use it, and so may joining by domain. A public suffix is refused, and so is a domain another organization holds. Not a custom domain: it serves nothing, and no limit counts it.

Scope: admin.

Media typeapplication/json
object
domain
required

A domain your people have their email at, e.g. acme.com

string
>= 1 characters <= 253 characters
Examplegenerated
{
"domain": "example"
}

The email domain, not verified yet

Media typeapplication/json
object
data
required
object
domain
required
string
verified
required

Proved by its TXT record: single sign-on and joining by domain may use it

boolean
join
required

Anyone whose address is at exactly this domain may join the organization, able to read its landing project

boolean
projectId
required

The project whoever joins lands in, able to read; null for the organization’s oldest

string | null
sso
required

The organization’s single sign-on uses it

boolean
record
required

What proves the domain: add this record at your DNS host

object
type
required
string
Allowed value: TXT
name
required
string
value
required
string
Example
{
"data": {
"record": {
"type": "TXT"
}
}
}

An error

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
detail
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": "example"
}
}