---
  host: "localhost"
  basePath: "/wcs/resources"
  schemes: 
    - "https"
  swagger: "2.0"
  info: 
    version: "WC.TOOLKIT Enterprise Version : 9 Fix Pack : 0"
    title: "WebSphere Commerce V9 - Commerce Composer Services API"
    description: "These services put the power to create new store pages and design page layouts in the hands of business users. By using a library of prebuilt layout templates and widgets, business users can quickly create and assemble pages directly in Management Center. Use these classes to find information about pages, widgets, and the page design."
  tags: 
    - 
      name: "layout"
      description: "This class provides RESTful services to create, update, delete and get layouts in the store. It also supports granular operations on a layout for adding widgets, updating widgets, deleting widgets, adding extended data for a widget, updating extended data for a widget, deleting extended from a widget, updating layout properties, adding static location, updating static location and deleting static location. The class delegates to the PageLayout BOD services for all operations. These services are for authoring purposes and access to them is restricted to specific business user groups "
    - 
      name: "page_design"
      description: "Layout of a store page. Contains information used by the store to render the page."
    - 
      name: "widget_definition"
      description: "Definition of a widget. Contains information on the widget but not its inclusion in a layout."
    - 
      name: "page"
      description: "A store page. Contains information on the page such as SEO meta data."
  paths: 
    /store/{storeId}/layout/{layoutId}/layoutProperties: 
      post: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/Empty"
          201: 
            description: "The requested resource has been created."
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            required: false
            in: "body"
            description: "Request body."
            name: "body"
            schema: 
              $ref: "#/definitions/layout-layout"
          - 
            enum: 
              - "addLayoutProperties"
              - "deleteLayoutProperties"
              - "updateLayoutProperties"
            name: "action"
            required: true
            in: "query"
            type: "string"
            description: "The action of the rest service."
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Performs an action on layout properties. See each action for details on input and output."
        consumes: 
          - "application/json"
          - "application/xml"
        operationId: "performLayoutPropertiesAction"
    /store/{storeId}/page_design: 
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/page_design-IBM_Store_Details"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            enum: 
              - "byObjectIdentifier"
            name: "q"
            required: true
            in: "query"
            type: "string"
            description: "The query name."
          - 
            required: true
            type: "string"
            description: "The product ID."
            in: "query"
            name: "productId"
        tags: 
          - "page_design"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Finds a product display layout page by product ID."
        operationId: "byProductId"
    /store/{storeId}/layout/{layoutId}/widget/{widgetId}: 
      delete: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/layout-layout"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            required: true
            type: "string"
            description: "The widget unique ID."
            in: "path"
            name: "widgetId"
          - 
            enum: 
              - "xml"
              - "json"
            name: "responseFormat"
            required: false
            in: "query"
            type: "string"
            description: "The response format. If the request has an input body, that body must also use the format specified in \"responseFormat\". Valid values include \"json\" and \"xml\" without the quotes. If the responseFormat isn't specified, the \"accept\" HTTP header shall be used to determine the format of the response. If the \"accept\" HTTP header isn't specified as well, the default response format shall be in json."
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Delete a widget from a layout"
        operationId: "deleteWidget"
    /store/{storeId}/layout/{layoutId}/widget: 
      put: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/layout-layout"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            enum: 
              - "xml"
              - "json"
            name: "responseFormat"
            required: false
            in: "query"
            type: "string"
            description: "The response format. If the request has an input body, that body must also use the format specified in \"responseFormat\". Valid values include \"json\" and \"xml\" without the quotes. If the responseFormat isn't specified, the \"accept\" HTTP header shall be used to determine the format of the response. If the \"accept\" HTTP header isn't specified as well, the default response format shall be in json."
          - 
            required: false
            in: "body"
            description: "Request body."
            name: "body"
            schema: 
              $ref: "#/definitions/layout-layout"
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Add a widget to a layout"
        operationId: "addWidget"
      post: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/layout-layout"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            enum: 
              - "xml"
              - "json"
            name: "responseFormat"
            required: false
            in: "query"
            type: "string"
            description: "The response format. If the request has an input body, that body must also use the format specified in \"responseFormat\". Valid values include \"json\" and \"xml\" without the quotes. If the responseFormat isn't specified, the \"accept\" HTTP header shall be used to determine the format of the response. If the \"accept\" HTTP header isn't specified as well, the default response format shall be in json."
          - 
            required: false
            in: "body"
            description: "Request body."
            name: "body"
            schema: 
              $ref: "#/definitions/layout-layout"
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Update widget and widget properties in a layout"
        operationId: "updateWidget"
    /store/{storeId}/widget_definition: 
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/widget_definition-IBM_Admin_Summary"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            enum: 
              - "byWidgetTypes"
            name: "q"
            required: true
            in: "query"
            type: "string"
            description: "The query name."
          - 
            description: "The widget type."
            items: 
              type: "integer"
              format: "int32"
            required: true
            in: "query"
            type: "array"
            name: "widgetType"
          - 
            required: false
            type: "boolean"
            description: "Boolean flag to indicate if inactive widget definitions must be included in the response. By default inactive widgets are filtered."
            in: "query"
            name: "includeInactiveWidgets"
          - 
            enum: 
              - "IBM_Admin_Summary"
              - "IBM_Admin_All"
            name: "profileName"
            required: false
            in: "query"
            type: "string"
            description: "Profile name. Profiles determine the subset of data to be returned by a query."
          - 
            description: "Data languages restrict the language specific data in the result to the languages specified."
            items: 
              type: "integer"
              format: "int32"
            required: false
            in: "query"
            type: "array"
            name: "dataLanguageIds"
          - 
            description: "Page number, starting at 1. Valid values include positive integers of 1 and above. The \"pageSize\" must be specified for paging to work."
            format: "int64"
            required: false
            in: "query"
            type: "integer"
            name: "pageNumber"
          - 
            description: "Page size. Used to limit the amount of data returned by a query. Valid values include positive integers of 1 and above. The \"pageNumber\" must be specified for paging to work."
            format: "int64"
            required: false
            in: "query"
            type: "integer"
            name: "pageSize"
        tags: 
          - "widget_definition"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Finds widget definitions by widget types. Invalid widget types will be ignored"
        operationId: "byWidgetTypes"
    /store/{storeId}/page: 
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/page-IBM_Store_Details_SEO"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            enum: 
              - "byCategoryIds"
            name: "q"
            required: true
            in: "query"
            type: "string"
            description: "The query name."
          - 
            description: "The category ID."
            items: 
              type: "string"
            required: true
            in: "query"
            type: "array"
            name: "categoryId"
        tags: 
          - "page"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/atom+xml"
          - "application/xhtml+xml"
        summary: "Finds pages by category IDs. Invalid category IDs are ignored."
        operationId: "byCategoryIds"
    /store/{storeId}/widget_definition/identifier/{identifier}: 
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/widget_definition-IBM_Store_Summary"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The widget definition identifier."
            in: "path"
            name: "identifier"
        tags: 
          - "widget_definition"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Finds a widget definition by its identifier."
        operationId: "findByIdentifier"
    /store/{storeId}/layout: 
      put: 
        responses: 
          200: 
            description: "No response was specified"
            schema: 
              $ref: "#/definitions/layout-layout"
          201: 
            description: "The requested resource has been created."
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            enum: 
              - "xml"
              - "json"
            name: "responseFormat"
            required: false
            in: "query"
            type: "string"
            description: "The response format. If the request has an input body, that body must also use the format specified in \"responseFormat\". Valid values include \"json\" and \"xml\" without the quotes. If the responseFormat isn't specified, the \"accept\" HTTP header shall be used to determine the format of the response. If the \"accept\" HTTP header isn't specified as well, the default response format shall be in json."
          - 
            required: false
            in: "body"
            description: "Request body."
            name: "body"
            schema: 
              $ref: "#/definitions/layout-layout"
          - 
            required: false
            type: "boolean"
            description: "Requests the server to generate a name for the layout automatically"
            in: "query"
            name: "autoGenerateName"
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Creates the layout."
        operationId: "createLayout"
      post: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/layout-layout"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            required: false
            in: "body"
            description: "Request body."
            name: "body"
            schema: 
              $ref: "#/definitions/layout-layout"
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Add / Update / Delete layout static location"
        consumes: 
          - "application/json"
          - "application/xml"
        operationId: "manageLayoutStaticLocation"
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/layout-layout"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            enum: 
              - "searchLayoutsByState"
            name: "q"
            required: true
            in: "query"
            type: "string"
            description: "The query name."
          - 
            required: false
            type: "string"
            description: "The state of the layout. If this parameter is not specified, the default state is Active."
            in: "query"
            name: "state"
          - 
            description: "The ownerID of the layout. When the managingTool is IBM_COMMERCE_INSIGHTS_TOOL, not specifying the ownerID parameter in a pagination request may result in variances based on the caller's Access Control privileges."
            format: "int64"
            required: false
            in: "query"
            type: "integer"
            name: "ownerID"
          - 
            required: false
            type: "string"
            description: "The location name search criteria."
            in: "query"
            name: "locationName"
          - 
            required: false
            type: "string"
            description: "The layout name search criteria"
            in: "query"
            name: "name"
          - 
            enum: 
              - "CreateDate"
              - "TemplateID"
              - "LocationName"
            name: "sortBy"
            required: false
            in: "query"
            type: "string"
            description: "The sort order for the layouts. The default sort criteria depends on the query."
          - 
            enum: 
              - "DESC"
            name: "sortOrder"
            required: false
            in: "query"
            type: "string"
            description: "The sorting order. The default sort order is ascending."
          - 
            enum: 
              - "IBM_Admin_Summary"
              - "IBM_Admin_Details"
            name: "profileName"
            required: false
            in: "query"
            type: "string"
            description: "Profile name. Profiles determine the subset of data to be returned by a query."
          - 
            enum: 
              - "IBM_MANAGEMENT_CENTER_TOOL"
              - "IBM_COMMERCE_INSIGHTS_TOOL"
            name: "managingTool"
            required: false
            in: "query"
            type: "string"
            description: "The managing tool used. Default value is IBM_COMMERCE_INSIGHTS_TOOL"
          - 
            description: "Page number, starting at 1. Valid values include positive integers of 1 and above. The \"pageSize\" must be specified for paging to work."
            format: "int32"
            required: false
            in: "query"
            type: "integer"
            name: "pageNumber"
          - 
            description: "Page size. Used to limit the amount of data returned by a query. Valid values include positive integers of 1 and above. The \"pageNumber\" must be specified for paging to work."
            format: "int32"
            required: false
            in: "query"
            type: "integer"
            name: "pageSize"
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "This method searches for layouts based on the layout state and the search criteria. The default sorting order is based on the created date of layouts."
        operationId: "searchLayoutsByState"
    /store/{storeId}/page/{pageId}: 
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/page-IBM_Store_Details"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The page ID."
            in: "path"
            name: "pageId"
          - 
            enum: 
              - "IBM_Store_Summary"
              - "IBM_Store_Details"
            name: "profileName"
            required: false
            in: "query"
            type: "string"
            description: "Profile name. Profiles determine the subset of data to be returned by a query."
        tags: 
          - "page"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Finds a page by its ID."
        operationId: "findByPageId"
    /store/{storeId}/widget_definition/{widgetDefinitionId}: 
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/widget_definition-IBM_Store_Summary"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The widget definition ID."
            in: "path"
            name: "widgetDefinitionId"
        tags: 
          - "widget_definition"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Finds a widget definition by its ID."
        operationId: "findByWidgetDefinitionId"
    /store/{storeId}/layout/{layoutId}: 
      post: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/layout-layout"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            enum: 
              - "xml"
              - "json"
            name: "responseFormat"
            required: false
            in: "query"
            type: "string"
            description: "The response format. If the request has an input body, that body must also use the format specified in \"responseFormat\". Valid values include \"json\" and \"xml\" without the quotes. If the responseFormat isn't specified, the \"accept\" HTTP header shall be used to determine the format of the response. If the \"accept\" HTTP header isn't specified as well, the default response format shall be in json."
          - 
            required: false
            in: "body"
            description: "Update layout details body."
            name: "body"
            schema: 
              $ref: "#/definitions/layout-layout"
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Update a layout in the store"
        consumes: 
          - "application/json"
          - "application/xml"
        operationId: "updateLayout"
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/layout-layout"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            description: "The layout unique ID."
            format: "int64"
            required: true
            in: "path"
            type: "integer"
            name: "layoutId"
          - 
            enum: 
              - "xml"
              - "json"
            name: "responseFormat"
            required: false
            in: "query"
            type: "string"
            description: "The response format. If the request has an input body, that body must also use the format specified in \"responseFormat\". Valid values include \"json\" and \"xml\" without the quotes. If the responseFormat isn't specified, the \"accept\" HTTP header shall be used to determine the format of the response. If the \"accept\" HTTP header isn't specified as well, the default response format shall be in json."
          - 
            enum: 
              - "IBM_Admin_Summary"
              - "IBM_Admin_Details"
            name: "profileName"
            required: false
            in: "query"
            type: "string"
            description: "Profile name. Profiles determine the subset of data to be returned by a query."
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Gets layout details by layout uniqueID"
        operationId: "findLayoutByUniqueId"
      delete: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/layout-layout"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            enum: 
              - "xml"
              - "json"
            name: "responseFormat"
            required: false
            in: "query"
            type: "string"
            description: "The response format. If the request has an input body, that body must also use the format specified in \"responseFormat\". Valid values include \"json\" and \"xml\" without the quotes. If the responseFormat isn't specified, the \"accept\" HTTP header shall be used to determine the format of the response. If the \"accept\" HTTP header isn't specified as well, the default response format shall be in json."
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Deletes a layout in a given store"
        operationId: "deleteLayout"
    /store/{storeId}/layout/{layoutId}/widget/{widgetId}/extendedData: 
      post: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/Empty"
          201: 
            description: "The requested resource has been created."
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            required: true
            type: "string"
            description: "The widget unique ID."
            in: "path"
            name: "widgetId"
          - 
            required: false
            in: "body"
            description: "Request body."
            name: "body"
            schema: 
              $ref: "#/definitions/layout-layout"
          - 
            enum: 
              - "addExtendedData"
              - "deleteExtendedData"
              - "updateExtendedData"
            name: "action"
            required: true
            in: "query"
            type: "string"
            description: "The action of the rest service."
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Performs an action on widgets extended data. See each action for details on input and output."
        consumes: 
          - "application/json"
          - "application/xml"
        operationId: "performWidgetExtendedDataAction"
    /store/{storeId}/page/name/{name}: 
      get: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/page-IBM_Store_Details"
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          404: 
            description: "The specified resource couldn't be found."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The page name."
            in: "path"
            name: "name"
          - 
            enum: 
              - "IBM_Store_Summary"
              - "IBM_Store_Details"
            name: "profileName"
            required: false
            in: "query"
            type: "string"
            description: "Profile name. Profiles determine the subset of data to be returned by a query."
        tags: 
          - "page"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Finds a page by its name."
        operationId: "findByName"
    /store/{storeId}/layout/{layoutId}/layoutStaticLocation: 
      post: 
        responses: 
          200: 
            description: "The requested completed successfully."
            schema: 
              $ref: "#/definitions/Empty"
          201: 
            description: "The requested resource has been created."
          400: 
            description: "Bad request. Some of the inputs provided to the request aren't valid."
          401: 
            description: "Not authenticated. The user session isn't valid."
          403: 
            description: "The user isn't authorized to perform the specified request."
          500: 
            description: "Internal server error. Additional details will be contained on the server logs."
        parameters: 
          - 
            enum: 
              - "0"
              - "10001"
              - "10501"
              - "11001"
              - "1"
              - "11501"
              - "2"
            name: "storeId"
            required: true
            in: "path"
            type: "string"
            description: "The store identifier."
          - 
            required: true
            type: "string"
            description: "The layout unique ID."
            in: "path"
            name: "layoutId"
          - 
            required: false
            in: "body"
            description: "Request body."
            name: "body"
            schema: 
              $ref: "#/definitions/layout-layout"
          - 
            enum: 
              - "addLayoutStaticLocation"
              - "deleteLayoutStaticLocation"
              - "updateLayoutStaticLocation"
            name: "action"
            required: true
            in: "query"
            type: "string"
            description: "The action of the rest service."
        tags: 
          - "layout"
        produces: 
          - "application/json"
          - "application/xml"
          - "application/xhtml+xml"
          - "application/atom+xml"
        summary: "Performs an action on layout static location. See each action for details on input and output."
        consumes: 
          - "application/json"
          - "application/xml"
        operationId: "performLayoutStaticLocationAction"
  definitions: 
    widget_definition-Description: 
      properties: 
        userDataField: 
          items: 
            $ref: "#/definitions/widget_definition-Description.userDataField"
          type: "array"
        displayName: 
          type: "string"
        description: 
          type: "string"
        langId: 
          type: "string"
    layout-layout_item.layoutProperty: 
      properties: 
        name: 
          type: "string"
        layoutPropertyId: 
          type: "string"
        value: 
          type: "string"
        sequenceOrder: 
          type: "number"
          format: "double"
        userDataField: 
          items: 
            $ref: "#/definitions/layout-layout_item.layoutProperty.userDataField"
          type: "array"
        properties: 
          type: "string"
    layout-layout_item.widget.slotIdentifier: 
      properties: 
        name: 
          type: "string"
        uniqueID: 
          type: "string"
    widget_definition-IBM_Store_Summary: 
      properties: 
        recordSetCount: 
          type: "integer"
          format: "int64"
        recordSetComplete: 
          type: "boolean"
        recordSetStartNumber: 
          type: "integer"
          format: "int64"
        resultList: 
          items: 
            $ref: "#/definitions/widget_definition-IBM_Store_Summary_item"
          type: "array"
        recordSetTotal: 
          type: "integer"
          format: "int64"
    layout-layout_item.widget: 
      properties: 
        widgetDefId: 
          type: "string"
        widgetDefStoreId: 
          type: "string"
        slotType: 
          type: "string"
        parentWidgetId: 
          type: "string"
        widgetName: 
          type: "string"
        widgetDefExternalId: 
          type: "string"
        slotId: 
          type: "string"
        childSlot: 
          items: 
            $ref: "#/definitions/layout-layout_item.widget.childSlot"
          type: "array"
        widgetProperty: 
          items: 
            $ref: "#/definitions/layout-layout_item.widget.widgetProperty"
          type: "array"
        widgetId: 
          type: "string"
        extendedData: 
          items: 
            $ref: "#/definitions/layout-layout_item.widget.extendedData"
          type: "array"
        widgetSequence: 
          type: "number"
          format: "double"
        userDataField: 
          items: 
            $ref: "#/definitions/layout-layout_item.widget.userDataField"
          type: "array"
        slotIdentifier: 
          $ref: "#/definitions/layout-layout_item.widget.slotIdentifier"
        parentWidgetName: 
          type: "string"
        internalSlotId: 
          type: "string"
        slotName: 
          type: "string"
    widget_definition-IBM_Admin_Summary_item.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    layout-layout_item.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    page_design-Slot: 
      properties: 
        internalSlotId: 
          type: "string"
    layout-layout_item.widget.extendedData.attributes: 
      properties: 
        attribute: 
          items: 
            $ref: "#/definitions/layout-layout_item.widget.extendedData.attributes.attribute"
          type: "array"
        language: 
          type: "string"
    page-CatalogGroupView: 
      properties: 
        title: 
          type: "string"
        fullImageAltDescription: 
          type: "string"
        categoryIdentifier: 
          type: "string"
        metaKeyword: 
          type: "string"
        userDataField: 
          items: 
            $ref: "#/definitions/page-CatalogGroupView.userDataField"
          type: "array"
        metaDescription: 
          type: "string"
        categoryId: 
          type: "string"
    page-IBM_Store_Details_item: 
      properties: 
        pageId: 
          type: "string"
        nameEditable: 
          type: "boolean"
        metaKeyword: 
          type: "string"
        fullImageAltDescription: 
          type: "string"
        title: 
          type: "string"
        pageGroup: 
          type: "string"
        deletable: 
          type: "boolean"
        urlConfigurable: 
          type: "boolean"
        userDataField: 
          items: 
            $ref: "#/definitions/page-IBM_Store_Details_item.userDataField"
          type: "array"
        metaDescription: 
          type: "string"
        name: 
          type: "string"
    layout-layout_item.pageLocation: 
      properties: 
        propagateToSubLevels: 
          type: "boolean"
        pageId: 
          type: "string"
        startDate: 
          type: "string"
        storeId: 
          type: "string"
        groupNumber: 
          type: "integer"
          format: "int32"
        pageGroup: 
          type: "string"
        priority: 
          type: "integer"
          format: "int64"
        activityId: 
          type: "string"
        applyToSubPage: 
          type: "string"
        searchTerm: 
          type: "string"
        endDate: 
          type: "string"
        userDataField: 
          items: 
            $ref: "#/definitions/layout-layout_item.pageLocation.userDataField"
          type: "array"
    page-IBM_Store_Details_SEO: 
      properties: 
        recordSetCount: 
          type: "integer"
          format: "int64"
        recordSetComplete: 
          type: "boolean"
        recordSetStartNumber: 
          type: "integer"
          format: "int64"
        resultList: 
          items: 
            $ref: "#/definitions/page-CatalogGroupView"
          type: "array"
        recordSetTotal: 
          type: "integer"
          format: "int64"
    layout-layout_item.layoutProperty.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    widget_definition-IBM_Admin_Summary_item: 
      properties: 
        widgetObjectName: 
          type: "string"
        widgetProperty: 
          items: 
            $ref: "#/definitions/widget_definition-WidgetProperty"
          type: "array"
        widgetDefinitionId: 
          type: "string"
        vendor: 
          type: "string"
        description: 
          items: 
            $ref: "#/definitions/widget_definition-Description"
          type: "array"
        widgetType: 
          type: "string"
        storeId: 
          type: "string"
        state: 
          type: "string"
        definitionXml: 
          type: "string"
        path: 
          type: "string"
        userDataField: 
          items: 
            $ref: "#/definitions/widget_definition-IBM_Admin_Summary_item.userDataField"
          type: "array"
        identifier: 
          type: "string"
        configurableSlot: 
          items: 
            $ref: "#/definitions/widget_definition-ConfigurableSlot"
          type: "array"
    page_design-IBM_Store_Details_item.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    page-IBM_Store_Details: 
      properties: 
        recordSetCount: 
          type: "integer"
          format: "int64"
        recordSetComplete: 
          type: "boolean"
        recordSetStartNumber: 
          type: "integer"
          format: "int64"
        resultList: 
          items: 
            $ref: "#/definitions/page-IBM_Store_Details_item"
          type: "array"
        recordSetTotal: 
          type: "integer"
          format: "int64"
    Empty: 
      description: "Empty model. Used as default value when no model is specified."
    widget_definition-IBM_Admin_Summary: 
      properties: 
        recordSetCount: 
          type: "integer"
          format: "int64"
        recordSetComplete: 
          type: "boolean"
        recordSetStartNumber: 
          type: "integer"
          format: "int64"
        resultList: 
          items: 
            $ref: "#/definitions/widget_definition-IBM_Admin_Summary_item"
          type: "array"
        recordSetTotal: 
          type: "integer"
          format: "int64"
    layout-layout_item.widget.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    widget_definition-Description.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    layout-layout: 
      properties: 
        recordSetCount: 
          type: "integer"
          format: "int64"
        recordSetComplete: 
          type: "boolean"
        recordSetStartNumber: 
          type: "integer"
          format: "int64"
        resultList: 
          items: 
            $ref: "#/definitions/layout-layout_item"
          type: "array"
        recordSetTotal: 
          type: "integer"
          format: "int64"
    layout-layout_item.pageLocation.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    page_design-Widget.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    layout-layout_item.widget.extendedData.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    layout-layout_item.widget.widgetProperty: 
      properties: 
        storeId: 
          type: "string"
        name: 
          type: "string"
        value: 
          type: "string"
        sequence: 
          type: "number"
          format: "double"
    widget_definition-ConfigurableSlot: 
      properties: 
        slotType: 
          type: "string"
        positionProperty: 
          items: 
            $ref: "#/definitions/widget_definition-ConfigurableSlot.positionProperty"
          type: "array"
        internalSlotId: 
          type: "string"
    layout-layout_item.widget.childSlot: 
      properties: 
        slotIdentifier: 
          $ref: "#/definitions/layout-layout_item.widget.childSlot.slotIdentifier"
        slotType: 
          type: "string"
        slotId: 
          type: "string"
        internalSlotId: 
          type: "string"
        slotName: 
          type: "string"
    widget_definition-IBM_Store_Summary_item.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    page_design-IBM_Store_Details_item: 
      properties: 
        layoutId: 
          type: "string"
        widget: 
          $ref: "#/definitions/page_design-Widget"
        pageGroup: 
          type: "string"
        objectIdentifier: 
          type: "string"
        deviceClass: 
          type: "string"
        userDataField: 
          items: 
            $ref: "#/definitions/page_design-IBM_Store_Details_item.userDataField"
          type: "array"
        layoutName: 
          type: "string"
        previewReport: 
          items: 
            type: "string"
          type: "array"
    widget_definition-IBM_Store_Summary_item: 
      properties: 
        widgetObjectName: 
          type: "string"
        widgetProperty: 
          items: 
            $ref: "#/definitions/widget_definition-WidgetProperty"
          type: "array"
        widgetDefinitionId: 
          type: "string"
        vendor: 
          type: "string"
        widgetType: 
          type: "string"
        storeId: 
          type: "string"
        state: 
          type: "string"
        definitionXml: 
          type: "string"
        path: 
          type: "string"
        userDataField: 
          items: 
            $ref: "#/definitions/widget_definition-IBM_Store_Summary_item.userDataField"
          type: "array"
        identifier: 
          type: "string"
    widget_definition-ConfigurableSlot.positionProperty: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    layout-layout_item.widget.extendedData.attributes.attribute: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    widget_definition-WidgetProperty.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    layout-layout_item.widget.childSlot.slotIdentifier: 
      properties: 
        name: 
          type: "string"
        uniqueID: 
          type: "string"
    layout-layout_item: 
      properties: 
        startDate: 
          type: "string"
        managingTool: 
          type: "string"
        endDate: 
          type: "string"
        templateStoreId: 
          type: "string"
        deviceClass: 
          type: "string"
        layoutGroup: 
          type: "string"
        adminDescription: 
          type: "string"
        layoutStaticLocationId: 
          type: "string"
        templateName: 
          type: "string"
        priority: 
          type: "integer"
          format: "int64"
        state: 
          type: "string"
        template: 
          type: "boolean"
        userDataField: 
          items: 
            $ref: "#/definitions/layout-layout_item.userDataField"
          type: "array"
        widget: 
          items: 
            $ref: "#/definitions/layout-layout_item.widget"
          type: "array"
        isDefaultLocation: 
          type: "boolean"
        storeId: 
          type: "string"
        pageLayoutId: 
          type: "string"
        locationOwnerID: 
          type: "string"
        name: 
          type: "string"
        default: 
          type: "boolean"
        layoutProperty: 
          items: 
            $ref: "#/definitions/layout-layout_item.layoutProperty"
          type: "array"
        locationName: 
          type: "string"
        templateId: 
          type: "string"
        pageLocation: 
          items: 
            $ref: "#/definitions/layout-layout_item.pageLocation"
          type: "array"
        locationSequence: 
          type: "number"
          format: "double"
    page-IBM_Store_Details_item.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    layout-layout_item.widget.extendedData: 
      properties: 
        sequence: 
          type: "number"
          format: "double"
        dataType: 
          type: "string"
        storeId: 
          type: "string"
        uniqueId: 
          type: "string"
        attributes: 
          items: 
            $ref: "#/definitions/layout-layout_item.widget.extendedData.attributes"
          type: "array"
        userDataField: 
          items: 
            $ref: "#/definitions/layout-layout_item.widget.extendedData.userDataField"
          type: "array"
    page_design-WidgetProperty.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    widget_definition-WidgetProperty: 
      properties: 
        sequenceOrder: 
          type: "number"
          format: "double"
        userDataField: 
          items: 
            $ref: "#/definitions/widget_definition-WidgetProperty.userDataField"
          type: "array"
        storeId: 
          type: "string"
        name: 
          type: "string"
        value: 
          type: "string"
    page-CatalogGroupView.userDataField: 
      required: 
        - "key"
      properties: 
        value: 
          type: "string"
        key: 
          type: "string"
    page_design-WidgetProperty: 
      properties: 
        sequenceOrder: 
          type: "number"
          format: "double"
        userDataField: 
          items: 
            $ref: "#/definitions/page_design-WidgetProperty.userDataField"
          type: "array"
        storeId: 
          type: "string"
        name: 
          type: "string"
        value: 
          type: "string"
    page_design-Widget: 
      properties: 
        slot: 
          $ref: "#/definitions/page_design-Slot"
        widgetDefinitionIdentifier: 
          type: "string"
        widgetDefinitionId: 
          type: "string"
        widgetId: 
          type: "string"
        childWidget: 
          items: 
            $ref: "#/definitions/page_design-Widget"
          type: "array"
        widgetProperty: 
          items: 
            $ref: "#/definitions/page_design-WidgetProperty"
          type: "array"
        widgetDefinitionStoreId: 
          type: "string"
        widgetSequence: 
          type: "number"
          format: "double"
        userDataField: 
          items: 
            $ref: "#/definitions/page_design-Widget.userDataField"
          type: "array"
        name: 
          type: "string"
    page_design-IBM_Store_Details: 
      properties: 
        resultList: 
          items: 
            $ref: "#/definitions/page_design-IBM_Store_Details_item"
          type: "array"

