Organizations
Verify domain ownership via DNS TXT
Looks up TXT at `_mudbase-verify.<hostname>` for value `mudbase-domain-verification=<token>`. On a successful verify, Mudbase begins provisioning and managing the TLS certificate for the hostname automatically. Depending on the deployment, the response may include managed edge TLS details with domain-control validation (DCV) hints for the certificate. When automated certificate provisioning is in effect, a successful verify records the certificate’s DNS requirements and status may advance to **`cname_approved`** in the same response (no staff **`approve-cname`** step). Otherwise, first success from `pending`/`failed` may move to **`cname_pending_staff`** and queue platform review as before. The **200** response may include **`dnsRecords`**, certificate status, and **`routingCnameTarget`** for the managed certificate once its requirements are provisioned.
/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}/verify-dnsSDK setup
Create a client and set credentials (JWT and/or API key) before calling the API. Match the authentication type shown above.
import { Configuration, OrganizationsApi } from 'mudbase-sdk';
const configuration = new Configuration({
basePath: 'https://cloud.mudbase.dev',
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});
const organizations = new OrganizationsApi(configuration);import { Configuration, OrganizationsApi } from 'mudbase-sdk';
const configuration = new Configuration({
basePath: 'https://cloud.mudbase.dev',
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});
const organizations = new OrganizationsApi(configuration);Example request
Call this endpoint using the client from SDK setup. Use View HTTP for a raw cURL example.
const { data: result } = await organizations.verifyOrgCustomDomainDns("org_T6QGaEAH9V", "proj_n3WS5f2hAnIY", "Kristofer Schneider-Hansen");const { data: result } = await organizations.verifyOrgCustomDomainDns("org_T6QGaEAH9V", "proj_n3WS5f2hAnIY", "Kristofer Schneider-Hansen");Playground
liveTest this endpoint with your own credentials. Your requests will be sent to the live API.
No Request Yet
Send a request to see the full inspector
Authentication
Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
orgId | string | Yes | - |
projectId | string | Yes | - |
hostname | string | Yes | - |
Responses
{
"success": true,
"hostname": "Loma Rutherford",
"status": "bus override",
"verificationToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfZGVtbyJ9.sig_sample",
"challengeHost": "pixel program",
"expectedTxt": "bandwidth override",
"dnsTxtHost": "application calculate",
"dnsTxtValue": "monitor reboot",
"edge": {
"saasIntegrationEnabled": false,
"skipped": false,
"reason": "application generate",
"customHostnameId": "Everett Stracke",
"hostnameStatus": "Ms. Coty Raynor",
"sslStatus": "system hack",
"ownershipVerification": {
"name": "Belinda Adams",
"type": "panel hack",
"value": "driver navigate"
},
"sslValidationRecords": [
{
"txtName": "Audra Padberg",
"txtValue": "array synthesize",
"httpUrl": "https://unwieldy-duster.name",
"httpBody": "matrix quantify",
"cname": "Josiah Kovacek",
"cnameTarget": "Amir Johnson"
}
],
"lastError": "firewall input",
"instructions": "protocol generate"
},
"dnsRecords": [
{
"type": "array navigate",
"name": "Vince Dicki",
"value": "array parse",
"purpose": "card back up"
}
],
"flyCertificateStatus": "sensor program",
"flyAcmeEnabled": true,
"flyAcmeDisabledReason": "feed synthesize",
"flyProvisionError": "card program",
"flyLegacyStaffPipeline": false
}{
"success": true,
"hostname": "Loma Rutherford",
"status": "bus override",
"verificationToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfZGVtbyJ9.sig_sample",
"challengeHost": "pixel program",
"expectedTxt": "bandwidth override",
"dnsTxtHost": "application calculate",
"dnsTxtValue": "monitor reboot",
"edge": {
"saasIntegrationEnabled": false,
"skipped": false,
"reason": "application generate",
"customHostnameId": "Everett Stracke",
"hostnameStatus": "Ms. Coty Raynor",
"sslStatus": "system hack",
"ownershipVerification": {
"name": "Belinda Adams",
"type": "panel hack",
"value": "driver navigate"
},
"sslValidationRecords": [
{
"txtName": "Audra Padberg",
"txtValue": "array synthesize",
"httpUrl": "https://unwieldy-duster.name",
"httpBody": "matrix quantify",
"cname": "Josiah Kovacek",
"cnameTarget": "Amir Johnson"
}
],
"lastError": "firewall input",
"instructions": "protocol generate"
},
"dnsRecords": [
{
"type": "array navigate",
"name": "Vince Dicki",
"value": "array parse",
"purpose": "card back up"
}
],
"flyCertificateStatus": "sensor program",
"flyAcmeEnabled": true,
"flyAcmeDisabledReason": "feed synthesize",
"flyProvisionError": "card program",
"flyLegacyStaffPipeline": false
}{
"success": true,
"code": "dns_verification_failed",
"error": "program back up",
"challengeHost": "pixel program",
"expectedTxt": "bandwidth override",
"dnsTxtHost": "application calculate",
"dnsTxtValue": "monitor reboot",
"status": "bus override",
"verificationToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfZGVtbyJ9.sig_sample"
}{
"success": true,
"code": "dns_verification_failed",
"error": "program back up",
"challengeHost": "pixel program",
"expectedTxt": "bandwidth override",
"dnsTxtHost": "application calculate",
"dnsTxtValue": "monitor reboot",
"status": "bus override",
"verificationToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfZGVtbyJ9.sig_sample"
}Errors
| Code | Meaning |
|---|---|
400 | dns_verification_failed (TXT missing or wrong); body includes dnsTxtHost, dnsTxtValue, challengeHost, expectedTxt |
503 | dns_lookup_error |