Organizations

Custom domain step 2 (optional): org confirms routing CNAME was added

Usually unnecessary. With automated certificate provisioning, the Mudbase TXT verify may already set `cname_approved`. Legacy pipelines may queue `cname_pending_staff` until staff **`approve-cname`**. Use **`routingCnameTarget`** from **`GET .../projects/{projectId}/domains`** (the managed routing CNAME target when provisioned, else the platform default target).

AuthBearer (JWT)
GroupOrganizations
Rate limitSee Rate Limits
POST/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}/submit-cname

SDK 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.orgCustomDomainSubmitCname("org_HDDyOgjjUq", "proj_3rvNy6VB5ATD", "Carroll Streich-Donnelly");
const { data: result } = await organizations.orgCustomDomainSubmitCname("org_HDDyOgjjUq", "proj_3rvNy6VB5ATD", "Carroll Streich-Donnelly");

Playground

live

Test this endpoint with your own credentials. Your requests will be sent to the live API.

Use the auth endpoints to obtain a JWT.

No Request Yet

Send a request to see the full inspector

Authentication

Requires JWT
Note
Include your JWT in the Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →

Path Parameters

NameTypeRequiredDescription
orgIdstringYes-
projectIdstringYes-
hostnamestringYes-

Responses

200Updated domain row
json
{
  "success": true,
  "domain": {
    "_id": "hZnryo8KvYooSGj4",
    "hostname": "Isaias Mann",
    "status": "bandwidth quantify",
    "isPrimary": false,
    "source": "api",
    "createdAt": "2026-08-28T08:29:45.083Z",
    "verifiedAt": "2026-09-01T23:15:46.145Z",
    "lastVerifiedAt": "2026-07-27T19:04:18.477Z",
    "cnameSubmittedAt": "2026-07-22T11:54:26.095Z",
    "cnameApprovedAt": "2026-08-04T07:43:48.601Z",
    "customDomainVerificationStep": 67788,
    "routingCnameTarget": "Katrina Crona",
    "dnsRecords": [
      {
        "type": "hard drive quantify",
        "name": "Jacky Howe",
        "value": "microchip parse",
        "purpose": "feed navigate"
      }
    ],
    "platformActivationPending": false,
    "customDomainLiveForApiTraffic": true,
    "edge": {
      "saasIntegrationEnabled": true,
      "skipped": true,
      "reason": "monitor compress",
      "customHostnameId": "Alexandrine Casper DVM",
      "hostnameStatus": "Jermey Marks",
      "sslStatus": "array hack",
      "ownershipVerification": {
        "name": "Alejandro Bode MD",
        "type": "interface reboot",
        "value": "sensor program"
      },
      "sslValidationRecords": [
        {
          "txtName": "Crawford Huels",
          "txtValue": "bandwidth program",
          "httpUrl": "https://unpleasant-heartache.net/",
          "httpBody": "monitor navigate",
          "cname": "Leigh Kohler",
          "cnameTarget": "Emily Conn"
        }
      ],
      "lastError": "port compress",
      "instructions": "interface input"
    },
    "flyCertificateStatus": "driver synthesize",
    "platformDnsVerification": {
      "recordType": "circuit navigate",
      "recordName": "Toby Mosciski",
      "recordValue": "circuit override",
      "ttlSeconds": 91387,
      "staffNote": "alarm quantify",
      "updatedAt": "2026-09-02T17:49:16.230Z"
    },
    "platformDnsVerificationSubmittedAt": "2026-08-18T20:47:48.590Z"
  },
  "dnsVerificationInstructions": "bandwidth reboot"
}
{
  "success": true,
  "domain": {
    "_id": "hZnryo8KvYooSGj4",
    "hostname": "Isaias Mann",
    "status": "bandwidth quantify",
    "isPrimary": false,
    "source": "api",
    "createdAt": "2026-08-28T08:29:45.083Z",
    "verifiedAt": "2026-09-01T23:15:46.145Z",
    "lastVerifiedAt": "2026-07-27T19:04:18.477Z",
    "cnameSubmittedAt": "2026-07-22T11:54:26.095Z",
    "cnameApprovedAt": "2026-08-04T07:43:48.601Z",
    "customDomainVerificationStep": 67788,
    "routingCnameTarget": "Katrina Crona",
    "dnsRecords": [
      {
        "type": "hard drive quantify",
        "name": "Jacky Howe",
        "value": "microchip parse",
        "purpose": "feed navigate"
      }
    ],
    "platformActivationPending": false,
    "customDomainLiveForApiTraffic": true,
    "edge": {
      "saasIntegrationEnabled": true,
      "skipped": true,
      "reason": "monitor compress",
      "customHostnameId": "Alexandrine Casper DVM",
      "hostnameStatus": "Jermey Marks",
      "sslStatus": "array hack",
      "ownershipVerification": {
        "name": "Alejandro Bode MD",
        "type": "interface reboot",
        "value": "sensor program"
      },
      "sslValidationRecords": [
        {
          "txtName": "Crawford Huels",
          "txtValue": "bandwidth program",
          "httpUrl": "https://unpleasant-heartache.net/",
          "httpBody": "monitor navigate",
          "cname": "Leigh Kohler",
          "cnameTarget": "Emily Conn"
        }
      ],
      "lastError": "port compress",
      "instructions": "interface input"
    },
    "flyCertificateStatus": "driver synthesize",
    "platformDnsVerification": {
      "recordType": "circuit navigate",
      "recordName": "Toby Mosciski",
      "recordValue": "circuit override",
      "ttlSeconds": 91387,
      "staffNote": "alarm quantify",
      "updatedAt": "2026-09-02T17:49:16.230Z"
    },
    "platformDnsVerificationSubmittedAt": "2026-08-18T20:47:48.590Z"
  },
  "dnsVerificationInstructions": "bandwidth reboot"
}
400custom_domain_invalid_state
401Unauthorized
403Forbidden

Errors

CodeMeaning
400custom_domain_invalid_state
401Unauthorized
403Forbidden
Edit this page on GitHub
Chat with us