publ betaReference (MCP guide)
Open publ console

publ Reference

Migration map.

segment_entities

Read one page of selectable flat core entities for an observed condition. The server derives targetEntity from the current definition; callers cannot submit an arbitrary model or endpoint. Access and identity follow the reader.

Input

Input Contract
channelCode Required selected channel code.
selection Required strict four-field object from condition discovery; no kind discriminator.
selection.majorCategoryCode Observed code, [A-Z0-9_-]{1,64}.
selection.subjectCode Observed code with the same format.
selection.itemCode Integer 0–999999, copied from the selected item.
selection.evaluationType FINALIZED or MUTABLE.
page Positive safe integer, default 1.
limit 15, 30, 50 or 100; current default 100, matching the flat source modal.
search Optional untrimmed string, at most 500 characters.
{"channelCode":"selected-channel-code","selection":{"majorCategoryCode":"USER","subjectCode":"A","itemCode":1,"evaluationType":"FINALIZED"},"page":1,"limit":15}

This shape example is not proof that the illustrative condition requires entities. Call only with an observed definition whose entity slot is ENTITY_SELECT_MODAL.

Supported targets and result

Supported exact targetEntity values are:

  • CORE-MEMBERSHIP-PRICE-PRODUCT[SUBSCRIPTION-OR-ONCE]:SINGULAR and :MULTIPLE.
  • CORE-CONTENT-CATEGORY-PRODUCT:SINGULAR and :MULTIPLE.
  • CORE-P-APP-UNLOCK-PRODUCT:SINGULAR and :MULTIPLE.
  • CORE-MEMBERSHIP:SINGULAR; CORE-MEMBERSHIP-PRICE-PRODUCT:SINGULAR.
  • CORE-CHANNEL-POINT-PRODUCT[APP]:SINGULAR; CORE-CP-POINT-PRODUCT[WEB]:SINGULAR.
  • CORE-SHORTEN-CONVERSION-LINK:SINGULAR.
  • CORE-COUPON:SINGULAR and :MULTIPLE.
  • CORE-QUESTIONNAIRE:SINGULAR; CORE-DISCOUNT-CODE:SINGULAR.

The source request strips the multiplicity suffix after validating this allowlist. Installed-feature/nested selectors return SEGMENT_ENTITY_UNSUPPORTED; absent entity slots return SEGMENT_ENTITY_NOT_REQUIRED. Do not substitute a different target to bypass either result.

Success is SEGMENT_ENTITIES with targetEntity, entities and pagination {currentPage,limit,totalEntries}. Rows project distinctId, title, optional positive safe-integer id/channelId and optional isDeleted. Distinct IDs obey the segment input identity contract and must be unique; a present channelId must match. Copy current distinctIds into the corresponding condition's targetEntityIds. A listed row is not necessarily usable later: composition separately rejects deleted or missing entities.

Only GET transport is used here. No entity mutation or task occurs. Navigation uses the single actual segments list URL.

Current selector pagination

Current default is page1/limit100, matching EntitySelectModalA; this supersedes the historical limit15 default without changing explicit15/30/50/100 inputs. SEGMENT_ENTITY_PAGE_OUT_OF_RANGE rejects a page beyond the observed total. An empty first page is valid; explicitly request page1 again after a range error. No replacement page is read. The selector uses local modal state with URL sync disabled, so its query is never appended to the standalone segment list address. The one returned link opens that real parent list, not a selected/open modal.

Current observations use the bounded response and recovery rules. An oversized response is not a successful empty result. If a write was already sent, retain its original task and reconcile; the failed read does not authorize repeating the change.

Current source details

Each row adds sourceDetails with only the fields used by its original core selector: product alias/type/state/price/expiry, membership product count and image/date, content feature/count, point product visibility/source amounts/platform, conversion keyword/hits, coupon audience/expiry, discount code/state or questionnaire response count. All15 currently supported flat selectors are mapped; unsupported installed/nested selectors remain unsupported. No new input is required.

Optional data stays missing or null; observed zero and false remain explicit. Price keeps source currency and amount strings; CP and point values are not converted to a guessed cash or branded-point display. Dates/codes remain literal, and image references are not fetched. Unknown fields, including unknown price members, are stripped. Known malformed fields fail with SEGMENT_ENTITY_DETAILS_UNVERIFIED. The repeated observation compares these fields as well as identities; drift fails with SEGMENT_ENTITIES_CHANGED. No price or status field is a purchase/eligibility guarantee. Resolver/save metadata is unchanged. See selection guidance.

Inputs

Field Required here Contract
selection Yes object
selection.majorCategoryCode Yes string; pattern ^[A-Z0-9_-]{1,64}$
selection.subjectCode Yes string; pattern ^[A-Z0-9_-]{1,64}$
selection.itemCode Yes integer; minimum 0; maximum 999999
selection.evaluationType Yes FINALIZED, MUTABLE
page No integer; greater than 0; default 1
limit No 15 or 30 or 50 or 100; default 100
search No string; max length 500