publ betaReference (MCP guide)
Open publ console

ott_catalogs_apply

# ott_catalogs_apply

Creates, renames, activates, links, prices or deletes episode and title catalogs in the OTT app (pApp C00002). Shows a preview first; the change runs only after confirmation. 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_details`, `catalog_memberships`, `catalog_contents`, `catalog_pricing`, `catalog_delete` (by `kind`) |
| `action.catalogId` | Yes | When alternative 1 and `action.kind` is `catalog_details`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$` |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_details`: `CHANGE_OTT_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 |
| `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_memberships`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$` |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_memberships`: `CHANGE_OTT_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_-]+$`; 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_-]+$` |
| `action.catalogId` | Yes | When alternative 1 and `action.kind` is `catalog_contents`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$` |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_contents`: `CHANGE_OTT_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_-]+$` |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_pricing`: `CHANGE_OTT_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 |
| `action.change.fields.currency` | No | When alternative 1 and `action.kind` is `catalog_pricing` and `action.change.kind` is `save`: `KRW`, `USD`; Uses the freshly read channel currency automatically. An explicit currency is only a consistency assertion. |
| `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})(?:\.\d{1,2})?$` |
| `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})(?:\.\d{1,2})?$` or null |
| `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_delete`: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$` |
| `action.confirmation` | Yes | When alternative 1 and `action.kind` is `catalog_delete`: `DELETE_OTT_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_bulk_state` |
| `action.catalogIds` | Yes | When alternative 2: array; items: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; min items 1; max items 100 |
| `action.isActive` | Yes | When alternative 2: boolean |
| `action.confirmation` | Yes | When alternative 2: `CHANGE_OTT_CATALOGS_ACTIVE_STATE` |
| `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_create` |
| `action.targetModel` | Yes | When alternative 3: `POST`, `SERIES` |
| `action.confirmation` | Yes | When alternative 3: `CREATE_OTT_CATALOG` |
| `action.title` | Yes | When alternative 3: string |
| `action.membershipIds` | Yes | When alternative 3: array; items: string; min length 1; max length 128; pattern `^[A-Za-z0-9_-]+$`; max items 100 |
| `action.pricing` | No | When alternative 3: object |
| `action.pricing.representationalName` | Yes | When alternative 3: string |
| `action.pricing.currency` | No | When alternative 3: `KRW`, `USD`; Uses the freshly read channel currency automatically. An explicit currency is only a consistency assertion. |
| `action.pricing.sellingPrice` | Yes | When alternative 3: string; pattern `^(?:0\|[1-9]\d{0,8})(?:\.\d{1,2})?$` |
| `action.pricing.originalPrice` | No | When alternative 3: string; pattern `^(?:0\|[1-9]\d{0,8})(?:\.\d{1,2})?$` or null |
| `action.pricing.unlockActionExpiryPeriodInDays` | Yes | When alternative 3: `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 3: boolean |
| `action.pricing.availablePurchaseMethodsType` | Yes | When alternative 3: `CASH_ONLY`, `CASH_AND_CP` |
| `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. |