{
  "openapi": "3.0.1",
  "info": {
    "title": "Attachments",
    "description": "Create and administer the attachments",
    "version": "9.1.20.0",
    "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": "Attachments",
      "description": "Provide RESTful services to manage attachments."
    }
  ],
  "paths": {
    "/attachments": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get all attachments.",
        "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": "offset",
            "in": "query",
            "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.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentCollection"
                }
              }
            },
            "x-entity-path": "dataArea/attachment"
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_Summary}/Attachment",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "getAttachment",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.GetAttachmentType"
      },
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Create an attachment.",
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Attachment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the attachment.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetAttachmentsById": {
                "operationRef": "#/paths/~1attachments~1{id}/get",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `GET /attachments/{id}`.\n"
              },
              "DeleteAttachmentsById": {
                "operationRef": "#/paths/~1attachments~1{id}/delete",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `DELETE /attachments/{id}`.\n"
              },
              "UpdateAttachmentsById": {
                "operationRef": "#/paths/~1attachments~1{id}/patch",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `PATCH /attachments/{id}`.\n"
              },
              "CreateAssetsByAttachmentsId": {
                "operationRef": "#/paths/~1attachments~1{id}~1assets/post",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `POST /attachments/{id}/assets`.\n"
              },
              "CreateDescriptionsByAttachmentsId": {
                "operationRef": "#/paths/~1attachments~1{id}~1descriptions/post",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `POST /attachments/{id}/descriptions`.\n"
              }
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
          }
        },
        "x-action-code": "Add",
        "x-expression-template": "/Attachment[1]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "processAttachment",
        "x-flow-class": "com.ibm.commerce.rest.bod.PostBodMappingFlow",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.ProcessAttachmentType",
        "x-codegen-request-body-name": "body"
      }
    },
    "/attachments/by-asset-path": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get attachments by asset path.",
        "parameters": [
          {
            "name": "assetPath",
            "in": "query",
            "description": "The unique asset path for identifying the attachment.",
            "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": "offset",
            "in": "query",
            "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.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentCollection"
                }
              }
            },
            "x-entity-path": "dataArea/attachment"
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_Summary}/Attachment[search(AttachmentAsset/StoreIdentifier/UniqueID='{storeId}' and AttachmentAsset/AttachmentAssetPath='{assetPath}')]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "getAttachment",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.GetAttachmentType"
      }
    },
    "/attachments/by-code": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get attachments by code.",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "description": "The unique string identifier for identifying the attachment within the context of a particular store.",
            "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": "offset",
            "in": "query",
            "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.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentCollection"
                }
              }
            },
            "x-entity-path": "dataArea/attachment"
          }
        },
        "x-expression-builder-class": "com.ibm.commerce.rest.admin.v2.content.util.ContentSearchExpressionBuilder",
        "x-expression-builder-method": "formatExpression",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "getAttachment",
        "x-parameters": {
          "access-profile": "IBM_Admin_Summary",
          "template": "/Attachment[search(AttachmentIdentifier/ExternalIdentifier/Identifier='$code$')]"
        },
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.GetAttachmentType"
      }
    },
    "/attachments/by-code-name-and-asset-path": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get attachments by code, name and asset path.",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "description": "The unique string identifier for identifying the attachment within the context of a particular store.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "The name for identifying the attachment.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "assetPath",
            "in": "query",
            "description": "The asset path for identifying the attachment.",
            "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": "offset",
            "in": "query",
            "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.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentCollection"
                }
              }
            },
            "x-entity-path": "dataArea/attachment"
          }
        },
        "x-expression-builder-class": "com.ibm.commerce.rest.admin.v2.content.util.ContentSearchExpressionBuilder",
        "x-expression-builder-method": "formatExpression",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "getAttachment",
        "x-parameters": {
          "access-profile": "IBM_Admin_Summary",
          "template": "/Attachment[search(AttachmentIdentifier/ExternalIdentifier/Identifier='$code$' and AttachmentDescription/Name='$name$' and AttachmentAsset/AttachmentAssetPath='$assetPath$')]"
        },
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.GetAttachmentType"
      }
    },
    "/attachments/by-name": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get attachments by name.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "The name for identifying the attachment.",
            "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": "offset",
            "in": "query",
            "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.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/recordSetStartNumber"
            },
            "x-entity-path": "dataArea/get/recordSetStartNumber"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/get/maxItems"
            },
            "x-entity-path": "dataArea/get/maxItems"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentCollection"
                }
              }
            },
            "x-entity-path": "dataArea/attachment"
          }
        },
        "x-expression-builder-class": "com.ibm.commerce.rest.admin.v2.content.util.ContentSearchExpressionBuilder",
        "x-expression-builder-method": "formatExpression",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "getAttachment",
        "x-parameters": {
          "access-profile": "IBM_Admin_Summary",
          "template": "/Attachment[search(AttachmentDescription/Name='$name$')]"
        },
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.GetAttachmentType"
      }
    },
    "/attachments/{id}": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get an attachment by unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            },
            "x-entity-path": "dataArea/attachment[1]"
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_Summary}/Attachment/AttachmentIdentifier[(UniqueID='{id}')]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "getAttachment",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.GetAttachmentType"
      },
      "delete": {
        "tags": [
          "Attachments"
        ],
        "summary": "Delete an attachment by unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Delete",
        "x-expression-template": "/Attachment[1]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "processAttachment",
        "x-flow-class": "com.ibm.commerce.rest.bod.DeleteBodMappingFlow",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.ProcessAttachmentType"
      },
      "patch": {
        "tags": [
          "Attachments"
        ],
        "summary": "Update an attachment by unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Attachments"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/Attachment[1]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "changeAttachment",
        "x-flow-class": "com.ibm.commerce.rest.bod.PatchBodMappingFlow",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.ChangeAttachmentType",
        "x-codegen-request-body-name": "body"
      }
    },
    "/attachments/{id}/assets": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get assets of an attachment by unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentAssetCollection"
                }
              }
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentAsset"
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_AttachmentWithAssets}/Attachment/AttachmentIdentifier[(UniqueID='{id}')]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "getAttachment",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.GetAttachmentType"
      },
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Create an attachment asset.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment to which this asset belongs.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment/attachmentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment/attachmentIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentAsset"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the attachment.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetAssetByAttachmentsId": {
                "operationRef": "#/paths/~1attachments~1{id}~1assets/get",
                "parameters": {
                  "id": "$request.path.id"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `GET /attachments/{id}/assets`.\n"
              },
              "DeleteAssetByAttachmentsIdAndAssetId": {
                "operationRef": "#/paths/~1attachments~1{id}~1assets~1{assetId}/delete",
                "parameters": {
                  "id": "$request.path.id",
                  "assetId": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `DELETE /attachments/{id}/assets/{assetId}`.\n"
              },
              "UpdateAssetByAttachmentsIdAndAssetId": {
                "operationRef": "#/paths/~1attachments~1{id}~1assets~1{assetId}/patch",
                "parameters": {
                  "id": "$request.path.id",
                  "assetId": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `PATCH /attachments/{id}/assets/{assetId}`.\n"
              }
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentAsset[1]/attachmentAssetIdentifier/uniqueID"
          }
        },
        "x-action-code": "Add",
        "x-expression-template": "/Attachment[1]/AttachmentAsset[1]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "changeAttachment",
        "x-flow-class": "com.ibm.commerce.rest.bod.PostBodMappingFlow",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.ChangeAttachmentType",
        "x-request-verb": "change",
        "x-response-verb": "respond",
        "x-codegen-request-body-name": "body"
      }
    },
    "/attachments/{id}/assets/{assetId}": {
      "delete": {
        "tags": [
          "Attachments"
        ],
        "summary": "Delete an attachment asset by unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment to which the asset belongs.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
          },
          {
            "name": "assetId",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment asset.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment[1]/attachmentAsset[1]/attachmentAssetIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentAsset[1]/attachmentAssetIdentifier/uniqueID"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Delete",
        "x-expression-template": "/Attachment[1]/AttachmentAsset[1]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "changeAttachment",
        "x-flow-class": "com.ibm.commerce.rest.bod.DeleteBodMappingFlow",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.ChangeAttachmentType",
        "x-request-verb": "change",
        "x-response-verb": "respond"
      },
      "patch": {
        "tags": [
          "Attachments"
        ],
        "summary": "Update an attachment asset by unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment to which the asset belongs.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
          },
          {
            "name": "assetId",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment asset.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment[1]/attachmentAsset[1]/attachmentAssetIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentAsset[1]/attachmentAssetIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentAsset"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/Attachment[1]/AttachmentAsset[1]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "changeAttachment",
        "x-flow-class": "com.ibm.commerce.rest.bod.PatchBodMappingFlow",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.ChangeAttachmentType",
        "x-codegen-request-body-name": "body"
      }
    },
    "/attachments/{id}/descriptions": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get descriptions of an attachment by unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "dataLanguageIds",
            "in": "query",
            "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.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentDescriptionCollection"
                }
              }
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentDescription"
          }
        },
        "x-expression-template": "{_wcf.ap=IBM_Admin_AttachmentWithAssets;_wcf.dataLanguageIds='{dataLanguageIds}'}/Attachment/AttachmentIdentifier[(UniqueID='{id}')]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "getAttachment",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.GetAttachmentType"
      },
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Create an attachment description.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment to which this description applies.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment/attachmentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment/attachmentIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentDescription"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the attachments.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetDescriptionsByAttachmentsIdAndDataLanguageIds": {
                "operationRef": "#/paths/~1attachments~1{id}~1descriptions/get",
                "parameters": {
                  "id": "$request.path.id",
                  "dataLanguageIds": "$request.body#/dataLanguageIds"
                },
                "description": "The `id`, `dataLanguageIds` value used in the request body can be used as the `id` , `dataLanguageIds` parameter in `GET /attachments/{id}/descriptions`.\n"
              },
              "UpdateDescriptionsByIdAndDescriptionId": {
                "operationRef": "#/paths/~1attachments~1{id}~1descriptions~1{descriptionId}/patch",
                "parameters": {
                  "id": "$request.path.id",
                  "descriptionId": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `PATCH /attachments/{id}/descriptions/{descriptionId}`.\n"
              }
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentDescription[1]/language"
          }
        },
        "x-action-code": "Add",
        "x-expression-template": "/Attachment[1]/AttachmentDescription[1]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "changeAttachment",
        "x-flow-class": "com.ibm.commerce.rest.bod.PostBodMappingFlow",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.ChangeAttachmentType",
        "x-request-verb": "change",
        "x-response-verb": "respond",
        "x-codegen-request-body-name": "body"
      }
    },
    "/attachments/{id}/descriptions/{descriptionId}": {
      "patch": {
        "tags": [
          "Attachments"
        ],
        "summary": "Update an attachment description by unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment to which the description applies.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentIdentifier/uniqueID"
          },
          {
            "name": "descriptionId",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment description.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "x-entity-path": "dataArea/attachment[1]/attachmentDescription[1]/language"
            },
            "x-entity-path": "dataArea/attachment[1]/attachmentDescription[1]/language"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentDescription"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/Attachment[1]/AttachmentDescription[1]",
        "x-facade-client-class": "com.ibm.commerce.content.facade.client.AttachmentFacadeClient",
        "x-facade-client-method": "changeAttachment",
        "x-flow-class": "com.ibm.commerce.rest.bod.PatchBodMappingFlow",
        "x-request-bod-class": "com.ibm.commerce.content.facade.datatypes.ChangeAttachmentType",
        "x-codegen-request-body-name": "body"
      }
    },
    "/catalog-entries/{catalogEntryId}/attachment-references": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get a collection of catalog entry attachment reference.",
        "parameters": [
          {
            "name": "catalogEntryId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "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 integer(s) for identifying the language of the catalog entry 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.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentReferenceCollection"
                }
              }
            },
            "x-entity-path": "dataArea/catalogEntry[1]/attachmentReference"
          }
        },
        "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_CatalogEntryAttachmentReference"
        },
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.GetCatalogEntryType"
      },
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Create an attachment reference for a catalog entry.",
        "parameters": [
          {
            "name": "catalogEntryId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "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/AttachmentReference"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the attachments.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetAttachmentReferencesByCatalogEntryIdAndStoreIdAndDataLanguageIds": {
                "operationRef": "#/paths/~1catalog-entries~1{catalogEntryId}~1attachment-references/get",
                "parameters": {
                  "catalogEntryId": "$request.path.catalogEntryId",
                  "dataLanguageIds": "$request.body#/dataLanguageIds",
                  "storeId": "$request.query.storeId"
                },
                "description": "The `catalogEntryId`,`dataLanguageIds` and `storeId` value used in the request body can be used as the `catalogEntryId`,`dataLanguageIds` and `storeId` parameter in `GET /catalog-entries/{catalogEntryId}/attachment-references`.\n"
              },
              "DeleteAttachmentReferencesByCatalogEntryIdAndIdAndStoreId": {
                "operationRef": "#/paths/~1catalog-entries~1{catalogEntryId}~1attachment-references~1{id}/delete",
                "parameters": {
                  "catalogEntryId": "$request.path.catalogEntryId",
                  "id": "$response.header.Location",
                  "storeId": "$request.query.storeId"
                },
                "description": "The `catalogEntryId`,`id` and `storeId` value used in the request body can be used as the `catalogEntryId`,`id` and `storeId` parameter in `DELETE /catalog-entries/{catalogEntryId}/attachment-references/{id}`.\n"
              },
              "UpdateAttachmentReferencesByCatalogEntryIdAndIdAndStoreId": {
                "operationRef": "#/paths/~1catalog-entries~1{catalogEntryId}~1attachment-references~1{id}/patch",
                "parameters": {
                  "catalogEntryId": "$request.path.catalogEntryId",
                  "id": "$response.header.Location",
                  "storeId": "$request.query.storeId"
                },
                "description": "The `catalogEntryId`,`id` and `storeId` value used in the request body can be used as the `catalogEntryId`,`id` and `storeId` parameter in `PATCH /catalog-entries/{catalogEntryId}/attachment-references/{id}`.\n"
              }
            },
            "x-entity-path": "dataArea/catalogEntry[1]/attachmentReference[1]/attachmentReferenceIdentifier/uniqueID"
          }
        },
        "x-action-code": "Add",
        "x-expression-template": "/CatalogEntry[1]/AttachmentReference[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}/attachment-references/{id}": {
      "delete": {
        "tags": [
          "Attachments"
        ],
        "summary": "Delete an attachment reference of a catalog entry.",
        "parameters": [
          {
            "name": "catalogEntryId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "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 attachment reference.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/catalogEntry[1]/attachmentReference[1]/attachmentReferenceIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/attachmentReference[1]/attachmentReferenceIdentifier/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]/AttachmentReference[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"
      },
      "patch": {
        "tags": [
          "Attachments"
        ],
        "summary": "Update an attachment reference of a catalog entry.",
        "parameters": [
          {
            "name": "catalogEntryId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog entry.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "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 attachment reference.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/catalogEntry[1]/attachmentReference[1]/attachmentReferenceIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalogEntry[1]/attachmentReference[1]/attachmentReferenceIdentifier/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/AttachmentReference"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/CatalogEntry[1]/AttachmentReference[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-codegen-request-body-name": "body"
      }
    },
    "/catalogs/{catalogId}/attachment-references/{id}": {
      "delete": {
        "tags": [
          "Attachments"
        ],
        "summary": "Delete an attachment reference of a catalog.",
        "parameters": [
          {
            "name": "catalogId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/uniqueID"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment reference.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/catalog[1]/attachmentReference[1]/attachmentReferenceIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalog[1]/attachmentReference[1]/attachmentReferenceIdentifier/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/catalog[1]/catalogIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          },
          {
            "name": "attachmentId",
            "in": "query",
            "description": "The unique numeric ID for identifying the attachment.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/catalog[1]/attachmentReference[1]/attachmentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalog[1]/attachmentReference[1]/attachmentIdentifier/uniqueID"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Delete",
        "x-expression-template": "/Catalog[1]/AttachmentReference[1]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "changeCatalog",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ChangeCatalogType",
        "x-request-verb": "change"
      },
      "patch": {
        "tags": [
          "Attachments"
        ],
        "summary": "Update an attachment reference of a catalog.",
        "parameters": [
          {
            "name": "catalogId",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/uniqueID"
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment reference.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/catalog[1]/attachmentReference[1]/attachmentReferenceIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalog[1]/attachmentReference[1]/attachmentReferenceIdentifier/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/catalog[1]/catalogIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentReference"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Change",
        "x-expression-template": "/Catalog[1]/AttachmentReference[1]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "changeCatalog",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ChangeCatalogType",
        "x-codegen-request-body-name": "body"
      }
    },
    "/catalogs/{id}/attachment-references": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get the attachment references of a catalog.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "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 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.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation is successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentReferenceCollection"
                }
              }
            },
            "x-entity-path": "dataArea/catalog[1]/attachmentReference"
          }
        },
        "x-expression-template": "{_wcf.ap='{accessProfile}';_wcf.dataLanguageIds='{dataLanguageIds}'}/Catalog[CatalogIdentifier[(UniqueID='{id}')]]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "getCatalog",
        "x-parameters": {
          "accessProfile": "IBM_Admin_CatalogAttachmentReference"
        },
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.GetCatalogType"
      },
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Create an attachment reference for a catalog.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the catalog.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/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/catalog[1]/catalogIdentifier/externalIdentifier/storeIdentifier/uniqueID"
            },
            "x-context-data": "storeId",
            "x-entity-path": "dataArea/catalog[1]/catalogIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentReference"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the attachment reference for a catalog.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetAttachmentReferencesByIdAndStoreIdAndDataLanguageIds": {
                "operationRef": "#/paths/~1catalogs~1{id}~1attachment-references/get",
                "parameters": {
                  "id": "$request.path.id",
                  "storeId": "$request.query.storeId",
                  "dataLanguageIds": "$request.body#/dataLanguageIds"
                },
                "description": "The `id`,`storeId` and `dataLanguageIds` value used in the request body can be used as the `id`,`storeId` and `dataLanguageIds` parameter in `GET /catalogs/{id}/attachment-references`.\n"
              },
              "DeleteAttachmentReferencesByCatalogIdAndIdAndStoreIdAndAttachmentId": {
                "operationRef": "#/paths/~1catalogs~1{catalogId}~1attachment-references~1{id}/delete",
                "parameters": {
                  "id": "$response.header.Location",
                  "storeId": "$request.query.storeId",
                  "attachmentId": "$request.body#/attachmentId",
                  "catalogId": "$request.path.id"
                },
                "description": "The `catalogId`,`id`,`storeId` and `attachmentId` value used in the request body can be used as the `catalogId`,`id`,`storeId` and `attachmentId` parameter in `DELETE /catalogs/{catalogId}/attachment-references/{id}`.\n"
              },
              "UpdateAttachmentReferencesByCatalogIdAndIdAndStoreId": {
                "operationRef": "#/paths/~1catalogs~1{catalogId}~1attachment-references~1{id}/patch",
                "parameters": {
                  "id": "$response.header.Location",
                  "storeId": "$request.query.storeId",
                  "catalogId": "$request.path.id"
                },
                "description": "The `catalogId`,`id` and `storeId` value used in the request body can be used as the `catalogId`,`id` and `storeId` parameter in `PATCH /catalogs/{catalogId}/attachment-references/{id}`.\n"
              }
            },
            "x-entity-path": "dataArea/catalog[1]/attachmentReference[1]/attachmentReferenceIdentifier/uniqueID"
          }
        },
        "x-action-code": "Add",
        "x-expression-template": "/Catalog[1]/AttachmentReference[1]",
        "x-facade-client-class": "com.ibm.commerce.catalog.facade.client.CatalogFacadeClient",
        "x-facade-client-method": "changeCatalog",
        "x-request-bod-class": "com.ibm.commerce.catalog.facade.datatypes.ChangeCatalogType",
        "x-request-verb": "change",
        "x-codegen-request-body-name": "body"
      }
    },
    "/marketing-contents/{id}/attachment-references": {
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Create an attachment reference for a marketing content.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the marketing content.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/marketingContent[1]/marketingContentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/marketingContent[1]/marketingContentIdentifier/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-context-data": "storeId"
          }
        ],
        "requestBody": {
          "description": "The request body.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentReference"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The operation is successful.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the attachments.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "DeleteAttachmentReferencesByAttachmentReferenceIdAndId": {
                "operationRef": "#/paths/~1marketing-contents~1{id}~1attachment-references~1{attachmentReferenceId}/delete",
                "parameters": {
                  "id": "$request.path.id",
                  "attachmentReferenceId": "$response.header.Location"
                },
                "description": "The `id` and `attachmentReferenceId` value used in the request body can be used as the `id` and `attachmentReferenceId` parameter in `DELETE /marketing-contents/{id}/attachment-references/{attachmentReferenceId}`.\n"
              }
            },
            "x-entity-path": "dataArea/marketingContent/attachment/attachmentReferenceIdentifier/uniqueID"
          }
        },
        "x-action-code": "Add",
        "x-expression-template": "/MarketingContent[1]/Attachment",
        "x-facade-client-class": "com.ibm.commerce.marketing.facade.client.MarketingFacadeClient",
        "x-facade-client-method": "changeMarketingContent",
        "x-request-bod-class": "com.ibm.commerce.marketing.facade.datatypes.ChangeMarketingContentType",
        "x-request-verb": "change",
        "x-response-verb": "respond",
        "x-codegen-request-body-name": "body"
      }
    },
    "/marketing-contents/{id}/attachment-references/{attachmentReferenceId}": {
      "delete": {
        "tags": [
          "Attachments"
        ],
        "summary": "Delete an attachment reference of a marketing content.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the marketing content.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/marketingContent[1]/marketingContentIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/marketingContent[1]/marketingContentIdentifier/uniqueID"
          },
          {
            "name": "attachmentReferenceId",
            "in": "path",
            "description": "The unique numeric ID for identifying the attachment reference.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "x-entity-path": "dataArea/marketingContent[1]/attachment/attachmentReferenceIdentifier/uniqueID"
            },
            "x-entity-path": "dataArea/marketingContent[1]/attachment/attachmentReferenceIdentifier/uniqueID"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation is successful.",
            "content": {}
          }
        },
        "x-action-code": "Delete",
        "x-expression-template": "/MarketingContent[1]/Attachment",
        "x-facade-client-class": "com.ibm.commerce.marketing.facade.client.MarketingFacadeClient",
        "x-facade-client-method": "changeMarketingContent",
        "x-request-bod-class": "com.ibm.commerce.marketing.facade.datatypes.ChangeMarketingContentType",
        "x-request-verb": "change"
      }
    }
  },
  "components": {
    "schemas": {
      "Attachment": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The unique string identifier for identifying the attachment within the context of a particular store.",
            "x-entity-path": "attachmentIdentifier/externalIdentifier/identifier"
          },
          "id": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the attachment.",
            "format": "int32",
            "readOnly": true,
            "x-entity-path": "attachmentIdentifier/uniqueID"
          },
          "storeId": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the store to which the attachment belongs. Can only be set when the attachment is created.",
            "format": "int32",
            "x-entity-path": "attachmentIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        },
        "description": "An attachment.",
        "x-entity-class": "com.ibm.commerce.content.facade.datatypes.AttachmentType"
      },
      "Attachments": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The unique string identifier for identifying the attachment within the context of a particular store.",
            "x-entity-path": "attachmentIdentifier/externalIdentifier/identifier"
          },
          "id": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the attachment.",
            "format": "int32",
            "x-entity-path": "attachmentIdentifier/uniqueID"
          },
          "storeId": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the store to which the attachment belongs. Can only be set when the attachment is created.",
            "format": "int32",
            "x-entity-path": "attachmentIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        },
        "description": "An attachment.",
        "x-entity-class": "com.ibm.commerce.content.facade.datatypes.AttachmentType"
      },
      "AttachmentAsset": {
        "type": "object",
        "properties": {
          "directoryPath": {
            "type": "string",
            "description": "The directory path of the attachment asset. This is a substring of the attachment asset path when the attachment asset is a file. For example, if the attachment asset path is /image/a.gif, then its directory path is /image.",
            "readOnly": true,
            "x-entity-path": "directoryPath"
          },
          "id": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the attachment asset.",
            "format": "int64",
            "x-entity-path": "attachmentAssetIdentifier/uniqueID"
          },
          "languageIds": {
            "type": "array",
            "description": "The integer(s) for identifying the languages of the attachment asset. For a list of the integers that map to the supported default languages, refer to the Knowledge Center.",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "x-entity-path": "language"
          },
          "mimeType": {
            "type": "string",
            "description": "The MIME type of the attachment asset.",
            "x-entity-path": "mimeType"
          },
          "path": {
            "type": "string",
            "description": "The relative path of the attachment asset which includes the directory path and the file name of the attachment asset. For example, /image/a.gif",
            "x-entity-path": "attachmentAssetPath"
          },
          "rootDirectory": {
            "type": "string",
            "description": "The root directory of the attachment asset.",
            "readOnly": true,
            "x-entity-path": "rootDirectory"
          },
          "storeId": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the store to which the attachment asset belongs. Can only be set when the attachment asset is created.",
            "format": "int32",
            "x-entity-path": "storeIdentifier/uniqueID"
          }
        },
        "description": "An attachment asset.",
        "x-entity-class": "com.ibm.commerce.foundation.common.datatypes.AttachmentAssetType"
      },
      "AttachmentAssetCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of item records that match the query parameters.",
            "format": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentAsset"
            }
          }
        },
        "description": "A collection of attachment assets."
      },
      "AttachmentCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of item records that match the query parameters.",
            "format": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            }
          }
        },
        "description": "A collection of attachments."
      },
      "AttachmentDescription": {
        "type": "object",
        "properties": {
          "languageId": {
            "type": "integer",
            "description": "The integer for identifying the language of the attachment description. For a list of the integers that map to the supported default languages, refer to the Knowledge Center.",
            "format": "int32",
            "x-entity-path": "language"
          },
          "longDescription": {
            "type": "string",
            "description": "A long description of the attachment."
          },
          "name": {
            "type": "string",
            "description": "The language dependent name of the attachment."
          },
          "shortDescription": {
            "type": "string",
            "description": "A short description of the attachment."
          }
        },
        "description": "An attachment description.",
        "x-entity-class": "com.ibm.commerce.foundation.common.datatypes.AttachmentDescriptionType"
      },
      "AttachmentDescriptionCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of item records that match the query parameters.",
            "format": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentDescription"
            }
          }
        },
        "description": "A collection of attachment descriptions."
      },
      "AttachmentReference": {
        "type": "object",
        "properties": {
          "attachmentAssets": {
            "type": "array",
            "description": "The attachment assets.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/AttachmentAsset"
            },
            "x-entity-path": "attachmentAsset"
          },
          "attachmentDescriptions": {
            "type": "array",
            "description": "The attachment descriptions.",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/AttachmentDescription"
            },
            "x-entity-path": "attachmentDescription"
          },
          "attachmentId": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the attachment.",
            "format": "int64",
            "x-entity-path": "attachmentIdentifier/uniqueID"
          },
          "attachmentReferenceDescriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentDescription"
            },
            "x-entity-path": "attachmentReferenceDescription"
          },
          "attachmentUsage": {
            "$ref": "#/components/schemas/AttachmentUsage"
          },
          "displaySequence": {
            "type": "string",
            "description": "The display sequence.",
            "x-entity-path": "displaySequence"
          },
          "id": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the attachment reference.",
            "format": "int64",
            "readOnly": true,
            "x-entity-path": "attachmentReferenceIdentifier/uniqueID"
          },
          "identifier": {
            "type": "string",
            "description": "The identifier or name for identifying the attachment reference.",
            "readOnly": true,
            "x-entity-path": "attachmentIdentifier/externalIdentifier/identifier"
          },
          "organizationId": {
            "type": "string",
            "description": "The numeric ID of the organization that owns the attachment.",
            "readOnly": true,
            "x-entity-path": "attachmentIdentifier/externalIdentifier/ownerID"
          },
          "storeId": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the store.",
            "format": "int32",
            "readOnly": true,
            "x-entity-path": "attachmentIdentifier/externalIdentifier/storeIdentifier/uniqueID"
          }
        },
        "description": "A reference to an attachment.",
        "x-entity-class": "com.ibm.commerce.foundation.common.datatypes.AttachmentReferenceType"
      },
      "AttachmentReferenceCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of item records that match the query parameters.",
            "format": "int64"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentReference"
            }
          }
        },
        "description": "A collection of attachment references."
      },
      "AttachmentUsage": {
        "type": "object",
        "properties": {
          "description": {
            "$ref": "#/components/schemas/AttachmentDescription"
          },
          "displaySequence": {
            "type": "string",
            "description": "The display sequence.",
            "readOnly": true,
            "x-entity-path": "displaySequence"
          },
          "imagePath": {
            "type": "string",
            "description": "The path of the image.",
            "readOnly": true,
            "x-entity-path": "image"
          },
          "usageName": {
            "type": "string",
            "description": "The attachment usage name.",
            "x-entity-path": "usageName"
          }
        },
        "description": "The attachment usage. The attachment description is a read-only property, and cannot be added, updated or deleted when changing an attachment usage.",
        "x-entity-class": "com.ibm.commerce.foundation.common.datatypes.AttachmentUsageType"
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "x-components": {}
}
