servers: - url: https://beaconproplus.com/v2/rest/com/becn/public description: >- Production. Added by API Evangelist; the harvested document carried no servers[]. Source: info.description of this spec: '[ PROD BASE URL: https://beaconproplus.com/v2/rest/com/becn/public ]' openapi: 3.0.0 info: title: Beacon Rest Services Public version: release/7.2_siteId description: | This version of APIs do not require the user to login, to be able to access services. A bearer token is required to be authorized to access the services. [ PROD BASE URL: *https://beaconproplus.com/v2/rest/com/becn/public* ] [ UAT BASE URL: *https://beacon-uat.becn.com/v2/rest/com/becn/public* ] [ DEV BASE URL: *https://beacon-dev.becn.com/v2/rest/com/becn/public* ] ### API Site ID:
Show... Most of the APIs supports the `apiSiteId` parameter in the following locations, the parsing priority is higher to lower. For example, if this parameter appears both in request parameter and request body, will get the one in the request parameter, any other locations will be ignored. 1. `apiSiteId` in Request Parameter/URL/Query String e.g. ``` example.com/?apiSiteId=XYZ... example.com/?...&apiSiteId=XYZ... ``` 2. `apiSiteId` in Request Body/Payload e.g. ``` { ... "apiSiteId": "XYZ", ... } ``` Please be noted, only support when `apiSiteId` is the root element of request body. For example, the `apiSiteId` in the following request body is the second element, so this property will be ignored: ``` { ... "foo": { "apiSiteId": "XYZ", } ... } ``` 3. `apiSiteId` related OAuth Token in Request Header e.g. ``` Authorization Bearer atdy9au5qtg0ofkxdewwr3169... ``` In this case, the `apiSiteId` will be parsed via the OAuth Token. For example, if one token is generated by the client id 'nigu0zjtyih7lb36l2...', then this client related api site id(pre-defined and stored in the server database) will be the value of `apiSiteId`
components: schemas: categoryObj: type: object properties: categoryName: type: string categoryId: type: string facetId: type: string categoryObj2: type: object properties: categoryName: type: string categoryId: type: string recordCount: type: integer example: 32 facetId: type: string productObj_itemlist: type: object properties: productImage: type: string productOnErrorImage: type: string productAdditionalOnErrorImage: type: string longDesc: type: string brand: type: string categories: type: array items: $ref: '#/components/schemas/categoryObj' shortDesc: type: string productName: type: string productId: type: string baseProductName: type: string internalProductName: type: string url: type: string skuList: type: array items: $ref: '#/components/schemas/skuListObj_itemlist' skuCount: type: integer skuListObj_itemlist: type: object properties: itemNumber: type: string productNumber: type: string itemImage: type: string example: /images/large/404191_default_hero.jpg swatchImage: type: string example: /images/large/404191_default_swatch.jpg skuShortDesc: type: string manufactureNumber: type: string variations: $ref: '#/components/schemas/PDPskusVariationObj' hoverAttributes: $ref: '#/components/schemas/hoverAttributesObj' hoverAttributesObj: type: object properties: sellingUom: type: string piecesPerUom: type: string coverageUom: type: string ppCoverageUom: type: string lengthExposure: type: string widthExposure: type: string lengthHover: type: string widthHover: type: string ncpSellingUom: type: string gcpSellingUom: type: string sslvoDimensionIn: type: string sswhoDimensionOption1In: type: string sswhoDimensionOption2In: type: string sswhoDimensionOption3In: type: string lslvoDimensionIn: type: string lswhoDimensionIn: type: string rvlvoDimensionIn: type: string rvwhoDimensionIn: type: string nfvaHover: type: string nfvaUomHover: type: string fhLapIn: type: string fvLapIn: type: string chLapIn: type: string cvLapIn: type: string cfmValue: type: string cfmUom: type: string facetObj: type: object properties: facetId: type: string facetName: type: string recordCount: type: integer example: 32 selected: type: boolean didYouMeanAndAutoCorrectionObj: type: object properties: message: type: string items: type: array items: type: object properties: filter: type: string itemlistRep: type: object properties: message: type: string totalNumRecs: type: integer pageNumRecs: type: integer didYouMean: $ref: '#/components/schemas/didYouMeanAndAutoCorrectionObj' autoCorrection: $ref: '#/components/schemas/didYouMeanAndAutoCorrectionObj' items: type: array items: $ref: '#/components/schemas/productObj_itemlist' categories: type: array items: $ref: '#/components/schemas/categoryObj2' facets: type: object additionalProperties: type: array items: $ref: '#/components/schemas/facetObj' example: Categories: - facetId: '2136008660' facetName: Residential Roofing selected: false children: - facetId: '2136009260' facetName: Residential Accessories recordCount: 216 selected: true children: - facetId: '2136009261' facetName: 'Adhesives, Caulk, & Sealants' recordCount: 1 selected: false - facetId: '2136009263' facetName: Fasteners recordCount: 1 selected: false - facetId: '2136009269' facetName: Flashings recordCount: 1 selected: false Color: - facetId: '4294967258' facetName: Grey recordCount: 15 selected: false - facetId: '4294967259' facetName: Blue recordCount: 23 selected: false Product Style: - facetId: '4294967260' facetName: R-11 recordCount: 54 selected: true - facetId: '4294967261' facetName: R-13 recordCount: 785 selected: true - facetId: '4294967262' facetName: R-15 recordCount: 642 selected: false Brand: - facetId: '4294967263' facetName: Johns Manville recordCount: 54 selected: true - facetId: '4294967264' facetName: Owens Corning recordCount: 2354 selected: false PDPskusVariationObj: type: object additionalProperties: type: object example: color: - White - Dover size: - 12x10 thickness: - 2mm securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: token paths: /itemlist: get: security: - bearerAuth: [] tags: - Catalog ITEM Services summary: Get list of items description: >- This service will list all the products for selected account, based on availability. parameters: - in: query name: accountId schema: type: string description: Account ID required: true - in: query name: pageSize description: Default page size is 21. max is 24 schema: type: integer format: int32 - in: query name: pageNo description: 'Default page no is 1, the first page' schema: type: integer format: int32 - in: query name: filter description: | Search terms This parameter also support the following syntax: * `productId:ID1,ID2...IDn` * Filter by given product ID list, separated by comma. e.g. "productId:C-010001,C-010002,C-010003" schema: type: string - in: query name: cateFilter description: Category search terms schema: type: string - in: query name: facetsFilter description: > Filter syntax: * Facets search IDs, separated by comma * e.g. "4294965847,4294965836" * Indicate which dimension to search, `:`, separated by comma, case insensitive, ignore white space * e.g. "size:0ft x 2ft,packaging:100 bag,thickness:102mm,style:A Slop,color: Beige" * Special charactors should be URL encoded then append to query string * e.g. raw: 'facetsFilter=Thickness:20_,Thickness:20",Thickness:20mm,Size:"9 x "12,Size:#12,Size:1! x 1!,Size:1-5/8",Size:10" x 15",Size:100' x 200',Size:2-7/8",Size:6> x 500<' * e.g. URL encoded: 'facetsFilter=Thickness%3a20_%2cThickness%3a20%22%2cThickness%3a20mm%2cSize%3a%229+x+%2212%2cSize%3a%2312%2cSize%3a1!+x+1!%2cSize%3a1-5%2f8%22%2cSize%3a10%22+x+15%22%2cSize%3a100%27+x+200%27%2cSize%3a2-7%2f8%22%2cSize%3a6%3e+x+500%3c' * The above syntax can be mixed together * e.g. "size:0ft x 2ft,4294965847,packaging:100 bag,thickness:102mm,4294965836,style:A Slop,color: Beige" schema: type: string - in: query name: showSkuList description: 'if "true", display sku list' schema: type: string - in: query name: showFacets description: 'if "false", do not display facets. Default is "true"' schema: type: string - in: query name: enableAutoCorrection description: Default is true, will enable auto correction for `filter` schema: type: string - in: query name: enableDidYouMean description: Default is true, will enable did you mean features for `filter` schema: type: string - in: query name: showHoverAttrs description: 'if "true", display Hover attributes' schema: type: string - in: query name: hoverSearch description: 'if "true", display Hover version of search' schema: type: string responses: '200': description: | successful operation If failed, return messageCode, refer to messageCode doc. Example { "messageCode": "1001", "message": "Validation exception" } content: application/json: schema: $ref: '#/components/schemas/itemlistRep' '401': description: 'Unauthorized, user do not login' '500': description: Internal exception