publ betaReference (MCP guide)
Open publ console

publ Reference

Migration map.

papps_get

Read the feature catalog, installed instances, plan-specific pricing options and install/remove restrictions before changing an existing channel. This tool does not install features, change pricing, refresh credentials or create a task.

Input Contract
channelCode Required nonempty selected-channel code; . and .. are rejected
pAppCode Optional exact feature code containing ASCII letters, digits or underscores
query Optional case-insensitive substring search in catalog code and friendly names; at most 200 characters, default empty
offset Optional integer, at least 0; default 0
limit Optional integer 1–50; default 20
{"channelCode":"selected-channel-code","query":"board","offset":0,"limit":20}
{"channelCode":"selected-channel-code","pAppCode":"A00003"}

Codes and channels are illustrative; select real values from authorized discovery. OWNER or a selected-channel DELEGATEE with MANAGE_P_APP_INSTALL_UNINSTALL is required, even for this read. CREATOR is denied. Hosted account scope excludes this tool; a hosted channel must match its exact selected channel.

Success returns code:PAPPS, channel/current plan, nullable accountType, apps, installed, detail, catalogCoverage, revision, total, nextOffset, removalImpact, paymentPolicy and verification. The task-type label papp-lifecycle does not mean that a read created a task.

  • apps contains the filtered catalog slice. It excludes X00001 and entries hidden from the store, but visible unreleased entries can remain with an installBlock. pricingModels are filtered by the current plan's class prefix. directInstall combines install eligibility, matching feature code and confirmed zero fees; it is not an unconditional authorization to install.
  • installed contains current installed rows, excluding X00001 and optionally filtering by pAppCode. Query and pagination do not limit this array. Keep the numeric installed ID distinct from its feature code and pricing-model ppmid; alias:null stays null.
  • detail is read only when a supplied pAppCode identifies an installed entry. Otherwise it is null. A missing or mismatched detail for an entry in the installed snapshot fails verification instead of reporting confirmed absence.
  • total and nextOffset describe the filtered catalog, not installed-row pagination. catalogCoverage.retainedCount describes all retained catalog rows before display filtering. omittedCodes lists sorted placeholder identifiers; allRowsUsable is false when any were omitted. These fields do not prove store-wide availability or effective visitor access.

Only catalog rows with all three of manifest, releaseControl and information explicitly null may be omitted as placeholders. Invalid present metadata and duplicate identifiers still fail. Omission never supplies a free price or install eligibility; an installed feature whose catalog policy cannot be resolved cannot be removed automatically. Account type null is unknown, not PERSONAL or BUSINESS.

The revision covers the full received plan/currency/account/catalog/installed snapshot and nonempty omission diagnostics, with relevant arrays sorted for hashing. Search and pagination do not narrow it. Copy the returned hash into install/remove; do not hash only the displayed page. A client revision is not an atomic server write lock.

installedPAppPricingModels.current and next preserve current and scheduled states. A scheduled next plan is not active. Pricing values remain strings; direct installation requires verified zero installation, monthly and usage fees in the channel's currency. A FREE label alone is insufficient. See the workflow guide.

verification.confirmed:true with method catalog_and_installed_read confirms the accepted stored observation; effectiveVisitorUse:false excludes visitor functionality. Response-shape errors use PAPP_RESPONSE_UNVERIFIED; list/detail disagreement uses PAPP_DETAIL_UNVERIFIED. These are not empty-list successes. The common navigation wrapper returns one appropriate store destination when resolvable, not one link per row.

Install · Remove · Human pricing/plan handoff · Workflow and evidence boundaries

Selected installed identity

The detail response must match both the selected numeric installed ID and feature code. The same feature code alone is insufficient. A mismatch returns the existing detail/target error before exposing detail or a console destination. No payment, installation, removal or credential refresh is performed by this check.

Installed-feature availability

Installation enables the feature; there is no separate activation/deactivation step. Raw isActive is a legacy observed value and must not be interpreted as an activation prerequisite. Use design_access_get and design_access_apply for supported visitor-access restrictions, and retain their paid-access limitations. Uninstall destroys data and is not a substitute for restricting access. Catalog publication, product availability, pricing and notification switches remain separate settings.

Inputs

Field Required here Contract
app No string; min length 1; max length 100; The feature: its code from papps_get (for example C00001) or its exact store name.
query No string; max length 200
offset No integer; minimum 0
limit No integer; minimum 1; maximum 50