publ betaReference (MCP guide)
Open publ console

publ Reference

Channel discovery, context, and archiving

Use account discovery to find a channel, channel context to confirm the intended target, and the archive workflow to change only its directory classification. These operations have different credential and hosted-resource requirements.

Current response compatibility follows the source channel-code fallback, including explicit null legacy fields. It does not change inputs, normalized revisions or task recovery.

Find a target

Call channels_list:

{"page":1,"limit":15,"markChannelAs":"RUNNING"}

Follow nextPage with the same filters and limit until you find the intended channel. Select by the returned identity, not title alone. Use NO_INTEREST to read archived channels. RUNNING is a list classification; actual lifecycle state is separate. An incomplete or malformed page is an error, not evidence that the account has no channels.

credentialPresent:true means a credential entry exists locally. To work inside the selected channel, call channel_context_get with its actual returned code:

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

The context result confirms that matching channel detail was read with its credential. Its role/permissions are descriptive claims and do not verify all workflow permissions. Keep supplying the explicit channel code in each subsequent tool; no shared current channel is switched.

On hosted connections, the account resource exposes directory/archiving tools, while a separately authorized selected-channel resource exposes the context read. Follow the hosted dashboard's resource selection and each connection's actual discovery. The account list's suggested next step cannot cross this boundary by itself. Missing credentials require a human connection repair, never passwords or tokens in chat. A changed connection identity can affect unfinished jobs.

Archive or unarchive

For each chosen row, copy the current channelCode and revision. Prepare channels_mark_apply with a unique request ID, 1–50 targets in the intended order, the desired markChannelAs, and dryRun:true. The tool page includes the full input shape.

Inspect the new plan's target titles, from, to, writeNeeded, and impact. Execute with the same request ID and business inputs, changing only dryRun to false. The account token is sufficient for this directory operation; channel context is needed for channel workflows, not a prerequisite to archive a listed row.

A verified completion is CHANNEL_MARK_APPLIED, phase:done, and the expected completed/target counts. The workflow reads both classifications completely, checks selected revisions and checkpoints, and verifies their final values. A target already in the requested classification counts as completed without a write. No site deletion, deactivation, publication change, or payment cancellation follows from this result.

To unarchive later, read NO_INTEREST again, use those fresh revisions in a new RUNNING request, and inspect its plan. Unarchiving does not relaunch or reactivate a site.

Inspect an interrupted batch

Call task_status with the actual original ID:

{"taskId":"example-channel-archive-001","taskType":"channel-archive"}

If continuing the saved operation is intended, pass the same ID/type to task_resume. Resume can perform remaining writes. The directory reads' taskType:channel-directory is not a supported recovery type.

prepared can proceed after revalidation. sent observes the uncertain change without replaying its POST; only a matching selected-target checkpoint permits progress. A later failure leaves earlier changes applied, with no automatic rollback. Keep the original request ID after interruption; a new ID must not be used to force a retry. A done replay returns history, so use a fresh list for current state.

Operational boundaries

Archive planning/execution reads both complete account lists in pages of 100 and supports at most 5,000 combined rows. Concurrent total changes or duplicate identities stop it. The final comparison covers selected rows; it is not an atomic server transaction or a preservation check of every unselected channel. A successful readback does not prove browser behavior, live multi-user isolation, or causal attribution to this task alone.

Reference index · Common results · Hosted discovery

Exact channel-list destination

The response's selection preserves the normalized API request; filters and pagination keep their existing meanings. consoleView contains exactMatch, page, limit, markChannelAs and omitted. It describes the browser destination, not a replacement for the API selection.

The original AllChannels screen accepts page sizes 15, 30, 50 and 100 and reads page, limit and markChannelAs. Without installed-feature filters, the single URL preserves that exact selection, using the central console origin. If the API request uses another valid size or nonempty installedPAppCodes, the URL opens the same archive classification at page 1 with 15 rows. consoleView.exactMatch is false, omitted identifies installedPAppCodes where applicable and pagination, and navigation labels this as a broader parent list. The API result still contains the originally requested page/filter. The bridge never fabricates an unsupported UI filter query or claims that this broader list is the same result.

An empty out-of-range API page retains the existing successful-read contract and its requested page when representable; it is not evidence the account is empty.

Archive-result destination

New plans and progress include the intended markChannelAs. A new PLAN_READY and a freshly verified CHANNEL_MARK_APPLIED return one parent console link at /all-channels?page=1&limit=15&markChannelAs=<requested-classification> through the central console origin. A batch can span multiple pages, so this is its matching classification's parent list, not a claim that every selected channel appears on the first page. A plan has not saved the classification. Follow the current directory pagination to find each selected identity after a completed operation.

Navigation validates the plan's target transitions or the completion's counts, identities and classifications. Partial failures, uncertain outcomes and stored history provide no current destination. Read progress and use the original task for recovery; a missing link never permits resending an uncertain write. The earlier saved-plan replay contract remains in force. No site launch, suspension, publication, payment or deletion action follows from an archive classification.

Saved record identity

Existing apply/dry-run calls and task status/resume require both the saved task ID and saved input requestId to match the requested ID. A mismatching or malformed saved identity returns TASK_STATE_UNVERIFIED before workflow context or business reads. Preserve the original record for inspection; do not rename/edit it, try its embedded ID or create a replacement request to bypass the error. No record is repaired or resent. Matching records retain their existing recovery and freshness checks; this rule does not convert them into universally read-only calls.