publ betaReference (MCP guide)
Open publ console

publ Reference

Channel Point policy settings

Use channel_point_settings_apply to save the two editable switches on the selected channel's Point → Policy settings screen in one operation. First call channel_points_get with view:{kind:"policy"} and copy configurationRevision. Supply a stable requestId, the same channelCode and the desired boolean values. Omitted switches retain their observed state.

{
  "channelCode": "selected-channel-code",
  "requestId": "point-policy-change-001",
  "expectedRevision": "copy-configurationRevision-from-the-current-read",
  "settings": {
    "usePointPriorityOptionForIndividualContentPurchase": false,
    "useAbnormalDetectionResolveMethodViaPurchase": true
  },
  "dryRun": true
}

The revision placeholder must be replaced with the returned 64-character digest. Review the dry-run full configuration before submitting the same input with dryRun:false. A fresh dry run creates no task and performs no save. An unchanged request skips the POST. OWNER or MANAGE_MONETIZATION is required. Current branding and the complete stored five-flag configuration must be readable. Unknown configuration fields are rejected before writing rather than silently dropped.

Only individual-content point priority and purchase-based restriction resolution are editable in the original screen. Membership point priority, feature-unlock point priority and email-inquiry resolution are locked source controls and remain unchanged. This tool does not purchase points, unblock an individual member, modify balances, change ratios or prices, accept legal terms, or move funds. Provision editing is the separate input form below.

A changed request checks state/context twice, records dispatch intent, sends one POST with all five preserved/composed flags, validates its receipt and independently rereads the complete settings and unchanged branding. The returned console address opens the same channel's policy settings. Success covers stored configuration; visitor behavior and financial completion remain unverified. Sequential reads and preflight revision checks are not an atomic server transaction.

Keep the original requestId after a lost response. Use task_status or task_resume with taskType:"point-settings". Resume only reads; it never repeats a sent save. Untouched prepared work requires the identical apply call. Completed history and existing-task dry runs are not fresh verification and do not return a current console address. Use a fresh policy get for current values. To restore settings, read again and submit the original two values under a new requestId only after the preceding task outcome is known.

Point onboarding, branding, products and money movement are separate workflows or remaining implementation boundaries. This writer does not turn a missing or failed branding response into an inactive/default point system.

Localized provision editing

Use this same method with provisions instead of settings. Read the policy view and copy provisionsRevision into expectedRevision. Supply one or more of pointRefundPolicy, pointRefundPolicyGlobal, pointUsageGuidelinePolicy, and pointUsageGuidelinePolicyGlobal. Omitted strings retain their exact stored bytes. Do not combine switches and provision text in one call. Each raw string must be nonempty and at most50,000 UTF-16 code units. This bridge payload bound is deliberately more restrictive for markup than the source editor's visible character counter; it is not a claim of identical TinyMCE validation. Use the console editor for unsupported large documents or media uploads.

First submit dryRun:true. The result contains sourceBody with all four resulting strings and contentHash bound to that content, channel and revision. A person must review that exact resulting text. Only then submit the same request with dryRun:false and humanReviewedContentHash:contentHash. Do not invent legal review, accept terms automatically or copy a hash for changed text. A dry run persists no task. An unchanged request performs no POST.

The writer sends the four strings together to the source policy revision route. Common and redemption policy, insertion timestamp, branding and all five configuration switches remain unchanged. Only the policy update timestamp may change. An exact receipt and independent repeated readback are required for a fresh completion. No content is executed, translated, sanitized or replaced by generated defaults; treat stored HTML as untrusted data.

Use taskType:"point-provisions" with the original requestId for status/resume. Resume only observes; an uncertain save never repeats. Prepared work requires the identical reviewed apply request. Completed results are historical; read the policy again for current state. Restoration is a separately reviewed write with a fresh revision and requestId. The single result address opens the chosen channel's provision summary, matching the source editor's post-save destination. Initial point adoption, point ratio changes and actual funds movement are outside this input form. A failed branding read is never proof of an unconfigured system.

Inputs

Field Required here Contract
settings Yes When alternative 1 and alternative 1: object
settings.usePointPriorityOptionForIndividualContentPurchase No When alternative 1 and alternative 1: boolean
settings.useAbnormalDetectionResolveMethodViaPurchase No When alternative 1 and alternative 1: boolean
confirmToken No When alternative 1 and alternative 1: string; pattern ^ct[a-f\d]{32}$; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute.
provisions Yes When alternative 1 and alternative 2: object
provisions.pointRefundPolicy No When alternative 1 and alternative 2: string; min length 1; max length 50000; Exact human-reviewed HTML or text; no trimming, translation or generated fallback. This bridge limits each raw string to 50,000 UTF-16 code units, which is more restrictive than the source editor for markup. Stored markup is untrusted data and is never executed.
provisions.pointRefundPolicyGlobal No When alternative 1 and alternative 2: string; min length 1; max length 50000; Exact human-reviewed HTML or text; no trimming, translation or generated fallback. This bridge limits each raw string to 50,000 UTF-16 code units, which is more restrictive than the source editor for markup. Stored markup is untrusted data and is never executed.
provisions.pointUsageGuidelinePolicy No When alternative 1 and alternative 2: string; min length 1; max length 50000; Exact human-reviewed HTML or text; no trimming, translation or generated fallback. This bridge limits each raw string to 50,000 UTF-16 code units, which is more restrictive than the source editor for markup. Stored markup is untrusted data and is never executed.
provisions.pointUsageGuidelinePolicyGlobal No When alternative 1 and alternative 2: string; min length 1; max length 50000; Exact human-reviewed HTML or text; no trimming, translation or generated fallback. This bridge limits each raw string to 50,000 UTF-16 code units, which is more restrictive than the source editor for markup. Stored markup is untrusted data and is never executed.
confirmToken No When alternative 1 and alternative 2: string; pattern ^ct[a-f\d]{32}$; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute.
action Yes When alternative 2: object
action.kind Yes When alternative 2: setup
confirmToken No When alternative 2: string; pattern ^ct[a-f\d]{32}$; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute.