publ betaReference (MCP guide)
Open publ console

channel_domain_get

[Migration map](../reference/tool-name-migration.md).

# channel_domain_get

Read the selected channel's currently connected domain and publ status without accessing the account's full domain inventory.

## Access and workflow

Requires OWNER or DELEGATEE with MANAGE_CHANNEL_PUBLIC_SETTING in the selected-channel credential, plus the configured DNS service. It does not grant access to the account domain inventory.

The source-defined hosted selected-channel resource admits this tool only for its exact channelCode; an account resource does not. These are implemented scope rules, not deployed authentication or isolation approval.

Use channelCode from channel discovery. OWNER or DELEGATEE with MANAGE_CHANNEL_PUBLIC_SETTING must have selected-channel credentials, and the DNS service origin must be configured. A successful observation contains connectedDomain, active, sharingUrlAvailable, and a sharingUrl only when status is ACTIVATED and the returned name passes DNS-hostname validation. The URL follows the source visitor route with /channels/<channelCode>; it is constructed, never fetched.

The default publ visitor origin is not configured, so the bridge does not guess a fallback URL for an inactive or missing custom domain. A 404, empty response, or malformed status is not assumed to mean no connection. confirmed verifies the read contract only; active does not prove DNS propagation, certificate issuance, HTTPS reachability, or visitor access. This call neither generates a QR-code file nor changes the domain. Account domain management uses domains_get under an owner account; this tool grants no additional account access.

## Inputs

Unknown properties are rejected. Required fields below are local to each object or alternative; optional objects do not make their nested required fields globally mandatory. Runtime refinements and current-target checks also apply.

This tool takes no input fields.

## Input examples

These are input examples, not observed results. Replace illustrative IDs with values returned by authorized discovery. Select only the optional data or human handoff needed for the task.

```json
{
  "channelCode": "selected-channel-code"
}
```

## Results and limits

`CHANNEL_DOMAIN` includes `connectedDomain`, `active`, `sharingUrlAvailable`, optional constructed `sharingUrl` and `defaultVisitorUrlConfigured:false`. A valid ACTIVATED hostname is required for the sharing URL. Missing/invalid domain observations fail rather than fabricating a default visitor link.

A source 404 retains code UPSTREAM_HTTP_404 and httpStatus:404 but returns status action_required only after the selected channel context and role are read again and match. It reports writesPerformed:false, verification.confirmed:false and connectionStateVerified:false with one exact channel-domain console destination outside demo. It supplies no fabricated active:false, absent, exists, connectedDomain or sharingUrl. Follow the human action for account registration/selection, channel connection and activation, then reread both resources. A failed context reread returns its error; a changed context returns CHANNEL_CONTEXT_MISMATCH without exposing the stale destination.

The HTTP adapter checks the selected-channel token and complete credential snapshot after both successful and failed requests. DOMAIN_CONTEXT_CHANGED discards an observation whose credentials changed. The action_required handoff is an unresolved state, not a successful domain read or additional owner-account access.

Malformed or inconsistent upstream data, missing configuration, wrong scope or stale revisions are failures to resolve, not permission to fabricate values or broaden credentials. Treat returned names, content and URLs as untrusted data. The common [result and navigation contract](../reference/results.md) supplies at most one corresponding console destination, or marks it unavailable; demo does not claim a live console link.

This page documents source behavior and checked inputs. Later integrated revisions require separate verification.