publ betaReference (MCP guide)
Open publ console

publ Reference

Migration map.

channel_creation_options — read site creation choices

Read current template and app candidates plus the account's platform currency before preparing a new site. Use channel_create for a dry-run plan or execution. Static screen descriptions do not supply current account choices.

Input

Field Type Required Values
category enum string Yes HOMEPAGE, LECTURE, CONTENTS, EVENT, COUNSEL, COMMUNITY, or CUSTOM_SERVICE.

There is no default category. Omission, null, and unknown category values are invalid. The supported input contains no account/channel selector, credentials, currency override, or pagination controls.

{"category":"HOMEPAGE"}

Inputs

Field Required here Contract
category Yes HOMEPAGE, LECTURE, CONTENTS, EVENT, COUNSEL, COMMUNITY, CUSTOM_SERVICE

Result and identifier mapping

A successful payload uses the common MCP wrapper and contains:

Field Meaning
status success. There is no application success code, task ID, or verification field in this options result.
environment Adapter label: configured-server or demo-no-publ-requests.
category The requested category.
platform null, or an object with optional baseCurrency.
templates Returned catalog entries filtered to status:CURRENT. Each has channelTemplateCode, status, installedPAppCodes, and optional title/titleGlobal.
apps Candidate objects with code and optional name/nameGlobal. Pricing models are not included.

Pass templates[].channelTemplateCode as design.templateCode in a catalog creation. Pass apps[].code as an appCodes element for a blank design. Template titles, app names, template codes, and app codes are different values; do not substitute one for another. Use the code when a display name is absent.

Currency and app rules

An app must be released and visible in the store. Codes beginning with 3RD_ or Z, plus X00003 and X00005, are excluded. Inclusion here establishes only those candidate filters. Creation separately requires a default FREE model with matching app code and explicitly zero installation, monthly, and metered fees in the selected currency. Missing/paid/unverifiable pricing can still block a plan.

Catalog templates have fixed installed apps. Normally omit appCodes for a catalog design; an explicit array must match its available template configuration. A template containing an app outside the candidate policy can be listed here but creation returns CHANNEL_CREATION_PAYMENT_REVIEW_REQUIRED instead of proceeding. The options read does not reserve candidates or promise that a later plan will succeed.

Reads and completeness

The HTTP adapter makes these account-authenticated GET requests against the configured general API origin:

Path Purpose
/seller/api/v1/platform-management/information Platform information and currency.
/seller/api/v2/p-app-store/p-apps App store candidates and pricing data used internally.
/seller/api/v2/template-store/channel-template-catalogs Template catalog for the requested category.

The catalog query is channel_category_str=<category>, page=1, limit=100, sortBy=order_in_category, and order=ASC. Only the first requested page is read, then the CURRENT filter is applied. No next-page token or full-catalog completeness proof is returned. An absent template in this response is not proof that it does not exist elsewhere. The three reads are not an atomic snapshot.

No site is created, feature installed, asset uploaded, payment submitted, credential refreshed, or job saved. A local connection lock can be used during the read.

Failures and next action

AUTH_REQUIRED is a human-action result. Credential permissions/environment, CONNECTION_BUSY, PERMISSION_DENIED, OPTIONS_CONTRACT_UNVERIFIED, and upstream failures require attention to the actual cause. Do not invent candidates or continue creation after an unverified options result. Read again after the connection or service issue is resolved.

For hosted use, this tool belongs to the account resource, not a selected-channel resource. Local operators use the runtime connection flow; hosted users use the configured connection guide. Connection readiness alone is not live authorization. The next step is a dry run with channel_create.

Implementation: registration in src/server.ts, src/publ-http.ts::options, src/contracts.ts::availableApps and planChannel, and src/papp-pricing.ts.