{
  "openapi": "3.0.1",
  "info": {
    "title": "Catalog Entries",
    "version": "9.1.20.0",
    "description": "Create and administer a collection of catalog entries by store.",
    "x-introduced": "9.1.0.0"
  },
  "servers": [
    {
      "url": "https://{hostname}:{port}/rest/admin/v2",
      "variables": {
        "port": {
          "default": "443",
          "enum": [
            "443",
            "8000"
          ]
        },
        "hostname": {
          "default": "localhost",
          "enum": [
            "localhost",
            "test.hcl.com"
          ]
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Catalog Entries",
      "description": "Provide RESTful services to manage catalog entries."
    }
  ],
  "paths": {
    "/catalog-entries": {
      "get": {
        "summary": "Get catalog entries by store",
        "operationId": "getCatalogEntries",
        "tags": [
          "Catalog Entries"
        ],
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "getCatalogEntry",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.GetCatalogEntryType",
        "x-expression-builder-class": "com.ibm.commerce.rest.admin.v2.catalog.CatalogEntryExpressionBuilder",
        "x-expression-builder-method": "formatExpression",
        "x-parameters": {
          "template": "/CatalogEntry[(@catalogEntryTypeCode='$catEntryTypes$')]",
          "ownerIdTemplate": "/CatalogEntry[(@catalogEntryTypeCode='$catEntryTypes$') and CatalogEntryIdentifier[ExternalIdentifier[(@ownerID='$ownerId$')]]]",
          "parentCatalogGroupIdTemplate": "/CatalogEntry[(@catalogEntryTypeCode='$catEntryTypes$') and ParentCatalogGroupIdentifier[(UniqueID='$parentCatalogGroupId$')]]",
          "ownerIdAndParentCatalogGroupIdTemplate": "/CatalogEntry[(@catalogEntryTypeCode='$catEntryTypes$') and CatalogEntryIdentifier[ExternalIdentifier[(@ownerID='$ownerId$')]] and ParentCatalogGroupIdentifier[(UniqueID='$parentCatalogGroupId$')]]",
          "searchTemplate": "/CatalogEntry[(@catalogEntryTypeCode='$catEntryTypes$') and search(CatalogEntryIdentifier/ExternalIdentifier/PartNumber='$searchText$' or Description/Name='$searchText$' or Description/ShortDescription='$searchText$' or CatalogEntryAttribute/Attributes/mfPartNumber='$searchText$' or CatalogEntryAttribute/Attributes/mfName='$searchText$')]",
          "searchWithOwnerIdTemplate": "/CatalogEntry[(@catalogEntryTypeCode='$catEntryTypes$') and CatalogEntryIdentifier[ExternalIdentifier[(@ownerID='$ownerId$')]] and search(CatalogEntryIdentifier/ExternalIdentifier/PartNumber='$searchText$' or Description/Name='$searchText$' or Description/ShortDescription='$searchText$' or CatalogEntryAttribute/Attributes/mfPartNumber='$searchText$' or CatalogEntryAttribute/Attributes/mfName='$searchText$')]",
          "searchWithParentCatalogGroupIdTemplate": "/CatalogEntry[(@catalogEntryTypeCode='$catEntryTypes$') and ParentCatalogGroupIdentifier[(UniqueID='$parentCatalogGroupId$')] and search(CatalogEntryIdentifier/ExternalIdentifier/PartNumber='$searchText$' or Description/Name='$searchText$' or Description/ShortDescription='$searchText$' or CatalogEntryAttribute/Attributes/mfPartNumber='$searchText$' or CatalogEntryAttribute/Attributes/mfName='$searchText$')]",
          "searchWithOwnerIdAndParentCatalogGroupIdTemplate": "/CatalogEntry[(@catalogEntryTypeCode='$catEntryTypes$') and CatalogEntryIdentifier[ExternalIdentifier[(@ownerID='$ownerId$')]] and ParentCatalogGroupIdentifier[(UniqueID='$parentCatalogGroupId$')] and search(CatalogEntryIdentifier/ExternalIdentifier/PartNumber='$searchText$' or Description/Name='$searchText$' or Description/ShortDescription='$searchText$' or CatalogEntryAttribute/Attributes/mfPartNumber='$searchText$' or CatalogEntryAttribute/Attributes/mfName='$searchText$')]",
          "parentCatalogEntryIdTemplate": "/CatalogEntry[ParentCatalogEntryIdentifier[(UniqueID='$parentCatalogEntryId$')]]",
          "catalogEntryIdTemplate": "/CatalogEntry[CatalogEntryIdentifier[(UniqueID=)]]",
          "accessProfile": "IBM_Admin_Details"
        },
        "parameters": [
          {
            "name": "storeId",
            "description": "The unique numeric ID for identifying the store.",
            "in": "query",
            "required": true,
            "x-context-data": "storeId",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "catalogId",
            "description": "The unique numeric ID for identifying the catalog.",
            "in": "query",
            "required": true,
            "x-context-data": "catalogId",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "catalogEntryType",
            "description": "The catalog entry type codes. Available values:\n* CatalogEntryBean \n* ProductBean \n* ItemBean\n* PackageBean\n* BundleBean\n* DynamicKitBean\n* PredDynaKitBean\n",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "parentCatalogGroupId",
            "description": "The unique numeric ID for identifying the parent catalog group.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parentCatalogEntryId",
            "description": "The unique numeric ID for identifying the parent catalog entry.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "searchString",
            "description": "The search string used to search for catalog entries.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ownerId",
            "description": "The numeric identifier of the organization that owns the catalog entry.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dataLanguageIds",
            "description": "The integer(s) for identifying the language of the member group description. For a list of the integers that map to the supported default languages, refer to the Knowledge Center. Multiple identifiers should be specified as a comma-separated list.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "description": "The position within the resulting dataset where the query begins returning item records. If the offset is \"5\", the records that returned begin with the sixth record that matches the query parameters. If the offset is \"0\", the records that are returned begin with the first record that matches the query parameters.",
            "in": "query",
            "required": false,
            "x-entity-path": "dataArea/get/recordSetStartNumber",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "description": "The maximum number of records to return.",
            "in": "query",
            "required": false,
            "x-entity-path": "dataArea/get/maxItems",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "x-entity-path": "dataArea/catalogEntry",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogEntryCollection"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Catalog Entries"
        ],
        "summary": "Create a catalog entry.",
        "operationId": "createCatalogEntry",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          },
          {
            "name": "catalogId",
            "in": "query",
            "description": "The unique numeric ID for identifying the catalog .",
            "required": true,
            "schema": {
              "type": "string",
              "x-context-data": "catalogId"
            },
            "x-context-data": "catalogId"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogEntry"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "headers": {
              "Location": {
                "description": "The URI of the catalog entry.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "getCatalogEntryById": {
                "operationRef": "#/paths/~1catalog-entries~1{id}/get",
                "parameters": {
                  "id": "$request.body#/id",
                  "storeId": "$request.query.storeId "
                },
                "description": "The`id`,`storeId`,`dataLanguageIds` value used in the request body can be used as the `id`,`storeId`,`dataLanguageIds` parameter in `GET /catalog-entries/{id}`.\n"
              },
              "deleteCatalogEntry": {
                "operationRef": "#/paths/~1catalog-entries~1{id}/delete",
                "parameters": {
                  "id": "$request.body#/id",
                  "storeId": "$request.query.storeId "
                },
                "description": "The `id`,`storeId`value used in the request body can be used as the `id`,`storeId` parameter in `DELETE ​/catalog-entries/{id}`.\n"
              },
              "updateCatalogEntry": {
                "operationRef": "#/paths/~1catalog-entries~1{id}/patch",
                "parameters": {
                  "id": "$request.body#/id",
                  "catalogId": "$request.query.catalogId",
                  "storeId": "$request.query.storeId"
                },
                "description": "The `id`,`catalogId`,`storeId` value used in the request body can be used as the `id`,`catalogId`,`storeId` parameter in `PATCH /catalog-entries/{id}`.\n"
              },
              "CreateCatalogEntryDescriptions": {
                "operationRef": "#/paths/~1catalog-entries~1{catalogEntryId}~1descriptions/post",
                "parameters": {
                  "catalogEntryId": "$request.body#/id",
                  "storeId": "$request.query.storeId"
                },
                "description": "The `catalogEntryId` &`storeId` value used in the request body can be used as the `catalogEntryId`,`storeId` parameter in `POST /catalog-entries/{catalogEntryId}/descriptions`.\n"
              }
            }
          }
        },
        "x-action-code": "Create",
        "x-expression-template": "/CatalogEntry[1]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "processCatalogEntry",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ProcessCatalogEntryType",
        "x-request-verb": "process",
        "x-codegen-request-body-name": "body"
      }
    },
    "/catalog-entries/{catalogEntryId}/descriptions": {
      "get": {
        "tags": [
          "Catalog Entries"
        ],
        "summary": "Get a collection of catalog entry description.",
        "operationId": "getCatalogEntryDescriptions",
        "parameters": [
          {
            "name": "catalogEntryId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          },
          {
            "name": "dataLanguageIds",
            "in": "query",
            "description": "The data language IDs.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogDescriptionCollection"
                }
              }
            },
            "x-entity-path": "dataArea/catalogEntry[1]/description"
          }
        },
        "x-expression-template": "{_wcf.ap='{accessProfile}';_wcf.dataLanguageIds='{dataLanguageIds}'}/CatalogEntry[CatalogEntryIdentifier[(UniqueID='{catalogEntryId}')]]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "getCatalogEntry",
        "x-parameters": {
          "accessProfile": "IBM_Admin_CatalogEntryDescription"
        },
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.GetCatalogEntryType"
      },
      "post": {
        "tags": [
          "Catalog Entries"
        ],
        "summary": "Create a description for a catalog entry.",
        "operationId": "createCatalogEntryDescription",
        "parameters": [
          {
            "name": "catalogEntryId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogDescription"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "headers": {
              "Location": {
                "description": "The URI of the catalog entry description.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetCatalogEntryDescriptions": {
                "operationRef": "#/paths/~1catalog-entries~1{catalogEntryId}~1descriptions/get",
                "parameters": {
                  "catalogEntryId": "$request.path.catalogEntryId",
                  "storeId": "$request.query.storeId ",
                  "dataLanguageIds": "$request.body#/languageId"
                },
                "description": "The `catalogEntryId`& `storeId`& `dataLanguageIds` value used in the request body can be used as the `catalogEntryId`& `storeId`& `dataLanguageIds`  parameter in `GET /catalog-entries/{id}`.\n"
              },
              "UpdateCatalogEntryDescriptionById": {
                "operationRef": "#/paths/~1catalog-entries~1{catalogEntryId}~1descriptions~1{id}/patch",
                "parameters": {
                  "catalogEntryId": "$request.path.catalogEntryId",
                  "storeId": "$request.query.storeId ",
                  "dataLanguageIds": "$request.body#/languageId"
                },
                "description": "The `catalogEntryId`& `storeId`& `dataLanguageIds` value used in the request body can be used as the `catalogEntryId`& `storeId`& `dataLanguageIds` parameter in `PATCH ​/catalog-entries/{id}`.\n"
              },
              "UpdateCatalogEntryDescriptionOverrideById": {
                "operationRef": "#/paths/~1catalog-entries~1{catalogEntryId}~1descriptions~1{languageId}~1overrides/{id}/patch",
                "parameters": {
                  "catalogEntryId": "$request.path.catalogEntryId",
                  "storeId": "$request.query.storeId ",
                  "dataLanguageIds": "$request.body#/languageId",
                  "id": "$response.header.Location"
                },
                "description": "The `id`,`catalogEntryId`,`storeId`,`dataLanguageIds`,value used in the request body can be used as the `id`,`catalogEntryId`,`storeId`,`dataLanguageIds` parameter in `PATCH /catalog-entries/{id}`.\n"
              }
            }
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/CatalogEntry[1]/Description[1]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "changeCatalogEntry",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ChangeCatalogEntryType",
        "x-request-verb": "change",
        "x-codegen-request-body-name": "body"
      }
    },
    "/catalog-entries/{catalogEntryId}/descriptions/{id}": {
      "patch": {
        "tags": [
          "Catalog Entries"
        ],
        "summary": "Update a catalog entry description based on the ID of the language.",
        "operationId": "updateCatalogEntryDescriptionById",
        "parameters": [
          {
            "name": "catalogEntryId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry description.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/catalogEntry[1]/description[1]/language"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/description[1]/language"
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogDescription"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/CatalogEntry[1]/Description[1]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "changeCatalogEntry",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ChangeCatalogEntryType",
        "x-request-verb": "change",
        "x-codegen-request-body-name": "body"
      }
    },
    "/catalog-entries/{catalogEntryId}/descriptions/{languageId}/overrides/{id}": {
      "patch": {
        "tags": [
          "Catalog Entries"
        ],
        "summary": "Update a catalog entry description override based on the ID of the override.",
        "operationId": "updateCatalogEntryDescriptionOverrideById",
        "parameters": [
          {
            "name": "catalogEntryId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
          },
          {
            "name": "languageId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry description.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/catalogEntry[1]/description[1]/language"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/description[1]/language"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry description override.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/catalogEntry[1]/description[1]/override[1]/descriptionOverrideIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/description[1]/override[1]/descriptionOverrideIdentifier/uniqueID"
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogDescriptionOverride"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/CatalogEntry[1]/Description[1]/Override[1]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "changeCatalogEntry",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ChangeCatalogEntryType",
        "x-request-verb": "change",
        "x-codegen-request-body-name": "body"
      }
    },
    "/catalog-entries/{id}": {
      "get": {
        "tags": [
          "Catalog Entries"
        ],
        "summary": "Get a catalog entry based on the ID of the catalog entry.",
        "operationId": "getCatalogEntryById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId"
            },
            "x-context-data": "storeId"
          },
          {
            "name": "dataLanguageIds",
            "in": "query",
            "description": "The data language IDs.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogEntry"
                }
              }
            },
            "x-entity-path": "dataArea/catalogEntry[1]"
          }
        },
        "x-expression-template": "{_wcf.ap='{accessProfile}';_wcf.dataLanguageIds='{dataLanguageIds}'}/CatalogEntry[CatalogEntryIdentifier[(UniqueID='{id}')]]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "getCatalogEntry",
        "x-parameters": {
          "accessProfile": "IBM_Admin_Details"
        },
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.GetCatalogEntryType"
      },
      "delete": {
        "tags": [
          "Catalog Entries"
        ],
        "summary": "Delete a catalog entry based on the ID of the catalog entry.",
        "operationId": "deleteCatalogEntry",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Delete",
        "x-expression-template": "/CatalogEntry[1]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "processCatalogEntry",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ProcessCatalogEntryType",
        "x-request-verb": "process"
      },
      "patch": {
        "tags": [
          "Catalog Entries"
        ],
        "summary": "Update a catalog entry based on the ID of the catalog entry.",
        "operationId": "updateCatalogEntry",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "string",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/uniqueID"
          },
          {
            "name": "catalogId",
            "in": "query",
            "description": "The unique numeric ID for identifying the catalog .",
            "required": true,
            "schema": {
              "type": "string",
              "x-context-data": "catalogId"
            },
            "x-context-data": "catalogId"
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-context-data": "storeId",
              "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/catalogEntry[1]/catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogEntry"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/CatalogEntry[1]/CatalogEntryIdentifier",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "changeCatalogEntry",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ChangeCatalogEntryType",
        "x-request-verb": "change",
        "x-codegen-request-body-name": "body"
      }
    }
  },
  "components": {
    "schemas": {
      "CatalogDescription": {
        "type": "object",
        "properties": {
          "available": {
            "type": "integer",
            "description": "Indicates the length of time of availability of this catalog entry. This field is for your internal business use and information only. Do not use this column to indicate inventory levels. The default value is 1.",
            "format": "int32",
            "default": 1,
            "x-entity-path": "attributes/available"
          },
          "breadcrumbs": {
            "type": "array",
            "description": "The breadcrumbs of this catalog.",
            "items": {
              "type": "string"
            },
            "x-entity-path": "breadcrumb"
          },
          "fullImage": {
            "type": "string",
            "description": "The full image path of this catalog.",
            "x-entity-path": "fullImage"
          },
          "keyword": {
            "type": "string",
            "description": "Language-specific keywords that are used for searching.",
            "x-entity-path": "keyword"
          },
          "languageId": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the language.",
            "format": "int32",
            "x-entity-path": "language"
          },
          "longDescription": {
            "type": "string",
            "description": "The long description.",
            "x-entity-path": "longDescription"
          },
          "name": {
            "type": "string",
            "description": "The name.",
            "x-entity-path": "name"
          },
          "override": {
            "type": "array",
            "description": "The override property of this catalog.",
            "items": {
              "$ref": "#/components/schemas/CatalogDescriptionOverride"
            },
            "readOnly": true,
            "x-entity-path": "override"
          },
          "published": {
            "type": "integer",
            "description": "Indicates whether to display this catalog entry on the storefront:\n* 0 - Do not display this catalog entry.\n* 1 - Display this catalog entry.\n",
            "format": "int32",
            "enum": [
              0,
              1
            ],
            "x-entity-path": "attributes/published"
          },
          "shortDescription": {
            "type": "string",
            "description": "The short description.",
            "x-entity-path": "shortDescription"
          },
          "thumbnail": {
            "type": "string",
            "description": "The thumbnail image path of this catalog.",
            "x-entity-path": "thumbnail"
          }
        },
        "x-entity-class": "com.ibm.commerce.catalog.facade.datatypes.CatalogDescriptionType"
      },
      "CatalogDescriptionCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CatalogDescription"
            }
          }
        },
        "description": "A collection of catalog descriptions."
      },
      "CatalogDescriptionOverride": {
        "type": "object",
        "properties": {
          "fullImage": {
            "type": "string",
            "description": "The full image path of this catalog.",
            "x-entity-path": "fullImage"
          },
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the catalog description override.",
            "readOnly": true,
            "x-entity-path": "descriptionOverrideIdentifier/uniqueID"
          },
          "keyword": {
            "type": "string",
            "description": "Language-specific keywords that are used for searching.",
            "x-entity-path": "keyword"
          },
          "longDescription": {
            "type": "string",
            "description": "The language-specific long description of this catalog.",
            "x-entity-path": "longDescription"
          },
          "name": {
            "type": "string",
            "description": "The language-specific display name of this catalog.",
            "x-entity-path": "name"
          },
          "shortDescription": {
            "type": "string",
            "description": "The language-specific short description of this catalog.",
            "x-entity-path": "shortDescription"
          },
          "thumbnail": {
            "type": "string",
            "description": "The thumbnail image path of this catalog.",
            "x-entity-path": "thumbnail"
          }
        },
        "x-entity-class": "com.ibm.commerce.catalog.facade.datatypes.CatalogDescriptionOverrideType"
      },
      "CatalogEntry": {
        "type": "object",
        "properties": {
          "alternativeCurrencyPrices": {
            "type": "array",
            "description": "The alternative currency and price for the catalog entry.",
            "items": {
              "$ref": "#/components/schemas/MonetaryAmount"
            },
            "x-entity-path": "listPrice/alternativeCurrencyPrice"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the catalog entry price. This code is a currency code as per ISO 4217 standards.",
            "x-entity-path": "listPrice/price/currency"
          },
          "descriptions": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/CatalogDescription"
            },
            "x-entity-path": "description"
          },
          "displaySequence": {
            "type": "number",
            "description": "The display sequence of the catalog entry.",
            "format": "double",
            "x-entity-path": "displaySequence"
          },
          "hasDefiningAttributes": {
            "type": "string",
            "description": "Indicates whether the catalog entry has defining attributes.",
            "x-entity-path": "userData/userDataField/hasAttributeDictionaryDefiningAttributes"
          },
          "id": {
            "type": "string",
            "description": "The internal unique reference number of the catalog entry. In Delete, either this field or the PartNumber is required.",
            "x-entity-path": "catalogEntryIdentifier/uniqueID"
          },
          "listPrice": {
            "type": "number",
            "description": "The offer price of this catalog entry in the currency specified. The default value is 0.00.",
            "format": "double",
            "x-entity-path": "listPrice/price/value"
          },
          "ownerId": {
            "type": "string",
            "description": "The numeric identifier of the organization that owns the catalog entry.",
            "x-entity-path": "catalogEntryIdentifier/externalIdentifier/ownerID"
          },
          "owningStoreDirectory": {
            "type": "string",
            "description": "The owningStoreDirectory of the catalog entry.",
            "x-entity-path": "owningStoreDirectory"
          },
          "parentCatalogEntryId": {
            "type": "string",
            "description": "The internal unique reference number of the parent catalog entry. In Delete, either this field or the PartNumber is required.",
            "x-entity-path": "parentCatalogEntryIdentifier/uniqueID"
          },
          "parentCatalogGroupId": {
            "type": "string",
            "description": "The unique numeric ID for identifying the parent catalog group.",
            "x-entity-path": "parentCatalogGroupIdentifier/uniqueID"
          },
          "partNumber": {
            "type": "string",
            "description": "The unique part number of the catalog entry. This field cannot be null in Insert or Replace. In Delete, either this field or the CatalogEntryUniqueId is required. The part number for a catalog entry displays in Management Center as the value for the catalog entry Code property.",
            "x-entity-path": "catalogEntryIdentifier/externalIdentifier/partNumber"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity value for the catalog entry.",
            "format": "double",
            "x-entity-path": "listPrice/quantity/value"
          },
          "quantityUnit": {
            "type": "string",
            "description": "The unit of measurement for the quantity.",
            "x-entity-path": "listPrice/quantity/uom"
          },
          "storeId": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the store.",
            "format": "int32",
            "x-entity-path": "catalogEntryIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          },
          "typeCode": {
            "type": "string",
            "description": "The type of catalog entry to load in this row. Valid values are:\n* ItemBean - use this type to load SKUs\n* ProductBean - use this type to load products\n* BundleBean - use this type to load bundles\n* PackageBean - use this type to load kits\n* DynamicKitBean - use this type to load dynamic kits\n* PredDynaKitBean - use this type to load predefined dynamic kits\n",
            "x-entity-path": "catalogEntryTypeCode"
          }
        },
        "description": "A catalog entry.",
        "x-entity-class": "com.ibm.commerce.catalog.facade.datatypes.CatalogEntryType"
      },
      "CatalogEntryCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of catalog entries found.",
            "format": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CatalogEntry"
            }
          }
        },
        "description": "A collection of catalog entries."
      },
      "MonetaryAmount": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "The currency of the monetary amount.",
            "x-entity-path": "currency"
          },
          "value": {
            "type": "number",
            "description": "The value of the monetary amount.",
            "format": "double",
            "x-entity-path": "value"
          }
        },
        "description": "The monetary value of the constant entry.",
        "x-entity-class": "com.ibm.commerce.foundation.common.datatypes.MonetaryAmountType"
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "x-components": {}
}
