Organizations

List custom domains and DNS verification hints

Returns allowed hostnames for **this project**, primary hostname (per project), API base URL, and per-domain DNS guidance. Each row uses **`dnsRecords`** for the Mudbase ownership TXT (purpose **`mudbase_ownership`**) and the routing **CNAME** target that Mudbase provisions for the hostname (else the platform default target). Once the ownership TXT has passed at least once, Mudbase provisions and manages the TLS certificate for the hostname automatically and may add further checklist rows (for example `acme_challenge`) needed to complete certificate issuance. The certificate status field mirrors the managed certificate’s state during issuance (e.g. `pending_validation`, `active`). Managed edge TLS details are present only on deployments that serve managed edge certificates. Requires Growth, Scale, or Enterprise plan (custom domains included in plan features).

AuthBearer (JWT)
GroupOrganizations
Rate limitSee Rate Limits
GET/api/orgs/{orgId}/projects/{projectId}/domains

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.listOrgCustomDomains("org_Zabqrc7h45", "proj_PtO0l6xLALCr");
const { data: result } = await organizations.listOrgCustomDomains("org_Zabqrc7h45", "proj_PtO0l6xLALCr");

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-

Responses

200Domain list and hints
json
{
  "domains": [
    {
      "_id": "WHHDfeNRXMGYQQJi",
      "hostname": "Asa Jones",
      "status": "system synthesize",
      "isPrimary": true,
      "source": "imported",
      "createdAt": "2026-08-24T00:38:21.557Z",
      "verifiedAt": "2026-09-10T07:30:28.268Z",
      "lastVerifiedAt": "2026-08-09T20:42:25.055Z",
      "cnameSubmittedAt": "2026-07-23T05:01:03.964Z",
      "cnameApprovedAt": "2026-08-18T09:04:20.610Z",
      "customDomainVerificationStep": 36683,
      "routingCnameTarget": "Ida Lubowitz",
      "dnsRecords": [
        {
          "type": "capacitor override",
          "name": "Caroline Orn",
          "value": "sensor program",
          "purpose": "capacitor parse"
        }
      ],
      "platformActivationPending": true,
      "customDomainLiveForApiTraffic": false,
      "edge": {
        "saasIntegrationEnabled": false,
        "skipped": true,
        "reason": "card program",
        "customHostnameId": "Cindy Koelpin",
        "hostnameStatus": "Orrin Tillman",
        "sslStatus": "port transmit",
        "ownershipVerification": {
          "name": "Theodore Hyatt",
          "type": "transmitter hack",
          "value": "card parse"
        },
        "sslValidationRecords": [
          {
            "txtName": "Winifred Lebsack",
            "txtValue": "bus reboot",
            "httpUrl": "https://colorless-traditionalism.net/",
            "httpBody": "bus parse",
            "cname": "Cheryl Hintz",
            "cnameTarget": "Emerson Cremin-McDermott"
          }
        ],
        "lastError": "sensor compress",
        "instructions": "card index"
      },
      "flyCertificateStatus": "panel connect",
      "platformDnsVerification": {
        "recordType": "driver hack",
        "recordName": "Hailee Murphy",
        "recordValue": "panel parse",
        "ttlSeconds": 42174,
        "staffNote": "driver parse",
        "updatedAt": "2026-09-03T11:41:57.779Z"
      },
      "platformDnsVerificationSubmittedAt": "2026-08-26T19:03:49.289Z"
    }
  ],
  "dnsVerificationInstructions": "bandwidth reboot",
  "primaryHostname": "Rogers Boyle",
  "apiBaseUrl": "https://merry-violin.biz",
  "maxDomains": 66438,
  "customDomainAllowed": false
}
{
  "domains": [
    {
      "_id": "WHHDfeNRXMGYQQJi",
      "hostname": "Asa Jones",
      "status": "system synthesize",
      "isPrimary": true,
      "source": "imported",
      "createdAt": "2026-08-24T00:38:21.557Z",
      "verifiedAt": "2026-09-10T07:30:28.268Z",
      "lastVerifiedAt": "2026-08-09T20:42:25.055Z",
      "cnameSubmittedAt": "2026-07-23T05:01:03.964Z",
      "cnameApprovedAt": "2026-08-18T09:04:20.610Z",
      "customDomainVerificationStep": 36683,
      "routingCnameTarget": "Ida Lubowitz",
      "dnsRecords": [
        {
          "type": "capacitor override",
          "name": "Caroline Orn",
          "value": "sensor program",
          "purpose": "capacitor parse"
        }
      ],
      "platformActivationPending": true,
      "customDomainLiveForApiTraffic": false,
      "edge": {
        "saasIntegrationEnabled": false,
        "skipped": true,
        "reason": "card program",
        "customHostnameId": "Cindy Koelpin",
        "hostnameStatus": "Orrin Tillman",
        "sslStatus": "port transmit",
        "ownershipVerification": {
          "name": "Theodore Hyatt",
          "type": "transmitter hack",
          "value": "card parse"
        },
        "sslValidationRecords": [
          {
            "txtName": "Winifred Lebsack",
            "txtValue": "bus reboot",
            "httpUrl": "https://colorless-traditionalism.net/",
            "httpBody": "bus parse",
            "cname": "Cheryl Hintz",
            "cnameTarget": "Emerson Cremin-McDermott"
          }
        ],
        "lastError": "sensor compress",
        "instructions": "card index"
      },
      "flyCertificateStatus": "panel connect",
      "platformDnsVerification": {
        "recordType": "driver hack",
        "recordName": "Hailee Murphy",
        "recordValue": "panel parse",
        "ttlSeconds": 42174,
        "staffNote": "driver parse",
        "updatedAt": "2026-09-03T11:41:57.779Z"
      },
      "platformDnsVerificationSubmittedAt": "2026-08-26T19:03:49.289Z"
    }
  ],
  "dnsVerificationInstructions": "bandwidth reboot",
  "primaryHostname": "Rogers Boyle",
  "apiBaseUrl": "https://merry-violin.biz",
  "maxDomains": 66438,
  "customDomainAllowed": false
}
401Unauthorized
403Forbidden

Errors

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