Domains

Email domains. A domain is added, then verified by publishing a DNS TXT record; only verified domains can be used for usernames and mailboxes. Bramble checks verified domains again later and marks them "verification lost" if the record disappears.

MethodPathSummary
GET/v1/admin/tenant/domainsList the tenant's verified/pending domains
POST/v1/admin/tenant/domains/verifyCheck a domain's verification record
POST/v1/admin/tenant/domains/addAdd a domain
POST/v1/admin/domains/viewGet a domain
DELETE/v1/admin/tenant/domainsRemove a domain

#List the tenant's verified/pending domains

GET/v1/admin/tenant/domains

List the tenant's verified/pending domains. Requires the GLOBAL_ADMIN role.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/domains
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Response 200

FieldTypeDescription
domainsarray of any
Example response
JSON
{
  "domains": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/domains' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Check a domain's verification record

POST/v1/admin/tenant/domains/verify

Re-check a domain's DNS TXT verification record. Requires the GLOBAL_ADMIN role. Compares live DNS TXT records against the stored verification string. Sets domain_status to 1 (verified) on match; if a previously-verified domain (status 1) no longer matches, flips it to 3 (verification lost). System domains (status 2) cannot be re-verified.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/domains/verify
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Request body JSON

NameTypeDescription
domain_idrequiredinteger

Response 200

FieldTypeDescription
successboolean
domainstring
verifiedany
checked_recordsarray of any
Example response
JSON
{
  "success": true,
  "domain": "string",
  "verified": null,
  "checked_records": []
}

Errors

StatusMessage
400domain_id is required
400No verification token set for this domain
400System domains do not need verification
404Domain not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/domains/verify' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain_id":7}'

#Add a domain

POST/v1/admin/tenant/domains/add

Returns the TXT record to publish in the domain's DNS to prove you own it.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/domains/add
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Request body JSON

NameTypeDescription
domainstringThe domain, e.g. example.com.

Response 200

FieldTypeDescription
successboolean
messagestring
idinteger
domainstring
verifyRecordobject
verifyRecord.namestring
verifyRecord.typestring
verifyRecord.valueany
Example response
JSON
{
  "success": true,
  "message": "Saved",
  "id": 42,
  "domain": "string",
  "verifyRecord": {
    "name": "Example name",
    "type": "string",
    "value": null
  }
}

Errors

StatusMessage
400Domain invalid format!
404User not found
403This domain cannot be added
403This domain contains a banned string
409Domain already in use

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/domains/add' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"string"}'

#Get a domain

POST/v1/admin/domains/view

Get a single tenant domain by id. Requires the GLOBAL_ADMIN role. POST (not GET) — used as a lookup-by-id action from the admin UI.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/domains/view
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Request body JSON

NameTypeDescription
domain_idinteger

Response 200

FieldTypeDescription
domainstring
Example response
JSON
{
  "domain": "string"
}

Errors

StatusMessage
404User not found
404No Data Found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/domains/view' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain_id":7}'

#Remove a domain

DELETE/v1/admin/tenant/domains

Remove a tenant domain. Requires the GLOBAL_ADMIN role. System domains (domain_status=2) cannot be removed.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/domains
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Request body JSON

NameTypeDescription
domain_idrequiredinteger

Response 200

FieldTypeDescription
successboolean
messagestring
Example response
JSON
{
  "success": true,
  "message": "Saved"
}

Errors

StatusMessage
400domain_id is required
404Domain not found
403System domains cannot be removed

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/domains' \
  -H "X-API-Key: $BRAMBLE_KEY"