publ betaReference (MCP guide)
Open publ console

photobook_catalogs_apply

# photobook_catalogs_apply

Changes catalogs in the Photobook app (pApp B00005). Another app code is refused before any request. Catalogs carry the memberships and prices that make posts subscriber-only or paid: link memberships, link posts, set the price, edit details, create or delete a catalog, or change their state. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once.

## Inputs

| Field | Required here | Contract |
| --- | --- | --- |
| `action` | Yes | When alternative 1: one of: `catalog_memberships`, `catalog_contents`, `catalog_pricing`, `catalog_details`, `catalog_delete` (by `kind`) |
| `action.catalogId` | Yes | When alternative 1 and `action.kind` is `catalog_memberships`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id. |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_memberships`: `CHANGE_CATALOG_MEMBERSHIPS` |
| `action.change` | Yes | When alternative 1 and `action.kind` is `catalog_memberships`: one of: `link`, `unlink` (by `kind`) |
| `action.change.membershipIds` | Yes | When alternative 1 and `action.kind` is `catalog_memberships` and `action.change.kind` is `link`: array; items: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id.; min items 1; max items 100 |
| `action.change.membershipId` | Yes | When alternative 1 and `action.kind` is `catalog_memberships` and `action.change.kind` is `unlink`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id. |
| `action.catalogId` | Yes | When alternative 1 and `action.kind` is `catalog_contents`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id. |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_contents`: `CHANGE_CATALOG_CONTENTS` |
| `action.change` | Yes | When alternative 1 and `action.kind` is `catalog_contents`: one of: `link`, `unlink`, `link`, `unlink` (by `kind`) |
| `action.change.postIds` | Yes | When alternative 1 and `action.kind` is `catalog_contents` and `action.change.kind` is `link` or `unlink`: array; items: integer; greater than 0; min items 1; max items 200 |
| `action.change.seriesIds` | Yes | When alternative 1 and `action.kind` is `catalog_contents` and `action.change.kind` is `link` or `unlink`: array; items: integer; greater than 0; min items 1; max items 200 |
| `action.catalogId` | Yes | When alternative 1 and `action.kind` is `catalog_pricing`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id. |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_pricing`: `CHANGE_CATALOG_PRICING` |
| `action.change` | Yes | When alternative 1 and `action.kind` is `catalog_pricing`: one of: `save`, `discard` (by `kind`) |
| `action.change.fields` | Yes | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: object |
| `action.change.fields.representationalName` | Yes | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: string; min length 2; max length 40 |
| `action.change.fields.currency` | No | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: `KRW`, `USD`; Optional consistency check. When omitted, use the freshly verified selected channel currency; do not ask the user to supply a value already available from preparation. |
| `action.change.fields.sellingPrice` | Yes | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: string; pattern `^(?:0\|[1-9]\d{0,8})(?:\.00)?$`; An amount in the selected channel currency. KRW uses hundreds; USD uses whole dollars. Do not supply internal CP units. |
| `action.change.fields.originalPrice` | No | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: string; pattern `^(?:0\|[1-9]\d{0,8})(?:\.00)?$`; An amount in the selected channel currency. KRW uses hundreds; USD uses whole dollars. Do not supply internal CP units. or null; Omitted or null means the same price as sellingPrice, matching an empty original-price field in the source full form. |
| `action.change.fields.unlockActionExpiryPeriodInDays` | Yes | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: `1` or `3` or `7` or `15` or `30` or `60` or `90` or `180` or `365` or null |
| `action.change.fields.isPurchaseAvailable` | Yes | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: boolean |
| `action.change.fields.availablePurchaseMethodsType` | Yes | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: `CASH_ONLY`, `CASH_AND_CP` |
| `action.catalogId` | Yes | When alternative 1 and `action.kind` is `catalog_details`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id. |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_details`: `CHANGE_CATALOG_DETAILS` |
| `action.change` | Yes | When alternative 1 and `action.kind` is `catalog_details`: one of: `rename`, `set_active` (by `kind`) |
| `action.change.title` | Yes | When alternative 1 and `action.kind` is `catalog_details` and `action.change.kind` is `rename`: string; min length 2; max length 40 |
| `action.change.isActive` | Yes | When alternative 1 and `action.kind` is `catalog_details` and `action.change.kind` is `set_active`: boolean |
| `action.catalogId` | Yes | When alternative 1 and `action.kind` is `catalog_delete`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id. |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_delete`: `DELETE_ARTICLE_CATALOG` |
| `confirmToken` | No | When 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. |
| `action` | Yes | When alternative 2: object |
| `action.kind` | Yes | When alternative 2: `catalog_create` |
| `action.confirmation` | Yes | When alternative 2: `CREATE_ARTICLE_CATALOG` |
| `action.title` | Yes | When alternative 2: string; min length 2; max length 40 |
| `action.membershipIds` | No | When alternative 2: array; items: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id.; max items 100; default `[]` |
| `action.pricing` | No | When alternative 2: object |
| `action.pricing.representationalName` | Yes | When alternative 2: string; min length 2; max length 40 |
| `action.pricing.currency` | No | When alternative 2: `KRW`, `USD`; Optional consistency check. When omitted, use the freshly verified selected channel currency; do not ask the user to supply a value already available from preparation. |
| `action.pricing.sellingPrice` | Yes | When alternative 2: string; pattern `^(?:0\|[1-9]\d{0,8})(?:\.00)?$`; An amount in the selected channel currency. KRW uses hundreds; USD uses whole dollars. Do not supply internal CP units. |
| `action.pricing.originalPrice` | No | When alternative 2: string; pattern `^(?:0\|[1-9]\d{0,8})(?:\.00)?$`; An amount in the selected channel currency. KRW uses hundreds; USD uses whole dollars. Do not supply internal CP units. or null; Omitted or null means the same price as sellingPrice, matching an empty original-price field in the source full form. |
| `action.pricing.unlockActionExpiryPeriodInDays` | Yes | When alternative 2: `1` or `3` or `7` or `15` or `30` or `60` or `90` or `180` or `365` or null |
| `action.pricing.isPurchaseAvailable` | Yes | When alternative 2: boolean |
| `action.pricing.availablePurchaseMethodsType` | Yes | When alternative 2: `CASH_ONLY`, `CASH_AND_CP` |
| `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. |
| `action` | Yes | When alternative 3: object |
| `action.kind` | Yes | When alternative 3: `catalog_bulk_state` |
| `action.catalogIds` | Yes | When alternative 3: array; items: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; The catalog ccid (for example CCID…) from the catalogs view, not its numeric id.; min items 1; max items 100 |
| `action.isActive` | Yes | When alternative 3: boolean |
| `action.confirmation` | Yes | When alternative 3: `CHANGE_CATALOGS_ACTIVE_STATE` |
| `confirmToken` | No | When alternative 3: 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. |