servers: - url: https://beaconproplus.com description: >- Production. Added by API Evangelist; the harvested document carried no servers[]. Source: info.description of this spec: '[ BASE URL: https://beaconproplus.com ]' — this combined document mixes /v1, /v2, /v3 and /v4 paths, so the host is the base and the version prefix is carried per tag openapi: 3.0.0 paths: "/login": post: operationId: V1Controller_login summary: " Logs user into system" description: Logs user into system with email as username and unique password. Log in session lasts 1 hour. To extend login session to 7 days, use the “RememberMe” flag. The `siteId` will always be `homeSite`. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/login" responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/loginResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/logout": post: operationId: V1Controller_logout summary: Logs user out of system description: Logs user out of system and ends current session. parameters: [] responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/logoutResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/getLoginDeclaration": get: operationId: V1Controller_getLoginDeclaration summary: Returns Terms and Conditions for persistent login description: If user clicks on “keep me signed in” on the login page, user will need to agree to the terms and conditions to remain logged into PRO+. parameters: - name: siteId required: false in: path description: Default is `homeSite`, should be one of `homeSite`, `dealersChoice` schema: type: string - name: persistentLoginType required: false in: path description: Default is `RememberMe`, should be one of `RememberMe`, `RememberPassword` schema: type: string - name: userAgent required: false in: path description: Default is `desktop`, should be one of `desktop`, `tablet`, `mobile` schema: type: string responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/getLoginDeclarationResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/accounts": get: operationId: V1Controller_accounts summary: Lists available accounts for a user description: Returns available accounts for a user using the profile Id from GET/getCurrentUserInfo. parameters: - name: profileId required: true in: path description: User profile Id schema: type: string responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/accountResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/switchAccount": post: operationId: V1Controller_switchAccount summary: Changes account for a user description: Allows Beacon customer to change from one customer account to another account associated with that user profile. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/switchAccountBody" responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/switchAccountResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/branchlist": get: operationId: V1Controller_branchlist summary: Lists all available branches description: Returns available branches within a zip code or city. parameters: - name: zipCode required: false in: path description: Branch postal code schema: type: string - name: city required: false in: path description: Branch city schema: type: string - name: pageSize required: false in: path description: Default page size is 21 schema: type: number - name: pageNo required: false in: path description: Default page number is 1, the first page schema: type: number responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/branchListResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/jobs": get: operationId: V1Controller_jobs summary: Lists available job names for an account description: Returns available job names and job numbers for an account. parameters: - name: accountId required: true in: path description: Account Id schema: type: string responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/jobsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/items": get: operationId: V1Controller_items summary: Returns item details description: Returns item details based on product Id or item Id. parameters: - name: productId required: false in: path description: Product Id schema: type: string - name: itemNumber required: false in: path description: Item number(SKU ID) schema: type: string - name: accountId required: false in: path description: Account Id schema: type: string - name: jobNumber required: false in: path description: Job Number schema: type: string - name: uom required: false in: path description: Unit of Measure schema: type: string - name: showHoverAttrs required: false in: path description: if "true", display hover attributes schema: type: string responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/getItemsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/getCurrentUserInfo": get: operationId: V2Controller_getCurrentUserInfo summary: Returns user details description: This service returns details for a logged in user. In this response, dtAccount is the deliveryTrackingSettings of current user with last selected account and roleType is one of "Master Admin","Admin", or "Site User". parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getCurrentUserInfoResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/orderhistory": get: operationId: V2Controller_orderhistory summary: Returns orders listed by order id description: Returns order information for each order including order totals, selling branch, special instructions, and shipping information. parameters: - name: accountId required: true in: path description: Account Id schema: type: number - name: pageSize required: false in: path description: Default page size is 0 schema: type: number - name: pageNo required: false in: path description: Default page no is 0 schema: type: number - name: filter required: false in: path description: '

Notice

The filter value should be URL encoded to avoid special characters issues(e.g. % with numbers)

filter enumeration

OrderStatusCode mapping

SourceOfSale mapping

' schema: type: string - name: orderBy required: false in: path description: "

orderBy enumeration

" schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/orderhistoryResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/orderdetail": get: operationId: V2Controller_orderdetail summary: Returns order details by order Id description: Returns order details by order Id. If OAuth is enabled, token is passed in header. Order status codes include (I) Invoiced, (R) Reviewed, (P) Priced, (C) Changed, (O) Open, (K) Reserved, (N) Pending. For eagleView order, specialInstruction field in response will be replaced with report address. parameters: - name: orderId required: true in: path description: Order Id schema: type: string - name: accountId required: true in: path description: Account Id schema: type: string - name: accountToken required: true in: path description: Account Token schema: type: string - name: showDT required: false in: path description: Flag to show/hide DT order status info, default is true. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/orderdetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/itemlist": get: operationId: V3Controller_itemlist summary: Get list of items description: This service will list all the products for selected account, based on availability. parameters: - name: accountId required: false in: query description: Account Id schema: type: string - name: pageSize required: false in: query description: Default page size is 21. Max Page Size can be configured in BCC, maxPageSize default value is 30. If pageSize exceeds maxPageSize, the amount of maxPageSize items return. schema: type: number - name: pageNo required: false in: query description: Default page no is 1, the first page schema: type: number - name: filter required: false in: query description: 'Search terms

This parameter also support the following syntax:
●`productId:ID1,ID2...IDn`
○Filter by given product Id list, separated by comma. Example: "productId:C-010001,C-010002,C-010003"
' schema: type: string - name: cateFilter required: false in: query description: Category search terms schema: type: string - name: facetsFilter required: false in: query description: 'Filter syntax:

●Facets search IDs, separated by comma
○ Example: "4294965847,4294965836"
●Indicate which dimension to search, < facet type >: , separated by comma, case insensitive, ignore white space
○ Example: "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
○ Example: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<"
○ Example: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
○ Example: "size:0ft x 2ft,4294965847,packaging:100 bag,thickness:102mm,4294965836,style:A Slop,color: Beige"
' schema: type: string - name: showSkuList required: false in: query description: if "false", display sku list schema: type: string - name: showFacets required: false in: query description: if "false", do not display facets. Default is "false" schema: type: string - name: enableAutoCorrection required: false in: query description: Default is false, will enable auto correction for `filter` schema: type: string - name: enableDidYouMean required: false in: query description: Default is false, will enable did you mean features for `filter` schema: type: string - name: showHoverAttrs required: false in: query description: if "false", display Hover attributes schema: type: string - name: hoverSearch required: false in: query description: if "false", 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/itemListResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. security: - basic: [] tags: - V3 "/getProductInfo": get: operationId: V1Controller_getProductInfo summary: Returns list of accounts by Product Id description: Returns list of accounts where product is available for Hover. parameters: - name: productId required: false in: path description: Product Id schema: type: string - name: accountInfo required: true in: path description: If true, return all accounts as a list for which the product should be served (accounts that have the product as available). Default is false schema: type: string responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/getProductInfoResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/getSkuUom": get: operationId: V1Controller_getSkuUom summary: Returns Unit of Measures (UoM) for an item number description: "Returns all Unit of Measures (UoM) options for an item number. Item number examples: 253729, 253733. Unit of Measure examples: BDL, PC, CTN." parameters: - name: skuId required: false in: path description: Item Number schema: type: string - name: skuIds required: false in: path description: 'Multiple Item Number string, separated by commas

Example: "253729,253737,253740"' schema: type: string responses: "200": description: 'successful operation

If failed, return messageCode, refer to the API Response Message Code dropdown above

Example:

{ "messageCode": "1001", "messages": [{ "type": "error", "value": "Validation exception", "code": "1001" }], "success": false }' content: application/json: schema: "$ref": "#/components/schemas/getSkuUomResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V1 "/pricing": get: operationId: V2Controller_pricing summary: Returns price and unit of measure for item number(s) description: Returns price and unit of measure for item numbers. Items with no unit of measure will return “EMPTY_UOM” in response. There is no limit in the number of items in query. parameters: - name: skuIds required: false in: path description: 'skuIds: Separate SKU Id''s with commas.

Example: "253729,253737,253740"

If querying for items specified by unit of measure, add unit of measure followed by colon.

Example: "253729:BDL,253737,253740:PC"' schema: type: string - name: accountId required: false in: path description: Account Id schema: type: string - name: jobNumber required: false in: path description: Job Number schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/pricingResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/cartItems": get: operationId: V2Controller_cartItems summary: Retrieves items from cart description: Retrieves added items from the cart for the user profile within selected account. This end point allows you to return variations of each item. parameters: - name: showItemVariations required: false in: path description: Default is false. If "true", display variations of each item. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/cartItemsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/submitOrder": post: operationId: V2Controller_submitOrder summary: Submits order description: 'This service submits an order to the assigned branch for the selected account. Account holder can require jobNumber for each order processed within that account. Use get/jobs service to see if jobNumber is required for account. The “purchaseOrderNo” is assigned by account and does not need to be unique. The ""apiSiteId"" is is required to submit an order. The “itemNumber” or ""productOrItemDescription"", “quantity,” and “unitOfMeasure” fields are required lineItems. The “checkForAvailability” field should always be “No” to ensure orders are actually received by a branch representative. The “UUID” field is an optional field to send in UUID value to track orders. ' parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/submitOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/submitOrderResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/addMultipleItemsToOrder": post: operationId: V2Controller_addMultipleItemsToOrder summary: Adds multiple items to the cart description: Adds multiple items to a cart. "items.color" should be either "vendor color name(code)" or "vendor color name". parameters: - name: ignoreInvalidItems required: true in: path description: if "true", will ignore invalid items and continue add valid items to cart, otherwise will return invalid items schema: type: boolean requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/addMultipleItemsToOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/addMultipleItemsToOrderResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/template": get: operationId: V2Controller_template summary: Lists templates and template details for current user description: Lists templates and the template details for the current user. parameters: - name: Account required: false in: path description: If not empty, will filter result by given account id schema: type: string - name: showItems required: false in: path description: Default is false. If "true", response will display template items schema: type: string - name: showItemVariations required: false in: path description: Default is false. If "true", response will display variations of each template item schema: type: string - name: showPricing required: false in: path description: Default is false. If "true", response will display pricing of each template item schema: type: string - name: showItemAvailable required: false in: path description: Default is true. If "false", response will not display item availability in region schema: type: string - name: pageSize required: false in: path description: Default is 10 and max is 100 for record count of each page schema: type: number - name: pageNo required: false in: path description: Default is 1, the first page. Specifies returned starting page number or page index. schema: type: number - name: invokeBy required: false in: path description: If value is "store", will do the store logic which is the legacy logic in place to enable search function or filtering. schema: type: string - name: filterBy required: false in: path description: If "invokeBy=store", the search key feature is enabled.

filterBy enumeration schema: type: string - name: filter required: false in: path description: If "invokeBy=store", the search terms feature is enabled. schema: type: string - name: orderBy required: false in: path description: Default is "dataLastModified desc". This feature is enabled only when "invokeBy = store"

orderBy enumeration schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/templateResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/hoverExplicitLogin": post: operationId: V2Controller_hoverExplicitLogin summary: Hover explicit login description: This service supplies explicit login for Hover users. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/hoverExplicitLoginBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/hoverExplicitLoginResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/saveCurrentUserInfo": post: operationId: V2Controller_saveCurrentUserInfo summary: Saves current user details description: This call updates user account information. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/saveCurrentUserInfoBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getCurrentUserPermission": get: operationId: V2Controller_getCurrentUserPermission summary: Returns current user permissions description: Returns current user permissions as well as the original permissions defaulted to the user. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getCurrentUserPermissionResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getAddressBook": get: operationId: V2Controller_getAddressBook summary: Returns address book for current user description: Returns all address entries within an address book for the current user. parameters: - name: addressBookIds required: true in: path description: If addressBookId is empty, will return all addresses schema: type: number responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getAddressBookResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/createAddressBook": post: operationId: V2Controller_createAddressBook summary: Creates new address in the address book description: This service creates a new address in the address book for current user. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/createAddressBookBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/createAddressBookResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateAddressBook": post: operationId: V2Controller_updateAddressBook summary: Updates address in the address book description: Updates address in the address book for current user. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateAddressBookBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/updateAddressBookResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/deleteAddressBook": post: operationId: V2Controller_deleteAddressBook summary: Deletes address in the address book description: Deletes address in the address book for current user. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/deleteAddressBookBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/deleteAddressBookResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/changePassword": post: operationId: V2Controller_changePassword summary: Change password description: Change password for logged in user by sending old password and new password. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/changePasswordBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/changePasswordResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/setPassword": post: operationId: V2Controller_setPassword summary: Sets password for new user description: Sets password for new users using the password token. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/setPasswordBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/setPasswordResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/resetPassword": post: operationId: V2Controller_resetPassword summary: Resets password for current user description: Resets password for current user using the password token. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/resetPasswordBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/resetPasswordResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/forgotPassword": post: operationId: V2Controller_forgotPassword summary: Sends forgot password email description: Sends forgot email to current user with a link to enter new password and confirm new password. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/forgotPasswordBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/forgotPasswordResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/user": post: operationId: V2Controller_user summary: Returns a list of users for an account description: |2 Returns a list of users for an account. The available values for op field are eq, ne, contains, not_contains, start_with, end_with, not_start_with and not_end_with. Request sample: { "orgId":"100001", "query":{ "or": [{ "op":"eq", "property": "email", "value": "abc@example.com" }, { "op":"end_with", "property": "email", "value": "@example.com" }], "and": [{ "op":"eq", "property": "email", "value": "abc@example.com" }, { "op":"end_with", "property": "email", "value": "@example.com" }], "sortBy":"lastModifiedDate", "sortType":"desc", "pageIndex":1, "pageSize":10 } } parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/userBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/userResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getUserDetail": get: operationId: V2Controller_getUserDetail summary: Returns user details by profile id. description: Returns account information and permissions by profile id. parameters: - name: id required: false in: path description: User Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getUserDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/createUser": post: operationId: V2Controller_createUser summary: Creates a new user account description: |2 Creates a new user account and assigns user permissions. Admin or Master Admin can use user templates to specify role permissions. If default role template is used, the user will receive default role permissions. If user role needs customized permissions, the “permissionValues” will is required to assign custom roles. currentTemplate enumeration When currentTemplate is "Default Role Template", will use the default role permission as user permission values When currentTemplate is "Customized Permission", the permissionValues field is required, and will use given "permissionValues" as user permission values When currentTemplate is any other string value, the permissionTemplate.templateId field is required, and will use the permissions of given permission template as user permission values status enumeration parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/createUserBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/createUserResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateUser": post: operationId: V2Controller_updateUser summary: Updates user information description: |2 Updates personal profile information for existing user. Admin or Master Admin can use permissions templates to specify role permission. If default role template is used, the user will receive default role permissions. If user role needs customized permissions, the “permissionValues” is required to assign custom roles. currentTemplate enumeration When currentTemplate is "Default Role Template", will use the default role permission as user permission values When currentTemplate is "Customized Permission", the permissionValues field is required, and will use given "permissionValues" as user permission values When currentTemplate is any other string value, the permissionTemplate.templateId field is required, and will use the permissions of given permission template as user permission values status enumeration parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateUserBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/organization": get: operationId: V2Controller_organization summary: Returns list of organizations for current user description: Returns list of organizations and permissions for current user. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/organizationResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/role": get: operationId: V2Controller_role summary: Returns role and permissions for current user description: Returns the assigned role for current user and whether user is allowed to approve orders, view pricing, place orders, view order history, manage quotes or manage rebates. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/roleResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/permissionTemplateList": post: operationId: V2Controller_permissionTemplateList summary: Returns list of permissions templates description: |2 Returns list of permissions templates for custom permissions created by the Admin or Master Admin. sortBy enum: sortType enum: parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/permissionTemplateListBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/permissionTemplateListResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getPermissionTemplateDetail": post: operationId: V2Controller_getPermissionTemplateDetail summary: Returns details for permissions templates description: Returns details of permissions templates for custom permissions created by the Admin or Master Admin. parameters: - name: templateId required: false in: path description: Permission Template Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getPermissionTemplateDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/createPermissionTemplate": post: operationId: V2Controller_createPermissionTemplate summary: Creates permissions template description: Creates permissions templates with custom permissions to assign to new user accounts. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/createPermissionTemplateBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/createPermissionTemplateResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updatePermissionTemplate": post: operationId: V2Controller_updatePermissionTemplate summary: Updates permissions template description: Updates permissions templates. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updatePermissionTemplateBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/deletePermissionTemplate": post: operationId: V2Controller_deletePermissionTemplate summary: Removes permissions template description: Removes permissions template. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/deletePermissionTemplateBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/orderhistory_v2": get: operationId: V2Controller_orderhistory_v2 summary: Returns orders listed by order id description: Returns order information for each order including order totals, selling branch, special instructions, and shipping information. Default page size is 25 and default page is 1 to accommodate Hover. parameters: - name: accountId required: true in: path description: Account Id schema: type: number - name: pageSize required: false in: path description: Default page size is 25 schema: type: number - name: pageNo required: false in: path description: Default page no is 1 schema: type: number - name: searchBy required: false in: path description: "searchBy enumeration" schema: type: string - name: searchTerm required: false in: path description: When "searchBy" is one of the following enumeration, the "searchTerm" should be populated schema: type: string - name: searchStartDate required: false in: path description: 'When "searchBy" is "OrderPlacedDate", the "searchStartDate" should be populated, format should be "MM-DD-YYYY", Example: "01-05-2021"' schema: type: string - name: searchEndDate required: false in: path description: 'When "searchBy" is "OrderPlacedDate", the "searchEndDate" should be populated, format should be "MM-DD-YYYY", Example: "01-05-2021"' schema: type: string - name: searchEnum required: false in: path description: When "searchBy" is "OrderStatus", the "searchEnum" should be one of the following enumeration:When "searchBy" is "IsPROPlusOrder", the "searchEnum" should be one of the following enumeration: schema: type: string - name: orderBy required: false in: path description: "

orderBy enumeration

" schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/orderHistoryv2Response" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/downloadOrderDetailAsPDF": get: operationId: V2Controller_downloadOrderDetailAsPDF summary: Returns order detail in PDF description: Returns order details by order number in PDF to download. parameters: - name: orderId required: true in: path description: orderId Order Number schema: type: string - name: accountId required: true in: path description: Account Id schema: type: string - name: accountToken required: false in: path description: Account Token schema: type: string - name: branchId required: false in: path description: branchId Branch Number schema: type: string - name: showBackToOrderDetailPageLink required: false in: path description: Show back to order detail page link on download PDF or not schema: type: boolean - name: showPrice required: false in: path description: Show price on download PDF or not schema: type: boolean - name: showShipTips required: false in: path description: Show shipping tips on download PDF or not schema: type: boolean - name: enableSwitchOrderQty required: false in: path description: If order items quantity is enable to be switched between shipped quantity and ordered quantity schema: type: boolean - name: showShipQty required: false in: path description: Show order items shipping quantity on download PDF or not schema: type: boolean responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getDTOrderDetail": get: operationId: V2Controller_getDTOrderDetail summary: Returns delivery tracking order information by order Id description: Returns delivery tracking status and photos for a specific order Id number. parameters: - name: orderId required: false in: path description: Order Id schema: type: string - name: showDT required: false in: path description: Flag to show/hide DT order status info, default is true. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getDTOrderDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/typeAhead": get: operationId: V2Controller_typeAhead summary: Returns like products in search description: Returns like products in search based on beginning search terms. parameters: - name: accountId required: true in: path description: Account Id schema: type: string - name: filter required: true in: path description: 'Search terms

This parameter also support the following syntax:

productId: ID1, ID2...IDnFilter by given product Id list, separated by comma. Example: "productId:C-010001,C-010002,C-010003"' schema: type: string - name: maxSearchSuggestions required: false in: path description: Max returned type ahead items size, default is 6 schema: type: number responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/typeAheadResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/itemDetails": get: operationId: V3Controller_itemDetails summary: Get items details description: This service returns product details based on Product or item Id. parameters: - name: productId required: true in: query description: Product Id schema: type: string - name: itemNumber required: false in: query description: Item number(SKU ID) schema: type: string - name: accountId required: false in: query description: Account Id schema: type: string - name: jobNumber required: false in: query description: Job Number schema: type: string - name: uom required: false in: query description: Unit of Measure schema: type: string - name: showHoverAttrs required: false in: query description: if "true", display hover attributes schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/itemDetailsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. security: - basic: [] tags: - V3 "/getProductVariation": get: operationId: V2Controller_getProductVariation summary: Returns product variations by product Id description: Returns product size and color variation by product Id. parameters: - name: productId required: true in: path description: "Alphanumeric Product Id (ex: C-374179)" schema: type: string - name: skuId required: false in: path description: Sku Id for specific product variation schema: type: string - name: vendorColorId required: false in: path description: Sku Id for specific vendor color variation schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getProductVariationResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getQuoteProductVariation": get: operationId: V2Controller_getQuoteProductVariation summary: Returns product variation for quote description: "This service returns product variations to add to a quote for a single product. To select a different color for a product on a quote, user will select the expand option in the quote field. " parameters: - name: productId required: true in: path description: Product Id schema: type: string - name: skuId required: false in: path description: Sku Id specific to color variation schema: type: string - name: vendorColorId required: false in: path description: The sku chosen vendor color schema: type: string - name: quoteOrderId required: false in: path description: Permanent Id assigned to quote once received in Mincron and returned for review. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getQuoteProductVariationResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getMultipleProductVariation": post: operationId: V2Controller_getMultipleProductVariation summary: Returns product variation by product Id description: Returns sku Id and color variations for specific product Id. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/getMultipleProductVariationBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getMultipleProductVariationResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getMultipleQuoteProductVariation": post: operationId: V2Controller_getMultipleQuoteProductVariation summary: Returns product variation for quote description: "This service returns product variations to add to a quote for multiple product Ids. To select a different color for a product on a quote, user will select the expand option in the quote field.

Note: ProductId is required." parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/getMultipleQuoteProductVariationBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getMultipleQuoteProductVariationResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getFavoriteProducts": get: operationId: V2Controller_getFavoriteProducts summary: Returns favorite products description: Returns the top one hundred recently purchased products based on account Id. parameters: - name: accountId required: true in: path description: Account Id schema: type: string - name: displaySize required: false in: path description: Default is 3, max is 100 schema: type: string - name: checkImageExist required: false in: path description: Default is true and will return items that have images. schema: type: boolean responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getFavoriteProductsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/categories": get: operationId: V2Controller_categories summary: Returns all categories and placement in hierarchy description: Returns categories and placement in hierarchy such as residential roofing level 1 and asphalt shingles level 2. parameters: - name: account required: true in: path description: Account Id schema: type: string - name: showSubCategories required: false in: path description: Default is false and will return categories in level 1. If true, will return level 1 categories and level 2 subcategories. schema: type: boolean - name: categoryNameOrId required: false in: path description: Category name or Id filter. schema: type: string - name: showRecordCount required: false in: path description: Default is false. If true, will return the record count of each category. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/categoriesResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getProductBranchOrRegionAvailability": get: operationId: V2Controller_getProductBranchOrRegionAvailability summary: Returns product availability for a branch description: Returns availability within a branch in a market for a specific product Id. If it is not available at a specific branch but is available at a different branch within that market, the response will show available at the region but not at the branch. parameters: - name: productIds required: false in: path description: Product Ids separated by comma schema: type: string - name: branchId required: false in: path description: Branch legacy number schema: type: string - name: regionId required: false in: path description: Region legacy number schema: type: string - name: marketId required: false in: path description: Market Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getProductBranchOrRegionAvailabilityResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getSKUBranchOrRegionAvailability": get: operationId: V2Controller_getSKUBranchOrRegionAvailability summary: Returns product availability for a branch description: Returns availability within a branch in a market for a specific sku Id. If it is not available at a specific branch but is available at a different branch within that market, the response will show available at the region but not at the branch. parameters: - name: skuIds required: false in: path description: Sku Ids separated by comma schema: type: string - name: branchId required: false in: path description: Branch legacy number schema: type: string - name: regionId required: false in: path description: Region legacy number schema: type: string - name: marketId required: false in: path description: Market Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getSKUBranchOrRegionAvailabilityResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateOrderAlert": post: operationId: V2Controller_updateOrderAlert summary: Updates order alert description: |- Updates order alert type to email and/or text message for a specific order. The query condition for alertType can be email,sms,emailAndsms or none.

Example:

{ "orderId ": "string", "alertType": "email", "phoneNumber": "string", "emailAddress": "string", "saveToProfile": "true" },
{ "orderNumber": "string", "alertType": "sms", "phoneNumber": "string", "emailAddress": "string", "saveToProfile": "false" },
{ "savedOrderId": "string", "alertType": "emailAndsms", "phoneNumber": "string", "emailAddress": "string", "saveToProfile": "true" } parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateOrderAlertBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/uploadOrderRelatedDocuments": post: operationId: V2Controller_uploadOrderRelatedDocuments summary: Uploads order related documents description: Uploads order related documents in .jpg,.pdf, or*.xls(x) format to a quote, saved order or completed order. parameters: - name: orderId required: true in: path description: The ATG order number, saved order Id, or quote order Id. schema: type: string - name: relatedDocuments required: false in: path description: The document to attach to quote, saved order or completed order. File size should be between 0KB~5MB and file count should between 0-10. Accepted file types include .jpg,.pdf, or*.xls(x). schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/deleteOrderRelatedDocuments": post: operationId: V2Controller_deleteOrderRelatedDocuments summary: Removes order related documents description: This service removes order related documents. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/downloadOrderDocument": get: operationId: V2Controller_downloadOrderDocument summary: Downloads order related document description: Downloads order related document parameters: - name: orderId required: true in: path description: ATG order Id, saved order Id, mincron order Id or quote order Id. schema: type: string - name: documentName required: true in: path description: Document name such as JT80814.pdf schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getGenericBrands": get: operationId: V2Controller_getGenericBrands summary: Returns list of brands description: Returns available brands within the Beacon catalog. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/orderSummary": get: operationId: V2Controller_orderSummary summary: Returns order total for current items in cart description: Displays order total for current items in cart. If one of the items in the current cart does not have pricing available, totals will not be displayed. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/orderSummaryResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/clearCart": post: operationId: V2Controller_clearCart summary: Clears items in the current cart description: This service clears all items in the current shopping cart. Use /cartItems to validate commerceItemIds match to avoid version update exception. If Hover customer started order in PRO+ and moved to Hover to complete the order, the cart needs to be cleared in PRO+ first to successfully submit order through Hover. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/clearCartResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/removeItemFromCart": post: operationId: V2Controller_removeItemFromCart summary: Removes a single item from cart description: Removes a single item from cart using the "commerceItemId" unique Id. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/removeItemFromCartBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateCart": post: operationId: V2Controller_updateCart summary: Updates quantities for items in a cart description: Updates quantities for items in current cart. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateCartBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/proceedToCheckout": post: operationId: V2Controller_proceedToCheckout summary: Proceeds to check out page description: This service returns the checkout page URL to progress page from shopping cart to checkout page. If item in the current shopping cart is invalid, response will return error message. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/proceedToCheckoutResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateCurrentOrderJobNumber": post: operationId: V2Controller_updateCurrentOrderJobNumber summary: Updates job number for current order description: This service updates job number of current order. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateCurrentOrderJobNumberBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getOrderShippingInfo": get: operationId: V2Controller_getOrderShippingInfo summary: Returns current order shipping information description: Returns current order shipping information. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getOrderShippingInfoResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/addOrderShippingInfo": post: operationId: V2Controller_addOrderShippingInfo summary: Updates or adds shipping info for current order description: Updates or adds shipping information for current scheduled or on hold order.

deliveryOptionValue enum:shippingMethodValue enum: parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/addOrderShippingInfoBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getCurrentOrderReview": get: operationId: V2Controller_getCurrentOrderReview summary: Returns order information description: Returns order information to confirm before placing order. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getCurrentOrderReviewResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/submitCurrentOrder": post: operationId: V2Controller_submitCurrentOrder summary: Submits current order description: |- Submits current order.

Examples:

For a purchase order with job number:
{ "apiSiteId": "PWR", "poName": "poTest", "jobNumber": "SHOP" }

For a saved order for an account with approver enabled
{ "savedOrderName": "myTestSaveorder1", "approverId": "####", } parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/submitCurrentOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/submitCurrentOrderResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getSubmitOrderResult": post: operationId: V2Controller_getSubmitOrderResult summary: Returns order results description: Returns order Id for a successfully submitted order or saved order. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/getSubmitOrderResultBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getSubmitOrderResultResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/validateOrderByLocation": get: operationId: V2Controller_validateOrderByLocation summary: Validates inventory at pick up location description: Validates inventory at pick up location. parameters: - name: orderId required: true in: path description: ATG Order Id, or Saved Order Id, or Quote Order Id schema: type: string - name: branchId required: false in: path description: Branch legacy id schema: type: string - name: address required: false in: path description: Branch address2 schema: type: string - name: postCode required: false in: path description: Branch address postCode schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getTemplateDetail": get: operationId: V2Controller_getTemplateDetail summary: Returns template details for a given template description: Returns template details for a given template Id. parameters: - name: templateId required: true in: path description: template Id schema: type: string - name: account required: true in: path description: Account Id schema: type: string - name: showItems required: false in: path description: Default is false. If “true”, response will display template items schema: type: string - name: showItemVariations required: false in: path description: Default is false. If "true", response will display variations of each template item schema: type: string - name: showPricing required: false in: path description: Default is false. If "true", response will display pricing of each template item schema: type: string - name: showItemAvailable required: false in: path description: Default is true. If "false", response will not display item availability in region schema: type: string - name: invokeBy required: false in: path description: If value is "store", will do the store logic which is the legacy logic in place to enable search function or filtering. schema: type: string - name: jobNumber required: false in: path description: The job number. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getTemplateDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/createTemplate": post: operationId: V2Controller_createTemplate summary: Creates template for current user description: 'Creates new template for current user.

Request body: requiredItems: optional:' parameters: - name: invokeBy required: false in: path description: If value is "store", will do the store logic schema: type: string - name: ignoreInvalidItems required: false in: path description: If "true", will ignore invalid items and continue add valid items to cart, otherwise will return invalid items schema: type: boolean requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/createTemplateBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/createTemplateResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateTemplate": post: operationId: V2Controller_updateTemplate summary: Updates template description: 'Updates template name or items in a template.

Request body: required


action is "createItem"


action is "updateItem"


action is "deleteItem"
' parameters: - name: invokeBy required: false in: path description: If value is "store", will do the store logic schema: type: string - name: ignoreInvalidItems required: false in: path description: If "true", will ignore invalid items and continue add valid items to cart, otherwise will return invalid items schema: type: string requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateTemplateBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/updateTemplateResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/deleteTemplate": post: operationId: V2Controller_deleteTemplate summary: Deletes template description: 'Deletes template(s) for current user by template Id.

Parameters:
' parameters: - name: templateId required: true in: path description: 'The template Id list, separated by comma, Example: "gl35140002,gl35140003,gl35140004"' schema: type: string - name: account required: true in: path description: The account Id schema: type: string - name: invokeBy required: false in: path description: If value is "store", will do the store logic schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/copyTemplate": post: operationId: V2Controller_copyTemplate summary: Copies template description: 'Copies template(s) for current account.

Parameters:
' parameters: - name: templateId required: true in: path description: 'The template Id list, separated by comma, Example: "gl35140002,gl35140003,gl35140004"' schema: type: string - name: account required: true in: path description: The account Id schema: type: string - name: invokeBy required: false in: path description: If value is "store", will do the store logic schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/validateTemplateItems": post: operationId: V2Controller_validateTemplateItems summary: Validates template items description: Validates the items of in a template. If items are not consistent with items in template, will return invalid items. parameters: - name: invokeBy required: false in: path description: If value is "store", will do the store logic schema: type: string requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/validateTemplateItemsBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/validateTemplateItemsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/saveOrder": post: operationId: V2Controller_saveOrder summary: Creates new saved order and saves cart items to this order description: "Creates new saved order and adds current shopping cart items to the newly created saved order. The following fields in the request body are optional: po (purchase order), jobName, jobNumber, additionalRecipients." parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/saveOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/saveOrderResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getOrderApprovalList": post: operationId: V2Controller_getOrderApprovalList summary: Returns list of all saved or pending orders description: 'Returns list of all saved or pending orders.
If approverId is empty, it will return all saved / pending orders
If approverId is not empty, it will return "Pending Order by Approver"

1. sortBy value

2. status value

3. searchBy value

4. searchBy "submittedDate" or "creationDate".Format value is ''MM-dd-yyyy''.eg, 07 - 30 - 2019

5. "sortBy" "searchBy" are not required.But if value is set, response is limited by the given values.' parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/getOrderApprovalListBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getOrderApprovalListResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getOrderApprovalDetail": get: operationId: V2Controller_getOrderApprovalDetail summary: Returns saved or pending order details and makes order confirmation page for submitter description: "Returns saved or pending order details for given saved order Id.

Parameters:" parameters: - name: orderId required: true in: path description: Saved Order Id schema: type: string - name: editable required: true in: path description: "" schema: type: boolean - name: validate required: false in: path description: "" schema: type: boolean responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getOrderApprovalDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/rejectSavedOrder": post: operationId: V2Controller_rejectSavedOrder summary: Allows approver to reject pending order description: Allows approver to reject pending order. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/rejectSavedOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/deleteSavedOrder": post: operationId: V2Controller_deleteSavedOrder summary: Deletes saved order description: Deletes saved order by saved order Id. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/deleteSavedOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateSavedOrderItems": post: operationId: V2Controller_updateSavedOrderItems summary: Updates saved or pending order items description: Adds multiple items to a cart. "items.color" should be either "vendor color name(code)" or "vendor color name". parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateSavedOrderItemsBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/updateSavedOrderItemsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getSavedOrderShippingInfo": post: operationId: V2Controller_getSavedOrderShippingInfo summary: Returns saved or pending order shipping information description: Returns saved or pending order shipping information for given saved order Id. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/getSavedOrderShippingInfoBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getSavedOrderShippingInfoResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateSavedOrderShippingInfo": post: operationId: V2Controller_updateSavedOrderShippingInfo summary: Returns saved or pending order shipping information description: Updates saved or pending order shipping information for a given saved order Id. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateSavedOrderShippingInfoBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getSavedOrderReviewInfo": post: operationId: V2Controller_getSavedOrderReviewInfo summary: Returns saved or pending order review information description: Returns saved or pending order review information for given saved order Id parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/getSavedOrderReviewInfoBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getSavedOrderReviewInfoResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/submitSavedOrder": post: operationId: V2Controller_submitSavedOrder summary: Submits or revises saved order description: "Allows approver to submit or revise the saved order to the submitter with a given saved order Id. This converts saved order to as pending order for the user who does not have submit order permission. The following fields in the request body are optional: po (purchase order), jobName, jobNumber, additionalRecipients." parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/submitSavedOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/approveSavedOrder": post: operationId: V2Controller_approveSavedOrder summary: Approves saved or pending order description: "Approves submitted saved or pending order for a given saved order Id. The following fields in the request body are optional: apiSiteId, po (purchase order), jobName, jobNumber, additionalRecipients." parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/approveSavedOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getSavedOrderConfirmationInfo": post: operationId: V2Controller_getSavedOrderConfirmationInfo summary: Returns saved or pending order confirmation information description: Returns saved or pending order confirmation information for given saved order Id. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/getSavedOrderConfirmationInfoBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getSavedOrderConfirmationInfoResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/saveOrderValidate": get: operationId: V2Controller_saveOrderValidate summary: Validates the saved or pending order description: Validates a saved order by saved order Id and returns invalid items, dates, shipping methods or times. parameters: - name: id required: false in: path description: Saved order Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/approver": get: operationId: V2Controller_approver summary: Returns list of approvers for current user description: Returns list of approvers for current user. parameters: - name: hasPendingOrders required: false in: path description: If true, will only return the approvers for pending orders. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/approverResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateStatusChange": post: operationId: V2Controller_updateStatusChange summary: Updates delivery tracking status for current user description: Updates delivery tracking method used to deliver notifications to a user. These delivery methods can be "none", "email", "sms", or "email and sms". parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateStatusChangeBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/updateStatusChangeResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getStatusChange": get: operationId: V2Controller_getStatusChange summary: Returns delivery status change for an order description: This returns a request that displays the methods that were used to send delivery tracking notifications for an order. parameters: - name: orderId required: false in: path description: ATG Order Id schema: type: string - name: orderNumber required: false in: path description: Order Id schema: type: string - name: savedOrderId required: false in: path description: Saved Order Id schema: type: string - name: accountId required: false in: path description: Account Legacy Number schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getStatusChangeResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/quote": get: operationId: V2Controller_quote summary: Returns list of quotes for current user description: Returns list of all quotes for current user. Draft quote is open status, in process quote is in progress status and received quote is in ready for review status. parameters: - name: account required: true in: path description: Account Id schema: type: string - name: quoteType required: false in: path description: Query by quote status type. If empty, will return all quotes.

quoteType enumeration:

schema: type: string - name: pageSize required: false in: path description: Default is 10 and max is 100. This is the record count of each page. schema: type: string - name: pageNo required: false in: path description: Default is 1, the first page, page number or page index schema: type: string - name: filterBy required: false in: path description: The search key

filterBy enumeration

schema: type: string - name: filter required: false in: path description: The search terms

When filterBy is "status", filter needs to be one of enumerations below:

filter enumeration

schema: type: string - name: orderBy required: false in: path description: Default is "creationDate desc"

orderBy enumeration

schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/quoteResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getQuoteDetail": post: operationId: V2Controller_getQuoteDetail summary: Returns quote details for given quote description: Returns quote details from PRO+ for a given quote Id. parameters: - name: quoteId required: true in: path description: Quote Id schema: type: string - name: account required: true in: path description: Account Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getMincronQuoteDetail": post: operationId: V2Controller_getMincronQuoteDetail summary: Returns quote details for specific quote Id description: Returns quote details for a specific quote Id from Mincron. parameters: - name: quoteId required: false in: path description: Quote Id schema: type: string - name: account required: false in: path description: Account Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getMincronQuoteDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getAtgQuoteDetail": get: operationId: V2Controller_getAtgQuoteDetail summary: Returns Atg quote details for given quote description: Returns quote details from PRO+ for a given quote Id. parameters: - name: quoteId required: true in: path description: Quote Id schema: type: string - name: account required: false in: path description: Account Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getAtgQuoteDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/createQuote": post: operationId: V2Controller_createQuote summary: Creates quote for current user description: 'Creates quote for a current user.

itemType:' parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/createQuoteBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/createQuoteResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateQuote": post: operationId: V2Controller_updateQuote summary: Updates quote information description: Updates quote information or items in a quote.Items can be created, updated or deleted within an existing quote.

item "action": parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateQuoteBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/deleteQuote": post: operationId: V2Controller_deleteQuote summary: Removes quotes for current user description: Removes quotes for current user. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/deleteQuoteBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/submitQuote": post: operationId: V2Controller_submitQuote summary: Submits quote description: Submits quote for current user. If quoteId is null, this service will create a new quote first and then submit this new quote. If a valid quoteId is provided, will submit quote. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/submitQuoteBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/submitQuoteResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/submitQuoteForm": post: operationId: V2Controller_submitQuoteForm summary: Submits quote form description: Submits quote form for quotes created with an attachment using form data. parameters: - name: userName required: false in: path description: User’s full name schema: type: string - name: contactNumber required: false in: path description: User’s contact phone number schema: type: number - name: uploadDocument required: false in: path description: The document file to upload. Accepted file types include .pdf, .csv, .doc(x), .tiff, and .xls(x). File size needs to be between 0KB~10MB. schema: type: string - name: jobNumber required: false in: path description: The job number schema: type: string - name: workType required: false in: path description: Work type should be either "N" for new construction or "R" for remodel. schema: type: string - name: quoteNotes required: false in: path description: Notes added by user in reference to quote schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/approveQuote": post: operationId: V2Controller_approveQuote summary: Approves quote description: "Approves quote for accounts with approval enabled. If quote Id is invalid, empty or quote status is not in ready for review status, will result in an error message. If quote Id is valid and quote status is ready for review, quote will be approved and email notification will be sent to quote submitter. " parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/approveQuoteBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/reviseQuote": post: operationId: V2Controller_reviseQuote summary: Revises quote description: Revises the notes in a quote in ready for review status. If quote Id is invalid, empty or quote status is not in ready for review status, will result in an error message. If quote Id is valid and in ready for review status, notes will update, and quote submitter will receive email notifying of changes. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/reviseQuoteBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/rejectQuote": post: operationId: V2Controller_rejectQuote summary: Rejects quote description: Allows approver to reject quote and provide reason for rejection. If quote Id is invalid, empty or quote status is not in ready for review status, will result in an error message. If quote Id is valid and status is in ready to review, quote will be rejected, reason provided, and email sent to quote of submitter with updates. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/rejectQuoteBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/downloadQuoteAsPDF": get: operationId: V2Controller_downloadQuoteAsPDF summary: Downloads quote in PDF description: Downloads quote in PDF. parameters: - name: quoteId required: false in: path description: Quote Id schema: type: string - name: showPrice required: false in: path description: If true, will show price on PDF. If false, will not show price on PDF schema: type: boolean - name: receivedQuote required: false in: path description: "If true, will return received quotes. If false, will return quotes in draft or in process. " schema: type: boolean - name: showBackToQuouteDetailPageLink required: false in: path description: If true, will show link to quote detail page on PDF. schema: type: boolean responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/rebateLanding": get: operationId: V2Controller_rebateLanding summary: Returns rebate landing page description: Returns list of active rebates for current user. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/rebateLandingResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getRebateRedeemedSummaryItems": get: operationId: V2Controller_getRebateRedeemedSummaryItems summary: Returns redeemed rebate information for current user description: Returns redeemed rebate information for current user. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getRebateRedeemedSummaryItemsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getRebateRedeemedItemDetail": post: operationId: V2Controller_getRebateRedeemedItemDetail summary: Returns redeemed rebate details description: 'Returns rebate details for redeemed by rebate Id.

"rebateId" is required field, optional fields include "searchKey", "searchValue", "pageNum".

param "searchKey" should be one of values["invoiceDate", "orderNumber", "category", "itemDesc"].

invoiceDate is formatted "MM-dd-yyyy" Example: "07-16-2019".' parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/getRebateRedeemedItemDetailBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getRebateRedeemedItemDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getRebateForm": get: operationId: V2Controller_getRebateForm summary: Returns rebate form description: Returns rebate form to be completed by customer and submitted to Beacon. parameters: - name: rebateId required: true in: path description: RebateId Id schema: type: string - name: invokeBy required: false in: path description: If value is "store", will store logic schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getRebateFormResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/submitRebate": post: operationId: V2Controller_submitRebate summary: Submits rebate request description: Submits rebate request according to getRebateForm api. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/submiteRebateBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/suggestiveSelling": get: operationId: V2Controller_suggestiveSelling summary: Returns suggestive selling information description: Returns recommended Tri-built products to purchase based on customer purchase when viewing cart or template. parameters: - name: account required: false in: path description: If not empty, will filter result by given account id schema: type: string - name: brandName required: false in: path description: The brand name, default is "TRI- BUILT" schema: type: string - name: templateId required: false in: path description: Template Id, if empty, the "itemNumber" is required schema: type: string - name: itemNumber required: false in: path description: 'Item Number, separated by comma, Example: "241177,900612", if empty, the "templateId" is required' schema: type: string - name: excludeCategory required: false in: path description: Exclude category names or dimension IDs, separated by `###`, default is empty schema: type: string - name: excludeBrand required: false in: path description: Exclude brand names or dimension IDs, separated by `###`, default is empty schema: type: string - name: jobNumber required: false in: path description: The job number schema: type: string - name: pageSize required: false in: path description: The page size, default is 3 schema: type: string - name: pageNo required: false in: path description: The page number, default is 3 schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/suggestiveSellingResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getHoverJobList": get: operationId: V2Controller_getHoverJobList summary: Returns Hover job addresses description: Returns Hover job addresses. parameters: - name: pageSize required: false in: path description: Default page size is 1 schema: type: number - name: pageNo required: false in: path description: Default page no is 20 schema: type: number - name: filter required: false in: path description: Search filter/terms schema: type: string - name: orderBy required: false in: path description: Default is "updated_at asc"

orderBy enumeration



schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getHoverJobListResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getHoverJobListImage": get: operationId: V2Controller_getHoverJobListImage summary: Returns the Hover job image description: Returns the main Hover job image for each job. parameters: - name: jobId required: true in: path description: Job Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getHoverJobDetail": get: operationId: V2Controller_getHoverJobDetail summary: Returns detailed information for a Hover job description: Returns detailed information for a Hover job. parameters: - name: jobId required: true in: path description: Job Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getHoverJobDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getHoverJobDetailImage": get: operationId: V2Controller_getHoverJobDetailImage summary: Returns Hover job image description: Returns Hover job image with image Id. parameters: - name: imageId required: true in: path description: Image Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/downloadBeacon3DplusApp": get: operationId: V2Controller_downloadBeacon3DplusApp summary: Sends SMS to end user description: Sends SMS to end user with a link to download Hover application. parameters: - name: phoneNumber required: true in: path description: Phone number schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getUserRegisterToken": get: operationId: V2Controller_getUserRegisterToken summary: Returns token for registered user description: Users with an active Beacon account number can sign up to use PRO+. When the active user signs up, a token is generated which allows user to continue the session in PRO+. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getUserRegisterTokenResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/validateUserByEmail": post: operationId: V2Controller_validateUserByEmail summary: Validates user by email description: Validates that user’s email entered during sign up also exists in database. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/validateUserByEmailBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/validateUserByEmailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/validateUserByAccount": post: operationId: V2Controller_validateUserByAccount summary: Validates user by account information description: Validates that user’s account name, account number and zip code after user signs up for PRO+ to ensure it matches what is stored in database. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/validateUserByAccountBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/validateUserByAccountResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/register": post: operationId: V2Controller_register summary: Registers user description: Registers user once account information is validated for user after user signs up for PRO+. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/registerBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/registerResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/queryQuoteStatus": post: operationId: V2Controller_queryQuoteStatus summary: Returns quote status description: Returns status of quote in Mincron including "expires", "quoteNotesEditable", "rejectEnable", "reviseEnable", "copyOrderEnable", "approveEnable", "finalizeOrderEnable". parameters: - name: quoteId required: true in: path description: Mincron quote Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/queryQuoteStatusResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/convertQuoteOrder": post: operationId: V2Controller_convertQuoteOrder summary: Converts quote to quote order description: Converts quote to quote order. Returns order number from Mincron if quote order submitted successfully. parameters: - name: quoteId required: true in: path description: Mincron quote Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getQuoteOrderDetail": get: operationId: V2Controller_getQuoteOrderDetail summary: Returns order details for a quote description: Returns order details for a quote. parameters: - name: orderId required: true in: path description: Quote order Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getQuoteOrderDetailResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateQuoteOrder": post: operationId: V2Controller_updateQuoteOrder summary: Updates quote draft description: Updates the draft of a quote before it is submitted as an order. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateQuoteOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/updateQuoteOrderResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/updateQuoteOrderShippingInfo": post: operationId: V2Controller_updateQuoteOrderShippingInfo summary: Updates quote order shipping information description: Updates the shipping information for an order placed from a quote. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/updateQuoteOrderShippingInfoBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getQuoteOrderPrice": get: operationId: V2Controller_getQuoteOrderPrice summary: Returns quote order pricing description: Returns subtotal and total for quote order. parameters: - name: orderId required: true in: path description: ATG Quote Order Id schema: type: string - name: jobNumber required: false in: path description: Job number schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getQuoteOrderPriceResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/placeQuoteOrder": post: operationId: V2Controller_placeQuoteOrder summary: Submits the quote into an order description: This service converts quote order to atg order. ATG is Beacon's internal ecommerce database where orders are stored before being sent to the Beacon ERP. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/placeQuoteOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/submitQuoteOrderForApproval": post: operationId: V2Controller_submitQuoteOrderForApproval summary: Converts quote order to a saved order and sends saved order for approval description: Converts quote order to a saved order and sends saved order to approver for accounts that require approval for orders. quoteOrderId is converted to the orderId when quote is converted to an order. ATG will create a saved order once sent. approverId can be retrieved from approverList with endpoint "/approver".

orderId, savedOrderName, and approverId are required fields. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/submitQuoteOrderForApprovalBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/submitQuoteOrderForApprovalResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getCurrentUserLastSelectedJobInfo": get: operationId: V2Controller_getCurrentUserLastSelectedJobInfo summary: Returns last selected job information for current user description: Returns last selected job information for current user. parameters: - name: jobNumber required: false in: path description: Job Number. This parameter is optional. If left empty, will return profile for last selected job. If job number is specified, will return profile for given job number. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getCurrentUserLastSelectedJobInfoResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/placeEagleViewOrder": post: operationId: V2Controller_placeEagleViewOrder summary: Creates an Eagle View order description: Creates an Eagle View order. A successful PlaceOrder call will return a unique Report Id, which can then be used in other method calls. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/placeEagleViewOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/placeEagleViewOrderResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/placeEagleViewUpgradeOrder": post: operationId: V2Controller_placeEagleViewUpgradeOrder summary: Upgrades a report to a premium report description: Upgrades report from Quick Squares to Premium where a 3D diagram of the roof and 5 aerial images of the structure are included. parameters: [] requestBody: required: true content: application/json: schema: "$ref": "#/components/schemas/placeEagleViewUpgradeOrderBody" responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/placeEagleViewUpgradeOrderResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getEagleViewOrderReport": get: operationId: V2Controller_getEagleViewOrderReport summary: Returns information for an Eagle View report description: Returns information about a single Eagle View Order by report Id. parameters: - name: reportId required: false in: path description: Report Id. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getEagleViewOrderReportResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getEagleViewOrderUpgradeProducts": get: operationId: V2Controller_getEagleViewOrderUpgradeProducts summary: Returns product upgrades for an Eagle View report description: Returns products that can be upgraded from an Eagle View report. parameters: - name: reportId required: false in: path description: Report Id. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getEagleViewOrderUpgradeProductsResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getEagleViewOrderReportV3": get: operationId: V2Controller_getEagleViewOrderReportV3 summary: Returns information for an Eagle View report description: Returns information about a single Eagle View report including measurements and product substitutions. parameters: - name: reportId required: false in: path description: Report Id. schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getEagleViewOrderReportV3Response" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/getOktaEagleViewLoginUrl": get: operationId: V2Controller_getOktaEagleViewLoginUrl summary: Generates current user okta eagle view redirect URL description: Returns okta eagle view redirect URL to link Beacon PRO+ to Eagleview account to log on. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/getOktaEagleViewLoginUrlResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/exchangeOktaEagleViewAuthorizationCode": get: operationId: V2Controller_exchangeOktaEagleViewAuthorizationCode summary: Returns access token by authorization code description: Returns authorization code and sends to Eagleview to acquire access token for three-legged authorization flow. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/exchangeOktaEagleViewAuthorizationCodeResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/unlinkEVAccount": get: operationId: V2Controller_unlinkEVAccount summary: Unlinks current user’s Eagleview account description: Unlink the current user’s PRO+ account from Eagleview by unlinking Okta Eagleview token. parameters: [] responses: "200": description: successful operation

refer to the API Uniform Format dropdown above "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. tags: - V2 "/downloadCatalogItemData": get: operationId: V3Controller_downloadCatalogItemData summary: Downloads catalog item data description: Downloads a zipped folder that contains sets of .csv files for branch data, SKU availability data, and SKU detail data. parameters: - name: productId required: true in: query description: Product Id schema: type: string - name: itemNumber required: false in: query description: Item number(SKU ID) schema: type: string - name: accountId required: false in: query description: Account Id schema: type: string - name: jobNumber required: false in: query description: Job Number schema: type: string - name: uom required: false in: query description: Unit of Measure schema: type: string - name: showHoverAttrs required: false in: query description: if "true", display hover attributes schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. security: - basic: [] tags: - V3 "/mincronMapping": get: operationId: V3Controller_mincronMapping summary: Returns Mincron mapping products description: Returns products mapped to an item number from the product description for a specific customer. parameters: - name: accountId required: true in: query description: Account Id schema: type: string responses: "200": description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: "$ref": "#/components/schemas/mincronMappingResponse" "400": description: Bad Request, accountId is invalid. "401": description: Unauthorized, the authorization bearer token is invalid. "405": description: Method not allowed, the request method is not valid for this API or this API is not available. "500": description: Internal exception. security: - basic: [] tags: - V3 "/V4/healthCheck": get: operationId: V4Controller_healthCheck summary: Check if becn.com and mincron are up and running parameters: - name: siteId required: true in: query schema: type: string - name: sendEmail required: true in: query schema: type: string responses: "200": description: "" tags: - V4 "/api/address-validation/getaddress": post: operationId: AddressValidationController_getAddress parameters: [] responses: "201": description: "" tags: - Beacon Stack (BASE URL:- https://beacon-api-x7xzzdp35a-uk.a.run.app) "/api/address-validation/getstreetwildsearch": post: operationId: AddressValidationController_getStreetWildSearch parameters: [] responses: "201": description: "" tags: - Beacon Stack (BASE URL:- https://beacon-api-x7xzzdp35a-uk.a.run.app) "/api/integrations/itemlist": get: operationId: IntegrationsController_test parameters: [] responses: "200": description: "" tags: - Integrations - Development "/api/integrations/submitOrder": post: operationId: IntegrationsController_submitOrder parameters: [] responses: "201": description: "" tags: - Integrations - Development "/insecure/plain/binaries/*": all: operationId: ImagesController_binaries parameters: [] responses: "200": description: "" "/insecure/plain/images/*": all: operationId: ImagesController_images parameters: [] responses: "200": description: "" info: title: Beacon Rest Services description: |- A combination of all methods in the beacon-api

[ BASE URL: https://beaconproplus.com

Beacon ProPlus
Version 1: https://beaconproplus.com/v1/rest/com/becn Version 2: https://beaconproplus.com/v2/rest/com/becn Version 3: https://beaconproplus.com/v3/rest/com/becn
Beacon Stack

[ BASE URL: https://beacon-api-x7xzzdp35a-uk.a.run.app

Version 1: https://beacon-api-x7xzzdp35a-uk.a.run.app/v1/rest/com/becn/ Version 2: https://beacon-api-x7xzzdp35a-uk.a.run.app/v2/rest/com/becn/ Version 3: https://beacon-api-x7xzzdp35a-uk.a.run.app/v3/rest/com/becn/

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


API Uniform Format

Show...

Response

{ "success":true, "messages":[ { "key":null, "code":null, "type":"success", "value":"" } ], "result": }

Explanation

If the response example value of one endpoint /foo is:

{ "name":"bar", "age":123 }

Then the actual response value of this endpoint is: (replace the value of "result" element in API Uniform Format with example response)

{ "success":true, "messages":[ { "code":null, "type":"success", "value":"" } ], "result":{ "name":"bar", "age":123 } }

API Response Message Code

Show...

Code Group

Code

Comments

1XXX:
common request param error
1001 Param is required.
1002 Repository item not found via request
1003 Param max length is invalid.
1004 Param min length is invalid.
1005 Param regular expression is invalid.
1006 Request param requestBody is not a valid
1007 Request param caused validation exception
1008 Request param caused form error
2XXX:
current profile error
2001 Current profile in request is empty
2002 Current profile type/instance in request is empty
2003 Current profile in request do not have available accounts
2004 Current profile is unauthorized
2005 Current profile is already authorized
2006 Current profile is permission denied
3XXX:
specified request param error
3001 Request param account id is not available/not belong to current profile
3002 Request param product id is not available to current region of current profile
3003 Request param profile id is not equal to current profile
3004 Request param profile id is not found
3005 Request param site id is not equal to current site
3006 Request param sku id is not available to current region of current profile
3007 Request param shipping is invalid to current region of current profile
4XXX:
system level common error
4001 System error
4002 Mincron error
4003 ATG Order version invalid error
5XXX:
specified response error
5001 Submit order failed response
5002 Submit order failed with integration exception message returned
5003 Query order detail not match with current
5004 No result is returned to order history
5005 Template name invalid
5006 Need change account
5007 Account no longer available for current user
5008 Illegal data
5009 Account token invalid
5010 No current Order
5011 Quote order account not match

Glossary

Show...
Value Data Type Example Description
account "string" "280381" 6 digit numerical value assigned to a Beacon customer also known as accountLegacyId or accountId.
accountId "string" "280381" 6 digit numerical value assigned to an account assigned to a Beacon customer also known as accountLegacyId or account.
accountLegacyId "string" "280381" 6 digit numerical value assigned to an account assigned to a Beacon customer also known as accountId or account.
address1 "string" "3000 BRIGHTON BLVD" Ship to address field.
address2 "string" "Lot 11, Subdivision 2" Additional ship to address field.
apiSiteId "string" "DEN" Specific value assigned to customer account to identify source of API traffic.
atgOrderId "string" "KP32234" Order number as it appears on PRO+.
atgUUID "string" "41cf3908-fe11-45ce-899c-9390c8299a18" Unique identifier assigned by customer in GUID format and is same as UUID.
branchNumber "string" "800" The store number of the Beacon branch assigned to a customer based on customer location.
checkForAvailability "string" "No", "Yes" The “checkForAvailability” field should always be “No” to ensure orders are received by a branch representative. If “Yes,” and the product is not available at time of order, the order will be cancelled.
description "string" “GAF 13-1/4" x 39-3/8" Timber” Optional product description. If no item number, description is required.
dtAccount Object "Text", "Email", "Text&Email" The deliveryTrackingSettings of current user with last selected account. If dtAccount is enabled, user will be notified by email once order has been requested, scheduled and/or delivered.
itemNumber "string" "560193" Unique identifier assigned to individual product items. Where a product has variations, such as color, each variation will have its own itemNumber. Same as skuId.
jobName "string" "Middleton Hilltop" Job name can be added to a purchase order to tie order to specific job site or project.
jobNumber "string" "999" Account holder can require jobNumber for each order processed within that account. Use get/jobs service to see if jobNumber is required for account.
onHold Boolean "False" If delivery date is unknown, customer can use onHold option to reserve material for a later delivery date. If onHold is true, order will deliver in pending state to branch with the branch’s default shipping date set in the future. Branch will work with customer to finalize delivery date.
Ordered "string" "27/10/2021 00:00:00" Date order was placed in YYYY-MM-DD format.
orderId "string" "JQ20785" Unique alphanumerical order number and is the same as orderNumber and OrderNo.
orderNo "string" "JQ20785" Unique alphanumerical order number and is the same as orderId and orderNo.
orderNumber "string" "JQ20785" Unique alphanumerical order number and is the same as orderId and orderNo.
orderPlacedDate "string" "27/10/2021 00:00:00" Date the order was placed in YYYY-MM-DD format.
OrderStatusCode "string" "N" All orders should be sent in pending state “N.” Order status codes include (I) Invoiced, (R) Reviewed, (P) Priced, (C) Changed, (O) Open, (K) Reserved, (N) Pending.
password "string" "Passw0rd" Password needs to have more than 7 characters, have 1 uppercase, 1 lowercase and 1 number.
persistentLoginType "string" "RememberMe" Use persistent login type to extend live session to seven days. Default session time lasts 1 hour.
pickupDate "string" "2023-22-12" The date you would like product delivered.
pickupTime "string" "Afternoon" Recommended values: "Morning", "Afternoon", "Anytime", "Special Request".
productId "string" "TRIG1143RPFMF" Product identifier. Can designate an individual product or a family (parent + children items) of products.
productImage "string" "/images/large/C-635001_default_small.jpg" Product image visible when appended with https://beaconproplus.com/images/large/C-635001_default_small.jpg.
profileId "string" "user318510004" This value is used to retrieve account information for current user. The profileId can be pulled from the Getcurrentuserinfo service.
purchaseOrderNo "string" "108303" A value assigned by customer that does not need to be unique.
quoteOrderId "string" "7740531" tePermanent Id assigned to quote once received in Mincron and returned for review.st
roleType "string" "Admin" The roleType is either "Master Admin","Admin", or "Site User".
shippingMethod "string" "O" Delivery or pickup method where “O” is for delivery and “P” is for pick up. If “P”, shipping address is not required.
siteId "string" "homeSite" SiteId is used for log in requests and should be set to homeSite.
skuId "string" "560193" Unique identifier assigned to individual product items. Where a product has variations, such as color, each variation will have its own skuId. Same as itemNumber.
skuIds "string" "560193, 253729, 253737 The skuIds are the same as itemNumbers.
specialInstruction "string" "Ship to 789 Hover Lane IN, Fishers 46037 in the front yard" Text field where notes can be added to provide any extra information needed regarding the order or its delivery.
state "string" "WA" Two digit state code.
unitOfMeasure "string" "BDL" Designates the units by which an item is sold individually. Unit of measure can vary for each item number. This is the same as uom.
uom "string" "BDL" Designates the units by which an item is sold individually. Unit of measure can vary for each item number. This is the same as unitOfMeasure.
userAgent "string" "desktop" userAgent should be should be either desktop, tablet, mobile.
username "string" "user@email.com" Email address tied to account.
UUID "string" "41cf3908-fe11-45ce-899c-9390c8299a18" Unique identifier assigned by customer in GUID format and is same as atgUUID.
version: "1.0" contact: {} tags: [] components: schemas: login: type: object properties: username: type: string password: type: string siteId: type: string default: homeSite persistentLoginType: type: string default: RememberMe userAgent: type: string default: desktop required: - username - password - siteId - persistentLoginType - userAgent Address: type: object properties: postalCode: type: string state: type: string address1: type: string address2: type: string address3: type: string country: type: string city: type: string required: - postalCode - state - address1 - address2 - address3 - country - city AccountBranch: type: object properties: address: "$ref": "#/components/schemas/Address" branchNumber: type: string branchName: type: string branchPhone: type: string branchRegionId: type: string company: type: string companyName: type: string division: type: string divisionName: type: string market: type: string required: - address - branchNumber - branchName - branchPhone - branchRegionId - company - companyName - division - divisionName - market LastSelectedAccount: type: object properties: accountName: type: string accountEnabled: type: boolean accountLegacyId: type: string accountViewPrices: type: boolean addCustomSteel: type: boolean cashAccount: type: boolean isAccountClosed: type: boolean required: - accountName - accountEnabled - accountLegacyId - accountViewPrices - addCustomSteel - cashAccount - isAccountClosed MessageInfo: type: object properties: accountBranch: "$ref": "#/components/schemas/AccountBranch" lastName: type: string cartLineItems: type: number profileId: type: string firstName: type: string internalUser: type: boolean userType: type: string rewardsEligible: type: boolean lastSelectedAccount: "$ref": "#/components/schemas/LastSelectedAccount" required: - accountBranch - lastName - cartLineItems - profileId - firstName - internalUser - userType - rewardsEligible - lastSelectedAccount loginResponse: type: object properties: messageInfo: "$ref": "#/components/schemas/MessageInfo" required: - messageInfo logoutResponse: type: object properties: messageInfo: type: object default: Logout Successful required: - messageInfo getLoginDeclarationResponse: type: object properties: message: type: string titles: type: array items: type: string declarationContent: type: string CTA: type: array items: type: string required: - message - titles - declarationContent - CTA MyOrders: type: object properties: requested: type: string scheduled: type: string delivered: type: string required: - requested - scheduled - delivered DeliveryTrackingSettings: type: object properties: email: type: string phone: type: string myOrders: "$ref": "#/components/schemas/MyOrders" allOrders: "$ref": "#/components/schemas/MyOrders" dtAccount: "$ref": "#/components/schemas/MyOrders" required: - email - phone - myOrders - allOrders - dtAccount getCurrentUserInfoResponse: type: object properties: message: type: string accountBranch: "$ref": "#/components/schemas/AccountBranch" lastName: type: string cartLineItems: type: number profileId: type: string firstName: type: string email: type: string login: type: string internalUser: type: boolean userType: type: string roleType: type: string rewardsEligible: type: boolean lastActivity: type: string lastPasswordUpdate: type: string registrationDate: type: string firstLoggedInDate: type: string defaultOrganization: type: string defaultOrganizationId: type: string lastSelectedAccount: "$ref": "#/components/schemas/LastSelectedAccount" deliveryTrackingSettings: "$ref": "#/components/schemas/DeliveryTrackingSettings" title: type: string contactPhoneNumber: type: string officePhoneNumber: type: string mobilePhoneNumber: type: string subscribEmailType: "$ref": "#/components/schemas/SubscribEmailType" contactAddress: "$ref": "#/components/schemas/ContactAddress" declineNotificationEmail: type: boolean userAccounts: type: array items: type: string hasPrivateEVAccount: type: boolean required: - message - accountBranch - lastName - cartLineItems - profileId - firstName - email - login - internalUser - userType - roleType - rewardsEligible - lastActivity - lastPasswordUpdate - registrationDate - firstLoggedInDate - defaultOrganization - defaultOrganizationId - lastSelectedAccount - deliveryTrackingSettings - title - contactPhoneNumber - officePhoneNumber - mobilePhoneNumber - subscribEmailType - contactAddress - declineNotificationEmail - userAccounts - hasPrivateEVAccount Branch: type: object properties: address: "$ref": "#/components/schemas/Address" branchNumber: type: string branchName: type: string branchPhone: type: string branchRegionId: type: string company: type: string companyName: type: string division: type: string divisionName: type: string market: type: string required: - address - branchNumber - branchName - branchPhone - branchRegionId - company - companyName - division - divisionName - market Account: type: object properties: accountName: type: string accountEnabled: type: boolean accountLegacyId: type: string accountViewPrices: type: boolean addCustomSteel: type: boolean rewardsEligible: type: boolean cashAccount: type: boolean isAccountClosed: type: boolean branch: "$ref": "#/components/schemas/Branch" required: - accountName - accountEnabled - accountLegacyId - accountViewPrices - addCustomSteel - rewardsEligible - cashAccount - isAccountClosed - branch accountResponse: type: object properties: message: type: string totalNumRecs: type: number pageNumRecs: type: number accounts: type: array items: "$ref": "#/components/schemas/Account" required: - message - totalNumRecs - pageNumRecs - accounts switchAccountBody: type: object properties: accountId: type: string required: - accountId switchAccountResponse: type: object properties: message: type: string accountBranch: "$ref": "#/components/schemas/AccountBranch" lastName: type: string cartLineItems: type: number profileId: type: string firstName: type: string email: type: string login: type: string internalUser: type: boolean userType: type: string roleType: type: string rewardsEligible: type: boolean lastActivity: type: string lastPasswordUpdate: type: string registrationDate: type: string firstLoggedInDate: type: string defaultOrganization: type: string defaultOrganizationId: type: string lastSelectedAccount: "$ref": "#/components/schemas/LastSelectedAccount" deliveryTrackingSettings: "$ref": "#/components/schemas/DeliveryTrackingSettings" hasPrivateEVAccount: type: boolean required: - message - accountBranch - lastName - cartLineItems - profileId - firstName - email - login - internalUser - userType - roleType - rewardsEligible - lastActivity - lastPasswordUpdate - registrationDate - firstLoggedInDate - defaultOrganization - defaultOrganizationId - lastSelectedAccount - deliveryTrackingSettings - hasPrivateEVAccount branchListResponse: type: object properties: message: type: string totalNumRecs: type: number pageNumRecs: type: number branches: type: array items: "$ref": "#/components/schemas/Branch" required: - message - totalNumRecs - pageNumRecs - branches Job: type: object properties: jobName: type: string jobNumber: type: string required: - jobName - jobNumber jobsResponse: type: object properties: message: type: string hasJobAccount: type: boolean hasJobNumber: type: boolean isJobAccountRequired: type: boolean jobs: type: array items: "$ref": "#/components/schemas/Job" required: - message - hasJobAccount - hasJobNumber - isJobAccountRequired - jobs Shipping: type: object properties: shippingBranch: type: number address: "$ref": "#/components/schemas/Address" shippingMethod: type: string required: - shippingBranch - address - shippingMethod Order: type: object properties: total: type: number sellingBranch: type: string accountId: type: string orderNumber: type: string job: "$ref": "#/components/schemas/Job" purchaseOrderNo: type: string creditHold: type: string shipping: "$ref": "#/components/schemas/Shipping" orderPlacedDate: type: string tax: type: number orderStatusCode: type: string subTotal: type: number orderId: type: string specialInstruction: type: string UUID: type: string required: - total - sellingBranch - accountId - orderNumber - job - purchaseOrderNo - creditHold - shipping - orderPlacedDate - tax - orderStatusCode - subTotal - orderId - specialInstruction - UUID Result: type: object properties: pageRows: type: number pages: type: number page: type: number rows: type: number rowsPerPage: type: number required: - pageRows - pages - page - rows - rowsPerPage orderHistoryResponse: type: object properties: message: type: string orders: type: array items: "$ref": "#/components/schemas/Order" result: "$ref": "#/components/schemas/Result" required: - message - orders - result LineItem: type: object properties: specialInstructions: type: string productOrItemNumber: type: string subTotal: type: number itemOrProductDescription: type: string unitPrice: type: number quantity: type: number itemNumber: type: string unitOfMeasure: type: string productImageUrl: type: string productOnErrorImageUrl: type: string productOrItemDescription: type: string extendedDescription: type: string lineComments: type: string required: - specialInstructions - productOrItemNumber - subTotal - itemOrProductDescription - unitPrice - quantity - itemNumber - unitOfMeasure - productImageUrl - productOnErrorImageUrl - productOrItemDescription - extendedDescription - lineComments Destination: type: object properties: postalCode: type: string state: type: string customerNo: type: string branch: type: string streetName: type: string companyName: type: string locationNo: type: string country: type: string city: type: string required: - postalCode - state - customerNo - branch - streetName - companyName - locationNo - country - city Photo: type: object properties: LargeUrl: type: string ThumbnailUrl: type: string Timestamp: type: string required: - LargeUrl - ThumbnailUrl - Timestamp Line: type: object properties: lineItemNumber: type: string skuNumber: type: string description: type: string quantity: type: string quantityUOM: type: string required: - lineItemNumber - skuNumber - description - quantity - quantityUOM DTInfo: type: object properties: statusStartDate: type: string status: type: string lastUpdated: type: string timeArrived: type: string custPO: type: string type: type: string destination: "$ref": "#/components/schemas/Destination" projectedCompletedDate: type: string latestRequestedDelivery: type: string photos: type: array items: "$ref": "#/components/schemas/Photo" orderNo: type: string projectedArrivalDate: type: string parentOrderNo: type: string statusDateTimeMessage: type: string earliestRequestedDelivery: type: string driver: type: string lines: type: array items: "$ref": "#/components/schemas/Line" orgin: "$ref": "#/components/schemas/Destination" statusEndDate: type: string required: - statusStartDate - status - lastUpdated - timeArrived - custPO - type - destination - projectedCompletedDate - latestRequestedDelivery - photos - orderNo - projectedArrivalDate - parentOrderNo - statusDateTimeMessage - earliestRequestedDelivery - driver - lines - orgin - statusEndDate orderDetailResponse: type: object properties: message: type: string order: "$ref": "#/components/schemas/Order" lineItems: type: array items: "$ref": "#/components/schemas/LineItem" DTInfo: "$ref": "#/components/schemas/DTInfo" result: "$ref": "#/components/schemas/Result" EVReportId: type: number EVEligibleForUpgrade: type: boolean hasDTError: type: boolean required: - message - order - lineItems - DTInfo - result - EVReportId - EVEligibleForUpgrade - hasDTError Item: type: object properties: filter: type: string required: - filter DidYouMean: type: object properties: message: type: string items: type: array items: "$ref": "#/components/schemas/Item" required: - message - items Category: type: object properties: categoryName: type: string categoryId: type: string required: - categoryName - categoryId HoverAttributes: 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 required: - sellingUom - piecesPerUom - coverageUom - ppCoverageUom - lengthExposure - widthExposure - lengthHover - widthHover - ncpSellingUom - gcpSellingUom - sslvoDimensionIn - sswhoDimensionOption1In - sswhoDimensionOption2In - sswhoDimensionOption3In - lslvoDimensionIn - lswhoDimensionIn - rvlvoDimensionIn - rvwhoDimensionIn - nfvaHover - nfvaUomHover - fhLapIn - fvLapIn - chLapIn - cvLapIn - cfmValue - cfmUom Item2: type: object properties: productImage: type: string productOnErrorImage: type: string longDesc: type: string brand: type: string categories: type: array items: "$ref": "#/components/schemas/Category" shortDesc: type: string hoverAttributes: "$ref": "#/components/schemas/HoverAttributes" productName: type: string productId: type: string baseProductName: type: string internalProductName: type: string url: type: string required: - productImage - productOnErrorImage - longDesc - brand - categories - shortDesc - hoverAttributes - productName - productId - baseProductName - internalProductName - url itemListResponse: type: object properties: message: type: string totalNumRecs: type: number pageNumRecs: type: number didYouMean: "$ref": "#/components/schemas/DidYouMean" autoCorrection: "$ref": "#/components/schemas/DidYouMean" items: type: array items: "$ref": "#/components/schemas/Item2" categories: type: array items: "$ref": "#/components/schemas/Category2" facets: "$ref": "#/components/schemas/Facets" required: - message - totalNumRecs - pageNumRecs - didYouMean - autoCorrection - items - categories - facets Product: type: object properties: productImage: type: string productOnErrorImage: type: string longDesc: type: string manufactureNumber: type: string categories: type: array items: "$ref": "#/components/schemas/Category" shortDesc: type: string itemNumber: type: string hoverAttributes: "$ref": "#/components/schemas/HoverAttributes" productName: type: string productId: type: string baseProductName: type: string internalProductName: type: string brand: type: string url: type: string relatedProducts: type: array items: type: string required: - productImage - productOnErrorImage - longDesc - manufactureNumber - categories - shortDesc - itemNumber - hoverAttributes - productName - productId - baseProductName - internalProductName - brand - url - relatedProducts Specification: type: object properties: Shingles_Per_Square: type: string Algae_Resistance: type: string Coverage_Per_Square: type: string Bundles_Per_Square: type: string Nominal_Size: type: string Net_Free_Vent_Area__NFVA_: type: string Exposure: type: string Wind_Resistance: type: string required: - Shingles_Per_Square - Algae_Resistance - Coverage_Per_Square - Bundles_Per_Square - Nominal_Size - Net_Free_Vent_Area__NFVA_ - Exposure - Wind_Resistance Resource: type: object properties: General Instructrions: type: string Warranty: type: string MSDS: type: string Brochure: type: string required: - General Instructrions - Warranty - MSDS - Brochure CurrentSKU: type: object properties: currentUOM: type: string color: type: string manufactureNumber: type: string unitPrice: type: number itemNumber: type: string productNumber: type: string uomlist: type: array items: type: string itemImage: type: string heroImage: type: string thumbImage: type: string swatchImage: type: string skuShortDesc: type: string auxiliaryImages: type: array items: type: string required: - currentUOM - color - manufactureNumber - unitPrice - itemNumber - productNumber - uomlist - itemImage - heroImage - thumbImage - swatchImage - skuShortDesc - auxiliaryImages SkuList: type: object properties: currentUOM: type: string color: type: string unitPrice: type: number itemNumber: type: string productNumber: type: string itemImage: type: string heroImage: type: string thumbImage: type: string swatchImage: type: string skuShortDesc: type: string auxiliaryImages: type: array items: type: string required: - currentUOM - color - unitPrice - itemNumber - productNumber - itemImage - heroImage - thumbImage - swatchImage - skuShortDesc - auxiliaryImages getItemsResponse: type: object properties: product: "$ref": "#/components/schemas/Product" message: type: string specification: "$ref": "#/components/schemas/Specification" resource: "$ref": "#/components/schemas/Resource" currentSKU: "$ref": "#/components/schemas/CurrentSKU" skuList: type: array items: "$ref": "#/components/schemas/SkuList" required: - product - message - specification - resource - currentSKU - skuList getProductInfoResponse: type: object properties: message: type: string hoverAttributes: "$ref": "#/components/schemas/HoverAttributes" accounts: type: array items: type: string required: - message - hoverAttributes - accounts SkuIdsUomList: type: object properties: "253729": type: array items: type: string "253733": type: array items: type: string "253740": type: array items: type: string required: - "253729" - "253733" - "253740" getSkuUomResponse: type: object properties: skuIdUomList: type: array items: type: string skuIdsUomList: "$ref": "#/components/schemas/SkuIdsUomList" required: - skuIdUomList - skuIdsUomList _253729: type: object properties: BDL: type: number PC: type: number required: - BDL - PC _253737: type: object properties: CTN: type: number required: - CTN _253740: type: object properties: CTN: type: number PC: type: number required: - CTN - PC PriceInfo: type: object properties: "253729": "$ref": "#/components/schemas/_253729" "253737": "$ref": "#/components/schemas/_253737" "253740": "$ref": "#/components/schemas/_253740" required: - "253729" - "253737" - "253740" pricingResponse: type: object properties: priceInfo: "$ref": "#/components/schemas/PriceInfo" orderPricing: "$ref": "#/components/schemas/OrderPricing" unavailableSkuList: type: array items: type: string required: - priceInfo - orderPricing - unavailableSkuList LastSelectedJob: type: object properties: jobName: type: string jobNumber: type: string required: - jobName - jobNumber cartItemsResponse: type: object properties: atgOrderId: type: string lastSelectedJob: "$ref": "#/components/schemas/LastSelectedJob" cartLineItems: type: number items: type: array items: "$ref": "#/components/schemas/Item" lastSelectedAccount: "$ref": "#/components/schemas/LastSelectedAccount" required: - atgOrderId - lastSelectedJob - cartLineItems - items - lastSelectedAccount submitOrderBody: type: object properties: accountId: type: string job: "$ref": "#/components/schemas/Job" purchaseOrderNo: type: string orderStatusCode: type: string apiSiteId: type: string lineItems: type: array items: "$ref": "#/components/schemas/LineItem" shipping: "$ref": "#/components/schemas/Shipping" sellingBranch: type: string specialInstruction: type: string checkForAvailability: type: string pickupDate: type: string pickupTime: type: string onHold: type: boolean UUID: type: string required: - accountId - job - purchaseOrderNo - orderStatusCode - apiSiteId - lineItems - shipping - sellingBranch - specialInstruction - checkForAvailability - pickupDate - pickupTime - onHold - UUID submitOrderResponse: type: object properties: orderId: type: string required: - orderId addMultipleItemsToOrderBody: type: object properties: addItemCount: type: number accountId: type: string specialInstructions: type: string items: type: array items: "$ref": "#/components/schemas/Item" jobNumber: type: string shipping: "$ref": "#/components/schemas/Shipping" required: - addItemCount - accountId - specialInstructions - items - jobNumber - shipping addMultipleItemsToOrderResponse: type: object properties: allItemsUnavailable: type: boolean unavailableItems: type: array items: "$ref": "#/components/schemas/UnavailableItem" addedToCartItems: type: array items: type: string vendorColorNotMatchedItems: type: array items: "$ref": "#/components/schemas/VendorColorNotMatchedItem" required: - allItemsUnavailable - unavailableItems - addedToCartItems - vendorColorNotMatchedItems LastModifiedUser: type: object properties: profileId: type: string firstName: type: string lastName: type: string emailAddress: type: string required: - profileId - firstName - lastName - emailAddress Option: type: object properties: optionId: type: string optionName: type: string opectionChecked: type: boolean skuId: type: string required: - optionId - optionName - opectionChecked - skuId CurrentVariation: type: object properties: typeId: type: string typeName: type: string options: type: array items: "$ref": "#/components/schemas/Option" required: - typeId - typeName - options ImageUrl: type: object properties: thumbnail: type: string large: type: string required: - thumbnail - large TemplateItem: type: object properties: templateItemId: type: string productImageUrl: type: string productOnErrorImageUrl: type: string itemOrProductDescription: type: string itemNumber: type: string nickName: type: string productOrItemNumber: type: string internalProductName: type: string currentVariation: "$ref": "#/components/schemas/CurrentVariation" variations: type: array items: "$ref": "#/components/schemas/CurrentVariation" unitPrice: type: number unitOfMeasure: type: string quantity: type: number available: type: boolean imageUrl: "$ref": "#/components/schemas/ImageUrl" required: - templateItemId - productImageUrl - productOnErrorImageUrl - itemOrProductDescription - itemNumber - nickName - productOrItemNumber - internalProductName - currentVariation - variations - unitPrice - unitOfMeasure - quantity - available - imageUrl Template: type: object properties: templateId: type: string templateName: type: string lastModifiedDate: type: string lastModifiedUser: "$ref": "#/components/schemas/LastModifiedUser" accountLegacyId: type: string isAccountClosed: type: boolean accountName: type: string createdByUser: "$ref": "#/components/schemas/LastModifiedUser" templateItems: type: array items: "$ref": "#/components/schemas/TemplateItem" required: - templateId - templateName - lastModifiedDate - lastModifiedUser - accountLegacyId - isAccountClosed - accountName - createdByUser - templateItems templateResponse: type: object properties: totalNumRecs: type: number pageNumRecs: type: number templates: type: array items: "$ref": "#/components/schemas/Template" pagination: "$ref": "#/components/schemas/Pagination" required: - totalNumRecs - pageNumRecs - templates - pagination hoverExplicitLoginBody: type: object properties: username: type: string password: type: string uuid: type: string ua: type: string siteId: type: string persistentLoginType: type: string userAgent: type: string required: - username - password - uuid - ua - siteId - persistentLoginType - userAgent hoverExplicitLoginResponse: type: object properties: nextUrl: type: string required: - nextUrl SubscribEmailType: type: object properties: subscribeOrder: type: boolean subscribeAccount: type: boolean subscribeQuote: type: boolean required: - subscribeOrder - subscribeAccount - subscribeQuote ContactAddress: type: object properties: email: type: string lastName: type: string firstName: type: string phoneNumber: type: string address1: type: string address2: type: string city: type: string state: type: string postalCode: type: string country: type: string required: - email - lastName - firstName - phoneNumber - address1 - address2 - city - state - postalCode - country saveCurrentUserInfoBody: type: object properties: title: type: string firstName: type: string lastName: type: string address1: type: string address2: type: string city: type: string state: type: string postalCode: type: string country: type: string contactPhoneNumber: type: string officePhoneNumber: type: string mobilePhoneNumber: type: string subscribeOrder: type: boolean subscribeQuote: type: boolean subscribeAccount: type: boolean required: - title - firstName - lastName - address1 - address2 - city - state - postalCode - country - contactPhoneNumber - officePhoneNumber - mobilePhoneNumber - subscribeOrder - subscribeQuote - subscribeAccount Price: type: object properties: "Yes": type: boolean "No": type: boolean required: - "Yes" - "No" OrderHistory: type: object properties: YesWithoutPricing: type: boolean YesWithPricing: type: boolean "No": type: boolean required: - YesWithoutPricing - YesWithPricing - "No" Quotes: type: object properties: View: type: boolean Manage: type: boolean "No": type: boolean required: - View - Manage - "No" Original: type: object properties: Price: "$ref": "#/components/schemas/Price" PlaceOrder: "$ref": "#/components/schemas/Price" OrderHistory: "$ref": "#/components/schemas/OrderHistory" Quotes: "$ref": "#/components/schemas/Quotes" RebateView: "$ref": "#/components/schemas/Price" required: - Price - PlaceOrder - OrderHistory - Quotes - RebateView Orderhistory: type: object properties: queryList: type: boolean queryDetail: type: boolean withPrice: type: boolean withoutPrice: type: boolean required: - queryList - queryDetail - withPrice - withoutPrice Quote: type: object properties: edit: type: boolean upload: type: boolean submit: type: boolean update: type: boolean submitForm: type: boolean queryList: type: boolean queryListOpen: type: boolean queryListInProgress: type: boolean queryListProcessed: type: boolean queryDetailOpen: type: boolean queryDetailInProgress: type: boolean queryDetailProcessed: type: boolean required: - edit - upload - submit - update - submitForm - queryList - queryListOpen - queryListInProgress - queryListProcessed - queryDetailOpen - queryDetailInProgress - queryDetailProcessed Rebate: type: object properties: submit: type: boolean landing: type: boolean form: type: boolean thankyou: type: boolean denied: type: boolean redeemedSummary: type: boolean redeemedDetail: type: boolean required: - submit - landing - form - thankyou - denied - redeemedSummary - redeemedDetail Computed: type: object properties: price: type: boolean order: "$ref": "#/components/schemas/Order" orderhistory: "$ref": "#/components/schemas/Orderhistory" quote: "$ref": "#/components/schemas/Quote" rebate: "$ref": "#/components/schemas/Rebate" required: - price - order - orderhistory - quote - rebate getCurrentUserPermissionResponse: type: object properties: original: "$ref": "#/components/schemas/Original" computed: "$ref": "#/components/schemas/Computed" required: - original - computed Message: type: object properties: type: type: string value: type: string code: type: string required: - type - value - code AddressBookInfo: type: object properties: nickName: type: string firstName: type: string lastName: type: string address1: type: string address2: type: string city: type: string state: type: string stateValue: type: string postalCode: type: string country: type: string countryValue: type: string phoneNumber: type: string required: - nickName - firstName - lastName - address1 - address2 - city - state - stateValue - postalCode - country - countryValue - phoneNumber AddressBook: type: object properties: addressBookId: type: string accountLegacyId: type: string accountName: type: string addressBookInfo: "$ref": "#/components/schemas/AddressBookInfo" required: - addressBookId - accountLegacyId - accountName - addressBookInfo getAddressBookResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean addressBooks: type: array items: "$ref": "#/components/schemas/AddressBook" required: - messages - messageCode - success - addressBooks createAddressBookBody: type: object properties: nickName: type: string firstName: type: string lastName: type: string address1: type: string address2: type: string city: type: string stateValue: type: string postalCode: type: string countryValue: type: string phoneNumber: type: string required: - nickName - firstName - lastName - address1 - address2 - city - stateValue - postalCode - countryValue - phoneNumber createAddressBookResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean addressBookId: type: string required: - messages - messageCode - success - addressBookId updateAddressBookBody: type: object properties: addressBookId: type: string addressBookInfo: "$ref": "#/components/schemas/AddressBookInfo" required: - addressBookId - addressBookInfo updateAddressBookResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean required: - messages - messageCode - success deleteAddressBookBody: type: object properties: addressBookId: type: string required: - addressBookId deleteAddressBookResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean required: - messages - messageCode - success changePasswordBody: type: object properties: oldPassword: type: string password: type: string confirmpassword: type: string required: - oldPassword - password - confirmpassword changePasswordResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean required: - messages - messageCode - success setPasswordBody: type: object properties: password: type: string confirmpassword: type: string passwordtoken: type: string required: - password - confirmpassword - passwordtoken setPasswordResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean required: - messages - messageCode - success resetPasswordBody: type: object properties: password: type: string confirmpassword: type: string passwordtoken: type: string required: - password - confirmpassword - passwordtoken resetPasswordResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean required: - messages - messageCode - success forgotPasswordBody: type: object properties: login: type: string required: - login forgotPasswordResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean required: - messages - messageCode - success Value: type: object properties: {} Or: type: object properties: op: type: string property: type: string value: "$ref": "#/components/schemas/Value" required: - op - property - value Query: type: object properties: or: type: array items: "$ref": "#/components/schemas/Or" and: type: array items: "$ref": "#/components/schemas/Or" sortBy: type: string sortType: type: string pageIndex: type: number pageSize: type: number required: - or - and - sortBy - sortType - pageIndex - pageSize userBody: type: object properties: query: "$ref": "#/components/schemas/Query" required: - query Next: type: object properties: available: type: boolean label: type: string page: type: number required: - available - label - page Pagination: type: object properties: next: "$ref": "#/components/schemas/Next" previous: "$ref": "#/components/schemas/Next" pageSize: type: number currentPage: type: number totalCount: type: number results: type: array items: "$ref": "#/components/schemas/Result" required: - next - previous - pageSize - currentPage - totalCount - results User: type: object properties: id: type: string email: type: string lastActivity: type: string lastModifiedDate: type: string status: type: string rewardsEligible: type: boolean required: - id - email - lastActivity - lastModifiedDate - status - rewardsEligible userResponse: type: object properties: pagination: "$ref": "#/components/schemas/Pagination" users: type: array items: "$ref": "#/components/schemas/User" required: - pagination - users Permission: type: object properties: id: type: string key: type: string groupId: type: string name: type: string displayName: type: string type: type: string isAuthorised: type: boolean isDisabled: type: boolean isFixed: type: boolean required: - id - key - groupId - name - displayName - type - isAuthorised - isDisabled - isFixed Permission2: type: object properties: name: type: string type: type: string permissions: type: array items: "$ref": "#/components/schemas/Permission" isGroup: type: boolean required: - name - type - permissions - isGroup Role: type: object properties: id: type: string displayName: type: string permissions: type: array items: "$ref": "#/components/schemas/Permission2" required: - id - displayName - permissions PermissionValues: type: object properties: aa: type: boolean bb: type: boolean cc: type: boolean required: - aa - bb - cc MasterAdmin: type: object properties: id: type: string firstName: type: string lastName: type: string title: type: string phone: type: string email: type: string role: "$ref": "#/components/schemas/Role" accounts: type: array items: "$ref": "#/components/schemas/Account" assignedAccounts: type: array items: "$ref": "#/components/schemas/Account" lastActivity: type: string lastModifiedDate: type: string status: type: string permissionValues: "$ref": "#/components/schemas/PermissionValues" active: type: boolean currentTemplate: type: string lastModifiedUserId: type: string userIsSelf: type: boolean internalUser: type: string userType: type: string rewardsEligible: type: boolean required: - id - firstName - lastName - title - phone - email - role - accounts - assignedAccounts - lastActivity - lastModifiedDate - status - permissionValues - active - currentTemplate - lastModifiedUserId - userIsSelf - internalUser - userType - rewardsEligible Org: type: object properties: id: type: string name: type: string masterAdmin: "$ref": "#/components/schemas/MasterAdmin" required: - id - name - masterAdmin PermissionTemplate: type: object properties: name: type: string templateId: type: string permissions: type: array items: "$ref": "#/components/schemas/Permission2" lastModifiedDate: type: string userEmail: type: string org: "$ref": "#/components/schemas/Org" required: - name - templateId - permissions - lastModifiedDate - userEmail - org getUserDetailResponse: type: object properties: id: type: string firstName: type: string lastName: type: string title: type: string phone: type: string email: type: string role: "$ref": "#/components/schemas/Role" accounts: type: array items: "$ref": "#/components/schemas/Account" assignedAccounts: type: array items: "$ref": "#/components/schemas/Account" lastActivity: type: string lastModifiedDate: type: string status: type: string permissionTemplate: "$ref": "#/components/schemas/PermissionTemplate" active: type: boolean currentTemplate: type: string org: "$ref": "#/components/schemas/Org" lastModifiedUserId: type: string userIsSelf: type: boolean internalUser: type: string userType: type: string rewardsEligible: type: boolean required: - id - firstName - lastName - title - phone - email - role - accounts - assignedAccounts - lastActivity - lastModifiedDate - status - permissionTemplate - active - currentTemplate - org - lastModifiedUserId - userIsSelf - internalUser - userType - rewardsEligible createUserBody: type: object properties: firstName: type: string lastName: type: string title: type: string email: type: string phone: type: string role: "$ref": "#/components/schemas/Role" accounts: type: array items: "$ref": "#/components/schemas/Account" status: type: string currentTemplate: type: string permissionTemplate: "$ref": "#/components/schemas/PermissionTemplate" permissionValues: "$ref": "#/components/schemas/PermissionValues" required: - firstName - lastName - title - email - phone - role - accounts - status - currentTemplate - permissionTemplate - permissionValues createUserResponse: type: object properties: userId: type: string required: - userId updateUserBody: type: object properties: id: type: string firstName: type: string lastName: type: string title: type: string email: type: string phone: type: number role: "$ref": "#/components/schemas/Role" accounts: type: array items: "$ref": "#/components/schemas/Account" status: type: string currentTemplate: type: string permissionTemplate: "$ref": "#/components/schemas/PermissionTemplate" permissionValues: "$ref": "#/components/schemas/PermissionValues" required: - id - firstName - lastName - title - email - phone - role - accounts - status - currentTemplate - permissionTemplate - permissionValues organizationResponse: type: object properties: id: type: string name: type: string masterAdmin: "$ref": "#/components/schemas/MasterAdmin" required: - id - name - masterAdmin roleResponse: type: object properties: id: type: string displayName: type: string permissions: type: array items: "$ref": "#/components/schemas/Permission2" required: - id - displayName - permissions permissionTemplateListBody: type: object properties: sortBy: type: string sortType: type: string pageIndex: type: number pageSize: type: number required: - sortBy - sortType - pageIndex - pageSize PermssionTemplate: type: object properties: name: type: string templateId: type: string permissions: type: array items: "$ref": "#/components/schemas/Permission2" lastModifiedDate: type: string userEmail: type: string org: "$ref": "#/components/schemas/Org" required: - name - templateId - permissions - lastModifiedDate - userEmail - org permissionTemplateListResponse: type: object properties: pagination: "$ref": "#/components/schemas/Pagination" permssionTemplate: type: array items: "$ref": "#/components/schemas/PermssionTemplate" required: - pagination - permssionTemplate getPermissionTemplateDetailResponse: type: object properties: name: type: string templateId: type: string permissions: type: array items: "$ref": "#/components/schemas/Permission2" lastModifiedDate: type: string userEmail: type: string org: "$ref": "#/components/schemas/Org" required: - name - templateId - permissions - lastModifiedDate - userEmail - org createPermissionTemplateBody: type: object properties: name: type: string permissionValues: "$ref": "#/components/schemas/PermissionValues" required: - name - permissionValues createPermissionTemplateResponse: type: object properties: templateId: type: string required: - templateId updatePermissionTemplateBody: type: object properties: id: type: string name: type: string permissionValues: "$ref": "#/components/schemas/PermissionValues" required: - id - name - permissionValues deletePermissionTemplateBody: type: object properties: templateId: type: string required: - templateId orderhistoryResponse: type: object properties: orders: type: array items: "$ref": "#/components/schemas/Order" pagination: "$ref": "#/components/schemas/Pagination" required: - orders - pagination orderHistoryv2Response: type: object properties: orders: type: array items: "$ref": "#/components/schemas/Order" pagination: "$ref": "#/components/schemas/Pagination" required: - orders - pagination Info: type: object properties: defaultValue: type: string imageUrl: type: string active: type: boolean key: type: string value: type: string required: - defaultValue - imageUrl - active - key - value DTStatus: type: object properties: displayName: type: string contKey: type: string contValue: type: string statusEndDate: type: string infos: type: array items: "$ref": "#/components/schemas/Info" required: - displayName - contKey - contValue - statusEndDate - infos DTPhoto: type: object properties: ThumbnailUrl: type: string LargeUrl: type: string Timestamp: type: string required: - ThumbnailUrl - LargeUrl - Timestamp orderdetailResponse: type: object properties: order: "$ref": "#/components/schemas/Order" lineItems: type: array items: "$ref": "#/components/schemas/LineItem" DTStatus: "$ref": "#/components/schemas/DTStatus" DTPhotos: type: array items: "$ref": "#/components/schemas/DTPhoto" branchDTEnabled: type: boolean DTEnabled: type: boolean EVReportId: type: number EVEligibleForUpgrade: type: boolean hasDTError: type: boolean required: - order - lineItems - DTStatus - DTPhotos - branchDTEnabled - DTEnabled - EVReportId - EVEligibleForUpgrade - hasDTError getDTOrderDetailResponse: type: object properties: DTStatus: "$ref": "#/components/schemas/DTStatus" DTPhotos: type: array items: "$ref": "#/components/schemas/DTPhoto" branchDTEnabled: type: boolean DTEnabled: type: boolean hasDTError: type: boolean required: - DTStatus - DTPhotos - branchDTEnabled - DTEnabled - hasDTError typeAheadResponse: type: object properties: items: type: array items: "$ref": "#/components/schemas/Item" seeMoreLink: type: string required: - items - seeMoreLink Category2: type: object properties: categoryName: type: string categoryId: type: string recordCount: type: number facetId: type: string required: - categoryName - categoryId - recordCount - facetId Child: type: object properties: facetId: type: string facetName: type: string recordCount: type: number selected: type: boolean required: - facetId - facetName - recordCount - selected Child2: type: object properties: facetId: type: string facetName: type: string recordCount: type: number selected: type: boolean children: type: array items: "$ref": "#/components/schemas/Child" required: - facetId - facetName - recordCount - selected - children Category3: type: object properties: facetId: type: string facetName: type: string selected: type: boolean children: type: array items: "$ref": "#/components/schemas/Child2" required: - facetId - facetName - selected - children Facets: type: object properties: Categories: type: array items: "$ref": "#/components/schemas/Category3" Color: type: array items: "$ref": "#/components/schemas/Child" Product Style: type: array items: "$ref": "#/components/schemas/Child" Brand: type: array items: "$ref": "#/components/schemas/Child" required: - Categories - Color - Product Style - Brand Color: type: object properties: White: type: array items: type: string Dover: type: array items: type: string required: - White - Dover Size: type: object properties: 12x10: type: array items: type: string 4x4: type: array items: type: string required: - 12x10 - 4x4 Thickness: type: object properties: 2mm: type: array items: type: string 4mm: type: array items: type: string 6mm: type: array items: type: string required: - 2mm - 4mm - 6mm Variations2: type: object properties: color: "$ref": "#/components/schemas/Color" size: "$ref": "#/components/schemas/Size" thickness: "$ref": "#/components/schemas/Thickness" required: - color - size - thickness itemDetailsResponse: type: object properties: product: "$ref": "#/components/schemas/Product" message: type: string specification: "$ref": "#/components/schemas/Specification" resource: "$ref": "#/components/schemas/Resource" currentSKU: "$ref": "#/components/schemas/CurrentSKU" skuList: type: array items: "$ref": "#/components/schemas/SkuList" variations: "$ref": "#/components/schemas/Variations2" required: - product - message - specification - resource - currentSKU - skuList - variations _2537292: type: object properties: BDL: type: number required: - BDL _2537402: type: object properties: PC: type: number required: - PC OrderPricing: type: object properties: "253729": "$ref": "#/components/schemas/_2537292" "253737": "$ref": "#/components/schemas/_253737" "253740": "$ref": "#/components/schemas/_2537402" required: - "253729" - "253737" - "253740" _300003: type: object properties: color: type: array items: type: string size: type: array items: type: string thickness: type: array items: type: string required: - color - size - thickness Skus: type: object properties: "300003": "$ref": "#/components/schemas/_300003" "600001": "$ref": "#/components/schemas/_300003" "600002": "$ref": "#/components/schemas/_300003" required: - "300003" - "600001" - "600002" Variations: type: object properties: color: "$ref": "#/components/schemas/Color" size: "$ref": "#/components/schemas/Size" thickness: "$ref": "#/components/schemas/Thickness" required: - color - size - thickness VendorColor: type: object properties: id: type: string MFG: type: string name: type: string code: type: string sku: type: string color: type: string required: - id - MFG - name - code - sku - color CurrentVariations: type: object properties: color: type: string size: type: string diameter: type: string thickness: type: string style: type: string packaging: type: string MFG: type: string required: - color - size - diameter - thickness - style - packaging - MFG VariationGroup: type: object properties: variationTypes: type: array items: type: string required: - variationTypes ProductMultiVariation: type: object properties: currentSkuId: type: string skus: "$ref": "#/components/schemas/Skus" variations: "$ref": "#/components/schemas/Variations" vendorColors: type: array items: "$ref": "#/components/schemas/VendorColor" allVariationTypes: type: array items: type: string currentVariations: "$ref": "#/components/schemas/CurrentVariations" variationKeyMFG: type: string variationKeyColor: type: string variationGroups: type: array items: "$ref": "#/components/schemas/VariationGroup" maxVariationGroupSize: type: number required: - currentSkuId - skus - variations - vendorColors - allVariationTypes - currentVariations - variationKeyMFG - variationKeyColor - variationGroups - maxVariationGroupSize VariationContentKeyMap: type: object properties: {} getProductVariationResponse: type: object properties: productId: type: string productMultiVariation: "$ref": "#/components/schemas/ProductMultiVariation" variationContentKeyMap: "$ref": "#/components/schemas/VariationContentKeyMap" required: - productId - productMultiVariation - variationContentKeyMap getQuoteProductVariationResponse: type: object properties: productId: type: string productMultiVariation: "$ref": "#/components/schemas/ProductMultiVariation" variationContentKeyMap: "$ref": "#/components/schemas/VariationContentKeyMap" required: - productId - productMultiVariation - variationContentKeyMap getMultipleProductVariationBody: type: object properties: productId: type: string skuId: type: string vendorColorId: type: string required: - productId - skuId - vendorColorId getMultipleProductVariationResponse: type: object properties: productId: type: string productMultiVariation: "$ref": "#/components/schemas/ProductMultiVariation" variationContentKeyMap: "$ref": "#/components/schemas/VariationContentKeyMap" required: - productId - productMultiVariation - variationContentKeyMap getMultipleQuoteProductVariationBody: type: object properties: productId: type: string skuId: type: string vendorColorId: type: string quoteOrderId: type: string required: - productId - skuId - vendorColorId - quoteOrderId getMultipleQuoteProductVariationResponse: type: object properties: productId: type: string productMultiVariation: "$ref": "#/components/schemas/ProductMultiVariation" variationContentKeyMap: "$ref": "#/components/schemas/VariationContentKeyMap" required: - productId - productMultiVariation - variationContentKeyMap getFavoriteProductsResponse: type: object properties: totalNumRecs: type: number items: type: array items: "$ref": "#/components/schemas/Item" required: - totalNumRecs - items categoriesResponse: type: object properties: categories: type: array items: "$ref": "#/components/schemas/Category" required: - categories getProductBranchOrRegionAvailabilityResponse: type: object properties: success: type: boolean result: type: array items: "$ref": "#/components/schemas/Result" required: - success - result getSKUBranchOrRegionAvailabilityResponse: type: object properties: success: type: boolean result: type: array items: "$ref": "#/components/schemas/Result" required: - success - result updateOrderAlertBody: type: object properties: orderId: type: string orderNumber: type: string savedOrderId: type: string alertType: type: string phoneNumber: type: string emailAddress: type: string saveToProfile: type: boolean required: - orderId - orderNumber - savedOrderId - alertType - phoneNumber - emailAddress - saveToProfile orderSummaryResponse: type: object properties: total: type: number itemsTotal: type: number tax: type: number otherChanges: type: number displayTotalMsg: type: boolean totalMsg: type: string required: - total - itemsTotal - tax - otherChanges - displayTotalMsg - totalMsg clearCartResponse: type: object properties: result: "$ref": "#/components/schemas/Result" success: type: boolean messages: type: object required: - result - success removeItemFromCartBody: type: object properties: commerceItemId: type: string required: - commerceItemId updateCartBody: type: object properties: items: type: array items: "$ref": "#/components/schemas/Item" required: - items proceedToCheckoutResponse: type: object properties: nextUrl: type: string required: - nextUrl updateCurrentOrderJobNumberBody: type: object properties: jobNumber: type: string required: - jobNumber DeliveryOption: type: object properties: displayName: type: string value: type: string selected: type: boolean required: - displayName - value - selected ShippingAddress: type: object properties: addressBookId: type: string nickName: type: string firstName: type: string lastName: type: string address1: type: string address2: type: string address3: type: string city: type: string stateValue: type: string states: type: array items: "$ref": "#/components/schemas/DeliveryOption" postalCode: type: string countryValue: type: string countries: type: array items: "$ref": "#/components/schemas/DeliveryOption" phoneNumber: type: string required: - addressBookId - nickName - firstName - lastName - address1 - address2 - address3 - city - stateValue - states - postalCode - countryValue - countries - phoneNumber ShippingAddress2: type: object properties: address1: type: string address2: type: string address3: type: string country: type: string city: type: string state: type: string states: type: array items: "$ref": "#/components/schemas/DeliveryOption" postalCode: type: string required: - address1 - address2 - address3 - country - city - state - states - postalCode ContactInfo: type: object properties: firstName: type: string lastName: type: string nickName: type: string phoneNumber: type: string required: - firstName - lastName - nickName - phoneNumber AddressBook2: type: object properties: id: type: string displayName: type: string shippingAddress: "$ref": "#/components/schemas/ShippingAddress2" contactInfo: "$ref": "#/components/schemas/ContactInfo" required: - id - displayName - shippingAddress - contactInfo BranchAddress: type: object properties: displayName: type: string address1: type: string address2: type: string address3: type: string country: type: string city: type: string state: type: string stateValue: type: string postalCode: type: string phoneNumber: type: string required: - displayName - address1 - address2 - address3 - country - city - state - stateValue - postalCode - phoneNumber getOrderShippingInfoResponse: type: object properties: deliveryOption: type: string deliveryOptionValue: type: string deliveryOptions: type: array items: "$ref": "#/components/schemas/DeliveryOption" deliveryDate: type: string deliveryTime: type: string deliveryTimes: type: array items: "$ref": "#/components/schemas/DeliveryOption" expressDeliveryTimes: type: array items: "$ref": "#/components/schemas/DeliveryOption" shippingMethod: type: string shippingMethodValue: type: string shippingMethods: type: array items: "$ref": "#/components/schemas/DeliveryOption" shippingAddress: "$ref": "#/components/schemas/ShippingAddress" addressBooks: type: array items: "$ref": "#/components/schemas/AddressBook" addressBook: "$ref": "#/components/schemas/AddressBook2" branchAddress: "$ref": "#/components/schemas/BranchAddress" instructions: type: string required: - deliveryOption - deliveryOptionValue - deliveryOptions - deliveryDate - deliveryTime - deliveryTimes - expressDeliveryTimes - shippingMethod - shippingMethodValue - shippingMethods - shippingAddress - addressBooks - addressBook - branchAddress - instructions addOrderShippingInfoBody: type: object properties: deliveryOptionValue: type: string deliveryDate: type: string deliveryTime: type: string shippingMethodValue: type: string changeShippingAddressLocation: type: boolean shippingAddress: "$ref": "#/components/schemas/ShippingAddress" saveShippingAddressToAddressBook: type: boolean specialInstruction: type: string required: - deliveryOptionValue - deliveryDate - deliveryTime - shippingMethodValue - changeShippingAddressLocation - shippingAddress - saveShippingAddressToAddressBook - specialInstruction JobAccounts: type: object properties: unavailable: type: boolean unavailableMsg: type: string jobs: type: array items: "$ref": "#/components/schemas/Job" required: - unavailable - unavailableMsg - jobs PoJob: type: object properties: poRequired: type: boolean jobNameRequired: type: boolean jobNumberRequired: type: boolean showJobName: type: boolean showJobNumber: type: boolean poName: type: string jobNumber: type: string jobName: type: string jobAccounts: "$ref": "#/components/schemas/JobAccounts" required: - poRequired - jobNameRequired - jobNumberRequired - showJobName - showJobNumber - poName - jobNumber - jobName - jobAccounts NextPage: type: object properties: nextUrl: type: string required: - nextUrl getCurrentOrderReviewResponse: type: object properties: deliveryOption: type: string deliveryDate: type: string deliveryTime: type: string shippingMethod: type: string shippingAddress: "$ref": "#/components/schemas/ShippingAddress" poJob: "$ref": "#/components/schemas/PoJob" instructions: type: string additionalRecipients: type: array items: type: string orderRelatedDocuments: type: array items: type: string nextPage: "$ref": "#/components/schemas/NextPage" required: - deliveryOption - deliveryDate - deliveryTime - shippingMethod - shippingAddress - poJob - instructions - additionalRecipients - orderRelatedDocuments - nextPage submitCurrentOrderBody: type: object properties: apiSiteId: type: string poName: type: string jobName: type: string jobNumber: type: string additionalRecipients: type: array items: type: string savedOrderName: type: string approverId: type: string required: - apiSiteId - poName - jobName - jobNumber - additionalRecipients - savedOrderName - approverId OrderSummary: type: object properties: total: type: number itemsTotal: type: number tax: type: number otherChanges: type: number displayTotalMsg: type: boolean totalMsg: type: string required: - total - itemsTotal - tax - otherChanges - displayTotalMsg - totalMsg submitCurrentOrderResponse: type: object properties: deliveryOption: type: string deliveryDate: type: string deliveryTime: type: string shippingMethod: type: string instructions: type: string jobNumber: type: string jobName: type: string poName: type: string approverFirstName: type: string approverLastName: type: string approverEmail: type: string shippingAddress: "$ref": "#/components/schemas/ShippingAddress" items: type: array items: "$ref": "#/components/schemas/Item" orderSummary: "$ref": "#/components/schemas/OrderSummary" additionalRecipients: type: array items: type: string orderRelatedDocuments: type: array items: type: string nextPage: "$ref": "#/components/schemas/NextPage" required: - deliveryOption - deliveryDate - deliveryTime - shippingMethod - instructions - jobNumber - jobName - poName - approverFirstName - approverLastName - approverEmail - shippingAddress - items - orderSummary - additionalRecipients - orderRelatedDocuments - nextPage getSubmitOrderResultBody: type: object properties: orderId: type: string savedOrderId: type: string required: - orderId - savedOrderId getSubmitOrderResultResponse: type: object properties: orderNumber: type: string orderNumberTips: type: string orderConfirmationTips: type: string state: type: string orderHistoryDetailLinkUrl: type: string orderHistoryListLinkUrl: type: string mincronResponseError: type: boolean ATGFailedStatus: type: string ATGOrderError: type: boolean required: - orderNumber - orderNumberTips - orderConfirmationTips - state - orderHistoryDetailLinkUrl - orderHistoryListLinkUrl - mincronResponseError - ATGFailedStatus - ATGOrderError UnavailableItem: type: object properties: id: type: string failedReason: type: string required: - id - failedReason VendorColorNotMatchedItem: type: object properties: id: type: string matchColor: type: string matchMFG: type: string required: - id - matchColor - matchMFG getTemplateDetailResponse: type: object properties: templateId: type: string templateName: type: string lastModifiedDate: type: string lastModifiedUser: "$ref": "#/components/schemas/LastModifiedUser" accountLegacyId: type: string isAccountClosed: type: boolean accountName: type: string createdByUser: "$ref": "#/components/schemas/LastModifiedUser" templateItems: type: array items: "$ref": "#/components/schemas/TemplateItem" required: - templateId - templateName - lastModifiedDate - lastModifiedUser - accountLegacyId - isAccountClosed - accountName - createdByUser - templateItems createTemplateBody: type: object properties: templateName: type: string account: type: string items: type: array items: "$ref": "#/components/schemas/Item" required: - templateName - account - items createTemplateResponse: type: object properties: templateId: type: string templateName: type: string lastModifiedDate: type: string accountLegacyId: type: string accountName: type: string allItemsUnavailable: type: boolean itemTotal: type: number itemSuccessTotal: type: number detailUrl: type: string callBackParam: type: string required: - templateId - templateName - lastModifiedDate - accountLegacyId - accountName - allItemsUnavailable - itemTotal - itemSuccessTotal - detailUrl - callBackParam updateTemplateBody: type: object properties: templateId: type: string account: type: string templateName: type: string action: type: string items: type: array items: "$ref": "#/components/schemas/Item" required: - templateId - account - templateName - action - items updateTemplateResponse: type: object properties: templateId: type: string templateName: type: string lastModifiedDate: type: string accountLegacyId: type: string accountName: type: string allItemsUnavailable: type: boolean itemTotal: type: number itemSuccessTotal: type: number detailUrl: type: string required: - templateId - templateName - lastModifiedDate - accountLegacyId - accountName - allItemsUnavailable - itemTotal - itemSuccessTotal - detailUrl validateTemplateItemsBody: type: object properties: templateId: type: string templateItems: type: array items: "$ref": "#/components/schemas/TemplateItem" required: - templateId - templateItems InvalidTemplateItem: type: object properties: templateItemId: type: string required: - templateItemId validateTemplateItemsResponse: type: object properties: invalidTemplateItems: type: array items: "$ref": "#/components/schemas/InvalidTemplateItem" required: - invalidTemplateItems saveOrderBody: type: object properties: savedOrderName: type: string po: type: string jobName: type: string jobNumber: type: string additionalRecipients: type: array items: type: string required: - savedOrderName - po - jobName - jobNumber - additionalRecipients saveOrderResponse: type: object properties: successUrl: type: string savedOrderId: type: string required: - successUrl - savedOrderId getOrderApprovalListBody: type: object properties: approverId: type: string currentPage: type: number pageSize: type: number searchBy: type: string searchTerm: type: string sortBy: type: string sortType: type: string status: type: string required: - approverId - currentPage - pageSize - searchBy - searchTerm - sortBy - sortType - status getOrderApprovalListResponse: type: object properties: pagination: "$ref": "#/components/schemas/Pagination" orders: type: array items: "$ref": "#/components/schemas/Order" required: - pagination - orders getOrderApprovalDetailResponse: type: object properties: id: type: string displayName: type: string siteId: type: string organizationId: type: string accountNumber: type: string contactInfo: type: object creationDate: type: string createdUser: type: string submittedDate: type: string lastModifiedDate: type: string lastModifiedUser: type: string assignApproval: type: object assignApprovalDisplayText: type: string submitApproval: type: string deleteStatus: type: boolean job: type: object jobAccounts: type: object approvedBy: type: string po: type: string additionalEmailRecipient: type: array items: type: string deliveryOption: type: string deliveryOptions: type: array items: type: object deliveryDate: type: string deliveryTime: type: string deliveryTimes: type: array items: type: object shippingMethod: type: string shippingMethodValue: type: string shippingMethods: type: array items: type: object shippingAddressTitle: type: string shippingAddress: type: object branchName: type: string branchAddress: type: object instructions: type: string commerceItems: type: array items: type: object status: type: string statusDisplayName: type: string mincronId: type: string itemsTotal: type: number taxes: type: number otherCharges: type: number subTotal: type: number addressBooks: type: array items: type: object addressBook: type: object storeLocatorItemId: type: string rejectReason: type: string rejectUserDisplayText: type: string rejectUser: type: object showDeliveryNotification: type: boolean MFG: type: string color: type: string orderRelatedDocuments: type: array items: type: string required: - id - displayName - siteId - organizationId - accountNumber - contactInfo - creationDate - createdUser - submittedDate - lastModifiedDate - lastModifiedUser - assignApproval - assignApprovalDisplayText - submitApproval - deleteStatus - job - jobAccounts - approvedBy - po - additionalEmailRecipient - deliveryOption - deliveryOptions - deliveryDate - deliveryTime - deliveryTimes - shippingMethod - shippingMethodValue - shippingMethods - shippingAddressTitle - shippingAddress - branchName - branchAddress - instructions - commerceItems - status - statusDisplayName - mincronId - itemsTotal - taxes - otherCharges - subTotal - addressBooks - addressBook - storeLocatorItemId - rejectReason - rejectUserDisplayText - rejectUser - showDeliveryNotification - MFG - color - orderRelatedDocuments rejectSavedOrderBody: type: object properties: rejectReason: type: string orders: type: array items: "$ref": "#/components/schemas/Order" required: - rejectReason - orders deleteSavedOrderBody: type: object properties: id: type: string required: - id updateSavedOrderItemsBody: type: object properties: savedOrderId: type: string savedOrderName: type: string action: type: string items: type: array items: "$ref": "#/components/schemas/Item" required: - savedOrderId - savedOrderName - action - items Items: type: object properties: id: type: string imageUrl: type: string imageOnErrorUrl: type: string thumbImageUrl: type: string pdpUrl: type: string description: type: string itemNumber: type: string price: type: number quantity: type: number uom: type: string subTotal: type: number deleteStatus: type: boolean vendorColorId: type: string productId: type: string itemGrayOutLevel: type: string required: - id - imageUrl - imageOnErrorUrl - thumbImageUrl - pdpUrl - description - itemNumber - price - quantity - uom - subTotal - deleteStatus - vendorColorId - productId - itemGrayOutLevel updateSavedOrderItemsResponse: type: object properties: savedOrderId: type: string savedOrderName: type: string items: type: array items: "$ref": "#/components/schemas/Items" required: - savedOrderId - savedOrderName - items getSavedOrderShippingInfoBody: type: object properties: orderId: type: string required: - orderId AssignApproval: type: object properties: id: type: string name: type: string email: type: string required: - id - name - email CommerceItem: type: object properties: id: type: string imageUrl: type: string imageOnErrorUrl: type: string thumbImageUrl: type: string pdpUrl: type: string description: type: string itemNumber: type: string price: type: number quantity: type: number uom: type: string subTotal: type: number deleteStatus: type: boolean vendorColorId: type: string productId: type: string itemGrayOutLevel: type: string required: - id - imageUrl - imageOnErrorUrl - thumbImageUrl - pdpUrl - description - itemNumber - price - quantity - uom - subTotal - deleteStatus - vendorColorId - productId - itemGrayOutLevel getSavedOrderShippingInfoResponse: type: object properties: id: type: string displayName: type: string siteId: type: string organizationId: type: string accountNumber: type: string contactInfo: "$ref": "#/components/schemas/ContactInfo" creationDate: type: string createdUser: type: string submittedDate: type: string lastModifiedDate: type: string lastModifiedUser: type: string assignApproval: "$ref": "#/components/schemas/AssignApproval" assignApprovalDisplayText: type: string submitApproval: type: string deleteStatus: type: boolean job: "$ref": "#/components/schemas/Job" jobAccounts: "$ref": "#/components/schemas/JobAccounts" approvedBy: type: string po: type: string emailAddress: type: array items: type: string deliveryOption: type: string deliveryOptions: type: array items: "$ref": "#/components/schemas/DeliveryOption" deliveryDate: type: string deliveryTime: type: string deliveryTimes: type: array items: "$ref": "#/components/schemas/DeliveryOption" shippingMethod: type: string shippingMethodValue: type: string shippingMethods: type: array items: "$ref": "#/components/schemas/DeliveryOption" shippingAddressTitle: type: string shippingAddress: "$ref": "#/components/schemas/ShippingAddress" branchName: type: string branchAddress: "$ref": "#/components/schemas/BranchAddress" instructions: type: string commerceItems: type: array items: "$ref": "#/components/schemas/CommerceItem" status: type: string statusDisplayName: type: string mincronId: type: string itemsTotal: type: number taxes: type: number otherCharges: type: number subTotal: type: number addressBooks: type: array items: "$ref": "#/components/schemas/AddressBook" addressBook: "$ref": "#/components/schemas/AddressBook" storeLocatorItemId: type: string rejectReason: type: string rejectUserDisplayText: type: string rejectUser: "$ref": "#/components/schemas/AssignApproval" showDeliveryNotification: type: boolean accountBranchState: type: string required: - id - displayName - siteId - organizationId - accountNumber - contactInfo - creationDate - createdUser - submittedDate - lastModifiedDate - lastModifiedUser - assignApproval - assignApprovalDisplayText - submitApproval - deleteStatus - job - jobAccounts - approvedBy - po - emailAddress - deliveryOption - deliveryOptions - deliveryDate - deliveryTime - deliveryTimes - shippingMethod - shippingMethodValue - shippingMethods - shippingAddressTitle - shippingAddress - branchName - branchAddress - instructions - commerceItems - status - statusDisplayName - mincronId - itemsTotal - taxes - otherCharges - subTotal - addressBooks - addressBook - storeLocatorItemId - rejectReason - rejectUserDisplayText - rejectUser - showDeliveryNotification - accountBranchState updateSavedOrderShippingInfoBody: type: object properties: orderId: type: string deliveryOption: type: string deliveryDate: type: string deliveryTime: type: string shippingMethod: type: string shippingAddress: "$ref": "#/components/schemas/ShippingAddress" branchName: type: string contactInfo: "$ref": "#/components/schemas/ContactInfo" instructions: type: string required: - orderId - deliveryOption - deliveryDate - deliveryTime - shippingMethod - shippingAddress - branchName - contactInfo - instructions getSavedOrderReviewInfoBody: type: object properties: orderId: type: string required: - orderId getSavedOrderReviewInfoResponse: type: object properties: id: type: string displayName: type: string siteId: type: string organizationId: type: string accountNumber: type: string contactInfo: "$ref": "#/components/schemas/ContactInfo" creationDate: type: string createdUser: type: string submittedDate: type: string lastModifiedDate: type: string lastModifiedUser: type: string assignApproval: "$ref": "#/components/schemas/AssignApproval" assignApprovalDisplayText: type: string submitApproval: type: string deleteStatus: type: boolean job: "$ref": "#/components/schemas/Job" jobAccounts: "$ref": "#/components/schemas/JobAccounts" approvedBy: type: string po: type: string emailAddress: type: array items: type: string deliveryOption: type: string deliveryOptions: type: array items: "$ref": "#/components/schemas/DeliveryOption" deliveryDate: type: string deliveryTime: type: string deliveryTimes: type: array items: "$ref": "#/components/schemas/DeliveryOption" shippingMethod: type: string shippingMethodValue: type: string shippingMethods: type: array items: "$ref": "#/components/schemas/DeliveryOption" shippingAddressTitle: type: string shippingAddress: "$ref": "#/components/schemas/ShippingAddress" branchName: type: string branchAddress: "$ref": "#/components/schemas/BranchAddress" instructions: type: string commerceItems: type: array items: "$ref": "#/components/schemas/CommerceItem" status: type: string statusDisplayName: type: string mincronId: type: string itemsTotal: type: number taxes: type: number otherCharges: type: number subTotal: type: number addressBooks: type: array items: "$ref": "#/components/schemas/AddressBook" addressBook: "$ref": "#/components/schemas/AddressBook" storeLocatorItemId: type: string rejectReason: type: string rejectUserDisplayText: type: string rejectUser: "$ref": "#/components/schemas/AssignApproval" showDeliveryNotification: type: boolean accountBranchState: type: string required: - id - displayName - siteId - organizationId - accountNumber - contactInfo - creationDate - createdUser - submittedDate - lastModifiedDate - lastModifiedUser - assignApproval - assignApprovalDisplayText - submitApproval - deleteStatus - job - jobAccounts - approvedBy - po - emailAddress - deliveryOption - deliveryOptions - deliveryDate - deliveryTime - deliveryTimes - shippingMethod - shippingMethodValue - shippingMethods - shippingAddressTitle - shippingAddress - branchName - branchAddress - instructions - commerceItems - status - statusDisplayName - mincronId - itemsTotal - taxes - otherCharges - subTotal - addressBooks - addressBook - storeLocatorItemId - rejectReason - rejectUserDisplayText - rejectUser - showDeliveryNotification - accountBranchState submitSavedOrderBody: type: object properties: orderId: type: string approverId: type: string po: type: string jobName: type: string jobNumber: type: string additionalRecipients: type: array items: type: string required: - orderId - approverId - po - jobName - jobNumber - additionalRecipients approveSavedOrderBody: type: object properties: apiSiteId: type: string orderId: type: string po: type: string jobName: type: string jobNumber: type: string additionalRecipients: type: array items: type: string required: - apiSiteId - orderId - po - jobName - jobNumber - additionalRecipients getSavedOrderConfirmationInfoBody: type: object properties: id: type: string required: - id ShippingMethod: type: object properties: displayName: type: string value: type: string selected: type: boolean required: - displayName - value - selected RequiredFields: type: object properties: deliveryOption: type: boolean deliveryDate: type: boolean deliveryTime: type: boolean shippingMethod: type: boolean shippingAddress: type: boolean postalCode: type: boolean state: type: boolean address1: type: boolean address2: type: boolean address3: type: boolean country: type: boolean city: type: boolean branchName: type: boolean contactInfo: type: boolean firstName: type: boolean lastName: type: boolean nickName: type: boolean phoneNumber: type: boolean instructions: type: boolean po: type: boolean jobName: type: boolean jobAccounts: type: boolean required: - deliveryOption - deliveryDate - deliveryTime - shippingMethod - shippingAddress - postalCode - state - address1 - address2 - address3 - country - city - branchName - contactInfo - firstName - lastName - nickName - phoneNumber - instructions - po - jobName - jobAccounts getSavedOrderConfirmationInfoResponse: type: object properties: id: type: string mincronId: type: string displayName: type: string accountNumber: type: string accountName: type: string accountNameOriginal: type: string creationDate: type: string createdUser: type: string firstName: type: string lastName: type: string createdUserEmail: type: string submittedDate: type: string status: type: string statusDisplayName: type: string readOnly: type: boolean siteId: type: string organizationId: type: string contactInfo: "$ref": "#/components/schemas/ContactInfo" lastModifiedDate: type: string lastModifiedUser: type: string deleteStatus: type: boolean job: "$ref": "#/components/schemas/Job" jobAccounts: "$ref": "#/components/schemas/JobAccounts" shippingMethod: type: string shippingMethodValue: type: string shippingMethods: type: array items: "$ref": "#/components/schemas/ShippingMethod" shippingAddress: "$ref": "#/components/schemas/ShippingAddress" shippingAddressTitle: type: string branchName: type: string branchAddress: "$ref": "#/components/schemas/BranchAddress" instructions: type: string commerceItems: type: array items: "$ref": "#/components/schemas/CommerceItem" requiredFields: "$ref": "#/components/schemas/RequiredFields" approvedBy: type: string po: type: string emailAddress: type: array items: type: string deliveryOption: type: string deliveryOptionValue: type: string deliveryOptions: type: array items: "$ref": "#/components/schemas/ShippingMethod" deliveryDate: type: string deliveryTime: type: string deliveryTimes: type: array items: "$ref": "#/components/schemas/ShippingMethod" itemsTotal: type: number taxes: type: number otherCharges: type: number subTotal: type: number addressBooks: type: array items: "$ref": "#/components/schemas/AddressBook" addressBook: "$ref": "#/components/schemas/AddressBook" storeLocatorItemId: type: string rejectReason: type: string assignApprovalDisplayText: type: string assignApproval: "$ref": "#/components/schemas/AssignApproval" rejectUserDisplayText: type: string rejectUser: "$ref": "#/components/schemas/AssignApproval" showDeliveryNotification: type: boolean accountBranchState: type: string displaySubTotalMsg: type: boolean subTotalMsg: type: string thankYouMsg: type: string required: - id - mincronId - displayName - accountNumber - accountName - accountNameOriginal - creationDate - createdUser - firstName - lastName - createdUserEmail - submittedDate - status - statusDisplayName - readOnly - siteId - organizationId - contactInfo - lastModifiedDate - lastModifiedUser - deleteStatus - job - jobAccounts - shippingMethod - shippingMethodValue - shippingMethods - shippingAddress - shippingAddressTitle - branchName - branchAddress - instructions - commerceItems - requiredFields - approvedBy - po - emailAddress - deliveryOption - deliveryOptionValue - deliveryOptions - deliveryDate - deliveryTime - deliveryTimes - itemsTotal - taxes - otherCharges - subTotal - addressBooks - addressBook - storeLocatorItemId - rejectReason - assignApprovalDisplayText - assignApproval - rejectUserDisplayText - rejectUser - showDeliveryNotification - accountBranchState - displaySubTotalMsg - subTotalMsg - thankYouMsg approverResponse: type: object properties: id: type: string firstName: type: string lastName: type: string email: type: string required: - id - firstName - lastName - email DtStatusChangeNotification: type: object properties: requested: type: string scheduled: type: string delivered: type: string required: - requested - scheduled - delivered DtAccountStatusChangeNotification: type: object properties: requested: type: string scheduled: type: string delivered: type: string accountId: type: string required: - requested - scheduled - delivered - accountId updateStatusChangeBody: type: object properties: dtEmailAddress: type: string dtPhoneNumber: type: string dtStatusChangeNotification: "$ref": "#/components/schemas/DtStatusChangeNotification" dtAdminStatusChangeNotification: "$ref": "#/components/schemas/DtStatusChangeNotification" dtAccountStatusChangeNotification: type: array items: "$ref": "#/components/schemas/DtAccountStatusChangeNotification" required: - dtEmailAddress - dtPhoneNumber - dtStatusChangeNotification - dtAdminStatusChangeNotification - dtAccountStatusChangeNotification updateStatusChangeResponse: type: object properties: messageCode: type: string message: type: string required: - messageCode - message Notification: type: object properties: displayName: type: string value: type: string selected: type: boolean required: - displayName - value - selected DtStatusChangeNotifacation: type: object properties: displayName: type: string label: type: string notifications: type: array items: "$ref": "#/components/schemas/Notification" required: - displayName - label - notifications DtOrderStatusChangeNotifacation: type: object properties: notifications: type: array items: "$ref": "#/components/schemas/Notification" required: - notifications getStatusChangeResponse: type: object properties: messageCode: type: string message: type: string emailAddress: type: string dtPhoneNumber: type: string dtStatusChangeNotifacation: type: array items: "$ref": "#/components/schemas/DtStatusChangeNotifacation" dtAdminStatusChangeNotifacaton: type: array items: "$ref": "#/components/schemas/DtStatusChangeNotifacation" dtAccountStatusChangeNotification: type: array items: "$ref": "#/components/schemas/DtAccountStatusChangeNotification" dtOrderStatusChangeNotifacation: "$ref": "#/components/schemas/DtOrderStatusChangeNotifacation" required: - messageCode - message - emailAddress - dtPhoneNumber - dtStatusChangeNotifacation - dtAdminStatusChangeNotifacaton - dtAccountStatusChangeNotification - dtOrderStatusChangeNotifacation QuoteList: type: object properties: quoteId: type: string quoteName: type: string creationDate: type: string status: type: string createdBy: type: string required: - quoteId - quoteName - creationDate - status - createdBy DraftQuote: type: object properties: pagination: "$ref": "#/components/schemas/Pagination" quoteList: type: array items: "$ref": "#/components/schemas/QuoteList" required: - pagination - quoteList quoteResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean draftQuote: "$ref": "#/components/schemas/DraftQuote" inProcessQuote: "$ref": "#/components/schemas/DraftQuote" receivedQuote: "$ref": "#/components/schemas/DraftQuote" required: - messages - messageCode - success - draftQuote - inProcessQuote - receivedQuote getMincronQuoteDetailResponse: type: object properties: quote: "$ref": "#/components/schemas/Quote" required: - quote getAtgQuoteDetailResponse: type: object properties: quote: "$ref": "#/components/schemas/Quote" required: - quote QuoteItem: type: object properties: itemId: type: string itemType: type: string quantity: type: number uom: type: string color: type: string dimensions: type: string displayName: type: string required: - itemId - itemType - quantity - uom - color - dimensions - displayName createQuoteBody: type: object properties: quoteName: type: string phoneNumber: type: string address1: type: string address2: type: string city: type: string state: type: string statusDescription: type: string workType: type: string jobName: type: string jobNumber: type: string quoteNotes: type: string mailingAddress1: type: string mailingAddress2: type: string mailingAddress3: type: string mailingState: type: string mailingCity: type: string mailingZip: type: string expires: type: string validate: type: boolean quoteItems: type: array items: "$ref": "#/components/schemas/QuoteItem" required: - quoteName - phoneNumber - address1 - address2 - city - state - statusDescription - workType - jobName - jobNumber - quoteNotes - mailingAddress1 - mailingAddress2 - mailingAddress3 - mailingState - mailingCity - mailingZip - expires - validate - quoteItems createQuoteResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" messageCode: type: number success: type: boolean required: - messages - messageCode - success updateQuoteBody: type: object properties: id: type: string quoteName: type: string phoneNumber: type: string address1: type: string address2: type: string city: type: string state: type: string workType: type: string jobName: type: string jobNumber: type: string postalCode: type: string quoteNotes: type: string mailingAddress1: type: string mailingAddress2: type: string mailingAddress3: type: string mailingState: type: string mailingCity: type: string mailingZip: type: string expires: type: string action: type: string quoteItems: type: array items: "$ref": "#/components/schemas/QuoteItem" deleteItems: type: array items: type: string creationDate: type: string lastModifiedDate: type: string required: - id - quoteName - phoneNumber - address1 - address2 - city - state - workType - jobName - jobNumber - postalCode - quoteNotes - mailingAddress1 - mailingAddress2 - mailingAddress3 - mailingState - mailingCity - mailingZip - expires - action - quoteItems - deleteItems - creationDate - lastModifiedDate deleteQuoteBody: type: object properties: quoteId: type: string required: - quoteId submitQuoteBody: type: object properties: id: type: string quoteName: type: string phoneNumber: type: string address1: type: string address2: type: string city: type: string state: type: string workType: type: string jobName: type: string jobNumber: type: string quoteNotes: type: string mailingAddress1: type: string mailingAddress2: type: string mailingAddress3: type: string mailingState: type: string mailingCity: type: string mailingZip: type: string expires: type: string validate: type: boolean quoteItems: type: array items: "$ref": "#/components/schemas/QuoteItem" required: - id - quoteName - phoneNumber - address1 - address2 - city - state - workType - jobName - jobNumber - quoteNotes - mailingAddress1 - mailingAddress2 - mailingAddress3 - mailingState - mailingCity - mailingZip - expires - validate - quoteItems submitQuoteResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" success: type: boolean result: "$ref": "#/components/schemas/Result" required: - messages - success - result approveQuoteBody: type: object properties: quoteId: type: string required: - quoteId reviseQuoteBody: type: object properties: quoteId: type: string quoteNotes: type: string required: - quoteId - quoteNotes rejectQuoteBody: type: object properties: quoteId: type: string reason: type: string required: - quoteId - reason rebateLandingResponse: type: object properties: rebateName: type: string action: type: string rebateId: type: string startDate: type: string endDate: type: string required: - rebateName - action - rebateId - startDate - endDate getRebateRedeemedSummaryItemsResponse: type: object properties: promotionDates: type: string accountId: type: string submitDate: type: string id: type: string brand: type: string rebateId: type: string PDFUrl: type: string currencyUnit: type: string promotion: type: string projectedRebate: type: string required: - promotionDates - accountId - submitDate - id - brand - rebateId - PDFUrl - currencyUnit - promotion - projectedRebate getRebateRedeemedItemDetailBody: type: object properties: rebateId: type: string searchKey: type: string searchValue: type: string pageNum: type: string required: - rebateId - searchKey - searchValue - pageNum Header: type: object properties: promotionDates: type: string accountId: type: string submitDate: type: string id: type: string brand: type: string rebateId: type: string PDFUrl: type: string currencyUnit: type: string promotion: type: string projectedRebate: type: string required: - promotionDates - accountId - submitDate - id - brand - rebateId - PDFUrl - currencyUnit - promotion - projectedRebate Body: type: object properties: orderNumber: type: string itemStockUnitOfMeasure: type: string invoiceDate: type: string showSalesAmountAsPrice: type: boolean customerName: type: string projectedRebate: type: string promotionDates: type: string accountId: type: string quantityShipped: type: string salesAmount: type: string id: type: string itemDescription: type: string category: type: string projectedPromotionRebate: type: string rebateId: type: string currencyUnit: type: string promotion: type: string required: - orderNumber - itemStockUnitOfMeasure - invoiceDate - showSalesAmountAsPrice - customerName - projectedRebate - promotionDates - accountId - quantityShipped - salesAmount - id - itemDescription - category - projectedPromotionRebate - rebateId - currencyUnit - promotion getRebateRedeemedItemDetailResponse: type: object properties: pagination: "$ref": "#/components/schemas/Pagination" header: "$ref": "#/components/schemas/Header" body: type: array items: "$ref": "#/components/schemas/Body" required: - pagination - header - body SelectValue: type: object properties: displayName: type: string value: type: string required: - displayName - value Row: type: object properties: name: type: string label: type: string placeHolder: type: string value: type: string required: type: boolean type: type: string infoGroup: type: string maxLength: type: number minLength: type: number email: type: boolean phone: type: boolean zip: type: boolean numeric: type: boolean pattern: type: string css: type: string invalidMsg: type: string selectValues: type: array items: "$ref": "#/components/schemas/SelectValue" required: - name - label - placeHolder - value - required - type - infoGroup - maxLength - minLength - email - phone - zip - numeric - pattern - css - invalidMsg - selectValues getRebateFormResponse: type: object properties: rebateId: type: string rebateName: type: string ableSubmit: type: boolean rows: type: array items: "$ref": "#/components/schemas/Row" required: - rebateId - rebateName - ableSubmit - rows RebateInfo: type: object properties: companyName: type: string contactName: type: string phoneNumber: type: string email: type: string required: - companyName - contactName - phoneNumber - email RebateAddress: type: object properties: address: type: string city: type: string state: type: string zip: type: string required: - address - city - state - zip RebateCustomInfo: type: object properties: {} submiteRebateBody: type: object properties: rebateId: type: string rebateInfo: "$ref": "#/components/schemas/RebateInfo" rebateAddress: "$ref": "#/components/schemas/RebateAddress" rebateCustomInfo: "$ref": "#/components/schemas/RebateCustomInfo" rebateMailingAddress: "$ref": "#/components/schemas/RebateCustomInfo" required: - rebateId - rebateInfo - rebateAddress - rebateCustomInfo - rebateMailingAddress DefaultItem: type: object properties: itemNumber: type: string unitOfMeasure: type: string price: type: number vendorColorId: type: string itemImage: type: string itemOnErrorImage: type: string required: - itemNumber - unitOfMeasure - price - vendorColorId - itemImage - itemOnErrorImage suggestiveSellingResponse: type: object properties: productId: type: string productName: type: string productNameNotTruncate: type: string pdpUrl: type: string defaultItem: "$ref": "#/components/schemas/DefaultItem" required: - productId - productName - productNameNotTruncate - pdpUrl - defaultItem getHoverJobListResponse: type: object properties: pagination: "$ref": "#/components/schemas/Pagination" items: type: array items: "$ref": "#/components/schemas/Item" required: - pagination - items Image: type: object properties: id: type: string required: - id getHoverJobDetailResponse: type: object properties: approved: type: string approved_at: type: string archived: type: string archived_at: type: string client_identifier: type: string completed_at: type: string created_at: type: string deliverable_id: type: string estimated_hours_to_completion: type: string example: type: string id: type: string location_city: type: string location_country: type: string location_lat: type: string location_line_1: type: string location_line_2: type: string location_lon: type: string location_postal_code: type: string location_region: type: string name: type: string org_id: type: string roof_estimate_access_level: type: string state: type: string updated_at: type: string user_id: type: string via_job_share: type: string creator: type: string archive_number: type: string contractor_estimate_sent_to: type: string customer_contact: type: string customer_contact_only_by_email: type: string customer_email: type: string customer_first_name: type: string customer_name: type: string customer_notes: type: string customer_phone: type: string estimates_count: type: string mobile_application_id: type: string org_job_accesses_assigned_lead_count: type: string original_job_id: type: string quote_user_id: type: string reported_at: type: string shared: type: string uploaded_at: type: string pdf: type: string threeDimensions: type: string orderMaterials: type: string machete_features: type: array items: type: string images: type: array items: "$ref": "#/components/schemas/Image" required: - approved - approved_at - archived - archived_at - client_identifier - completed_at - created_at - deliverable_id - estimated_hours_to_completion - example - id - location_city - location_country - location_lat - location_line_1 - location_line_2 - location_lon - location_postal_code - location_region - name - org_id - roof_estimate_access_level - state - updated_at - user_id - via_job_share - creator - archive_number - contractor_estimate_sent_to - customer_contact - customer_contact_only_by_email - customer_email - customer_first_name - customer_name - customer_notes - customer_phone - estimates_count - mobile_application_id - org_job_accesses_assigned_lead_count - original_job_id - quote_user_id - reported_at - shared - uploaded_at - pdf - threeDimensions - orderMaterials - machete_features - images UserRegInfo: type: object properties: userRegisterToken: type: string required: - userRegisterToken getUserRegisterTokenResponse: type: object properties: userRegInfo: "$ref": "#/components/schemas/UserRegInfo" required: - userRegInfo validateUserByEmailBody: type: object properties: emailAddress: type: string firstName: type: string lastName: type: string zipCode: type: string phoneNumber: type: string g-recaptcha-response: type: string required: - emailAddress - firstName - lastName - zipCode - phoneNumber - g-recaptcha-response BranchSelection: type: object properties: accountId: type: string accountName: type: string branches: type: array items: "$ref": "#/components/schemas/Branch" required: - accountId - accountName - branches validateUserByEmailResponse: type: object properties: userRegInfo: "$ref": "#/components/schemas/UserRegInfo" showBranchSelection: type: boolean branchSelection: "$ref": "#/components/schemas/BranchSelection" retryTimesLeft: type: number needLogin: type: boolean needRetry: type: boolean needContactSupport: type: boolean needGetUserRegisterToken: type: boolean needInvoice: type: boolean registerSuccess: type: boolean required: - userRegInfo - showBranchSelection - branchSelection - retryTimesLeft - needLogin - needRetry - needContactSupport - needGetUserRegisterToken - needInvoice - registerSuccess validateUserByAccountBody: type: object properties: emailAddress: type: string companyName: type: string account: type: string invoice: type: string invoiceDate: type: string required: - emailAddress - companyName - account - invoice - invoiceDate validateUserByAccountResponse: type: object properties: userRegInfo: "$ref": "#/components/schemas/UserRegInfo" showBranchSelection: type: boolean branchSelection: "$ref": "#/components/schemas/BranchSelection" retryTimesLeft: type: number needLogin: type: boolean needRetry: type: boolean needContactSupport: type: boolean needGetUserRegisterToken: type: boolean needInvoice: type: boolean registerSuccess: type: boolean required: - userRegInfo - showBranchSelection - branchSelection - retryTimesLeft - needLogin - needRetry - needContactSupport - needGetUserRegisterToken - needInvoice - registerSuccess AccountInfo: type: object properties: accountId: type: string accountName: type: string branchId: type: string required: - accountId - accountName - branchId registerBody: type: object properties: emailAddress: type: string firstName: type: string lastName: type: string zipCode: type: string phoneNumber: type: string companyName: type: string account: type: string invoice: type: string invoiceDate: type: string accountInfos: type: array items: "$ref": "#/components/schemas/AccountInfo" internalUser: type: string token: type: string required: - emailAddress - firstName - lastName - zipCode - phoneNumber - companyName - account - invoice - invoiceDate - accountInfos - internalUser - token registerResponse: type: object properties: needLogin: type: boolean needRetry: type: boolean needContactSupport: type: boolean needGetUserRegisterToken: type: boolean registerSuccess: type: boolean required: - needLogin - needRetry - needContactSupport - needGetUserRegisterToken - registerSuccess queryQuoteStatusResponse: type: object properties: messages: type: array items: "$ref": "#/components/schemas/Message" success: type: boolean result: "$ref": "#/components/schemas/Result" required: - messages - success - result getQuoteOrderDetailResponse: type: object properties: id: type: string mincronId: type: string displayName: type: string accountNumber: type: string accountName: type: string creationDate: type: string createdUser: type: string createdUserEmail: type: string lastModifiedDate: type: string lastModifiedUser: type: string lastModifiedUserEmail: type: string placeOrderDate: type: string placeOrderUser: type: string placeOrderEmail: type: string job: "$ref": "#/components/schemas/Job" jobAccounts: "$ref": "#/components/schemas/JobAccounts" shippingMethod: type: string shippingMethodValue: type: string shippingMethods: type: array items: "$ref": "#/components/schemas/ShippingMethod" shippingAddress: "$ref": "#/components/schemas/ShippingAddress" shippingAddressTitle: type: string branchName: type: string contactInfo: "$ref": "#/components/schemas/ContactInfo" branchAddress: "$ref": "#/components/schemas/BranchAddress" instructions: type: string commerceItems: type: array items: "$ref": "#/components/schemas/CommerceItem" requiredFields: "$ref": "#/components/schemas/RequiredFields" po: type: string emailAddress: type: array items: type: string deliveryOption: type: string deliveryOptionValue: type: string deliveryOptions: type: array items: "$ref": "#/components/schemas/ShippingMethod" deliveryDate: type: string deliveryTime: type: string deliveryTimes: type: array items: "$ref": "#/components/schemas/ShippingMethod" expressDeliveryTimes: type: array items: "$ref": "#/components/schemas/ShippingMethod" addressBook: "$ref": "#/components/schemas/AddressBook" storeLocatorItemId: type: string total: type: number subTotal: type: number taxes: type: number otherCharges: type: number displayTaxTBD: type: boolean displayOtherChargeTBD: type: boolean atgOrderId: type: string quoteStatus: type: string atgQuoteId: type: string action: type: string timeZoneId: type: string serverTime: type: number postponeDeliveryHour: type: number accountBranchState: type: string branchAddressTimeZoneId: type: string showDeliveryNotification: type: boolean showOrderSummary: type: boolean orderRelatedDocuments: type: array items: type: string required: - id - mincronId - displayName - accountNumber - accountName - creationDate - createdUser - createdUserEmail - lastModifiedDate - lastModifiedUser - lastModifiedUserEmail - placeOrderDate - placeOrderUser - placeOrderEmail - job - jobAccounts - shippingMethod - shippingMethodValue - shippingMethods - shippingAddress - shippingAddressTitle - branchName - contactInfo - branchAddress - instructions - commerceItems - requiredFields - po - emailAddress - deliveryOption - deliveryOptionValue - deliveryOptions - deliveryDate - deliveryTime - deliveryTimes - expressDeliveryTimes - addressBook - storeLocatorItemId - total - subTotal - taxes - otherCharges - displayTaxTBD - displayOtherChargeTBD - atgOrderId - quoteStatus - atgQuoteId - action - timeZoneId - serverTime - postponeDeliveryHour - accountBranchState - branchAddressTimeZoneId - showDeliveryNotification - showOrderSummary - orderRelatedDocuments updateQuoteOrderBody: type: object properties: id: type: string action: type: string items: type: array items: "$ref": "#/components/schemas/Item" required: - id - action - items updateQuoteOrderResponse: type: object properties: id: type: string commerceItems: type: array items: "$ref": "#/components/schemas/CommerceItem" required: - id - commerceItems updateQuoteOrderShippingInfoBody: type: object properties: id: type: string deliveryOption: type: string deliveryDate: type: string deliveryTime: type: string shippingMethod: type: string shippingAddress: "$ref": "#/components/schemas/ShippingAddress" branchName: type: string contactInfo: "$ref": "#/components/schemas/ContactInfo" instructions: type: string required: - id - deliveryOption - deliveryDate - deliveryTime - shippingMethod - shippingAddress - branchName - contactInfo - instructions getQuoteOrderPriceResponse: type: object properties: id: type: string subTotal: type: number taxes: type: number otherCharges: type: number total: type: number displayTaxTBD: type: boolean displayOtherChargeTBD: type: boolean commerceItems: type: array items: "$ref": "#/components/schemas/CommerceItem" required: - id - subTotal - taxes - otherCharges - total - displayTaxTBD - displayOtherChargeTBD - commerceItems placeQuoteOrderBody: type: object properties: orderId: type: string poName: type: string jobName: type: string jobNumber: type: string additionalRecipients: type: array items: type: string required: - orderId - poName - jobName - jobNumber - additionalRecipients submitQuoteOrderForApprovalBody: type: object properties: orderId: type: string savedOrderName: type: string approverId: type: string poName: type: string jobName: type: string jobNumber: type: string additionalRecipients: type: array items: type: string required: - orderId - savedOrderName - approverId - poName - jobName - jobNumber - additionalRecipients submitQuoteOrderForApprovalResponse: type: object properties: savedOrderId: type: string required: - savedOrderId getCurrentUserLastSelectedJobInfoResponse: type: object properties: jobName: type: string jobNumber: type: string address1: type: string address2: type: string address3: type: string city: type: string state: type: string stateValue: type: string postalCode: type: string phoneNumber: type: string phoneNumberDigitally: type: string customerName: type: string required: - jobName - jobNumber - address1 - address2 - address3 - city - state - stateValue - postalCode - phoneNumber - phoneNumberDigitally - customerName ReportAddress: type: object properties: Address: type: string City: type: string State: type: string Zip: type: string Country: type: string Latitude: type: number Longitude: type: number required: - Address - City - State - Zip - Country - Latitude - Longitude ReportAttibute: type: object properties: Attribute: type: number Value: type: string required: - Attribute - Value OrderReport: type: object properties: ReportAddresses: type: array items: "$ref": "#/components/schemas/ReportAddress" BuildingId: type: string PrimaryProductId: type: number DeliveryProductId: type: number AddOnProductIds: type: array items: type: number MeasurementInstructionType: type: number ReportAttibutes: type: array items: "$ref": "#/components/schemas/ReportAttibute" ClaimNumber: type: string ClaimInfo: type: string BatchId: type: string CatId: type: string ChangesInLast4Years: type: boolean PONumber: type: string Comments: type: string ReferenceId: type: string InsuredName: type: string UpgradeFromReportId: type: number PolicyNumber: type: string DateOfLoss: type: string propertyType: type: string reportType: type: string deliveryType: type: string addOns: type: string structures: type: string required: - ReportAddresses - BuildingId - PrimaryProductId - DeliveryProductId - AddOnProductIds - MeasurementInstructionType - ReportAttibutes - ClaimNumber - ClaimInfo - BatchId - CatId - ChangesInLast4Years - PONumber - Comments - ReferenceId - InsuredName - UpgradeFromReportId - PolicyNumber - DateOfLoss - propertyType - reportType - deliveryType - addOns - structures placeEagleViewOrderBody: type: object properties: OrderReports: type: array items: "$ref": "#/components/schemas/OrderReport" PromoCode: type: string PlaceOrderUser: type: string accountId: type: string email: type: string projectName: type: string beaconPrice: type: number UUID: type: string required: - OrderReports - PromoCode - PlaceOrderUser - accountId - email - projectName - beaconPrice - UUID ModelState: type: object properties: modelKey: type: string modelValue: type: array items: type: string required: - modelKey - modelValue placeEagleViewOrderResponse: type: object properties: mincronOrderId: type: string orderId: type: number reportIds: type: array items: type: number modelState: "$ref": "#/components/schemas/ModelState" required: - mincronOrderId - orderId - reportIds - modelState placeEagleViewUpgradeOrderBody: type: object properties: ReportId: type: number MeasurementRequestTypeId: type: number ProductId: type: number ProductDeliveryId: type: number AddOnProductIds: type: array items: type: number AdditionalEmails: type: string ClaimNumber: type: string ClaimInfo: type: string PONumber: type: string DateOfLoss: type: string CatId: type: string UUID: type: string required: - ReportId - MeasurementRequestTypeId - ProductId - ProductDeliveryId - AddOnProductIds - AdditionalEmails - ClaimNumber - ClaimInfo - PONumber - DateOfLoss - CatId - UUID placeEagleViewUpgradeOrderResponse: type: object properties: mincronOrderId: type: string reportId: type: number modelState: "$ref": "#/components/schemas/ModelState" required: - mincronOrderId - reportId - modelState ReportImage: type: object properties: sequenceNumber: type: number imageId: type: number ProductId: type: number ProductDeliveryId: type: number AddOnProductIds: type: array items: type: number AdditionalEmails: type: string ClaimNumber: type: string ClaimInfo: type: string PONumber: type: string DateOfLoss: type: string CatId: type: string required: - sequenceNumber - imageId - ProductId - ProductDeliveryId - AddOnProductIds - AdditionalEmails - ClaimNumber - ClaimInfo - PONumber - DateOfLoss - CatId getEagleViewOrderReportResponse: type: object properties: ReportId: type: number Street: type: string BuildingId: type: string City: type: string State: type: string Zip: type: string Latitude: type: number Longitude: type: number ClaimNumber: type: string ClaimInfo: type: string BatchId: type: string CatId: type: string DatePlaced: type: string DateCompleted: type: string PONumber: type: string Comments: type: string ReportImage: type: array items: "$ref": "#/components/schemas/ReportImage" ReferenceId: type: string InsuredName: type: string MeasurementRequestTypeId: type: number ReportDownloadLink: type: string EligibleForUpgrade: type: boolean Status: type: string Area: type: string Pitch: type: string LengthRidge: type: string LengthValley: type: string LengthEave: type: string LengthRake: type: string ProductPrimaryId: type: number ProductPrimary: type: string ProductDeliveryId: type: number ProductDelivery: type: string AddOnProductIds: type: string AllowsUserSubmittedPhotos: type: boolean LengthHip: type: string SubstituteFromProduct: type: number SubstituteToProduct: type: string CanCancelReport: type: string required: - ReportId - Street - BuildingId - City - State - Zip - Latitude - Longitude - ClaimNumber - ClaimInfo - BatchId - CatId - DatePlaced - DateCompleted - PONumber - Comments - ReportImage - ReferenceId - InsuredName - MeasurementRequestTypeId - ReportDownloadLink - EligibleForUpgrade - Status - Area - Pitch - LengthRidge - LengthValley - LengthEave - LengthRake - ProductPrimaryId - ProductPrimary - ProductDeliveryId - ProductDelivery - AddOnProductIds - AllowsUserSubmittedPhotos - LengthHip - SubstituteFromProduct - SubstituteToProduct - CanCancelReport DeliveryProduct: type: object properties: productID: type: number name: type: string description: type: string isTemporarilyUnavailable: type: boolean priceMin: type: number priceMax: type: number deliveryProductIds: type: array items: type: number DetailedDescription: type: string required: - productID - name - description - isTemporarilyUnavailable - priceMin - priceMax - deliveryProductIds - DetailedDescription AvailableProduct: type: object properties: productID: type: number name: type: string description: type: string productGroup: type: string isTemporarilyUnavailable: type: boolean priceMin: type: number priceMax: type: number deliveryProducts: type: array items: "$ref": "#/components/schemas/DeliveryProduct" addOnProducts: type: array items: "$ref": "#/components/schemas/DeliveryProduct" measurementInstructionTypes: type: array items: type: number TypeOfStructure: type: number IsRoofProduct: type: boolean SortOrder: type: number AllowsUserSubmittedPhotos: type: boolean DetailedDescription: type: string required: - productID - name - description - productGroup - isTemporarilyUnavailable - priceMin - priceMax - deliveryProducts - addOnProducts - measurementInstructionTypes - TypeOfStructure - IsRoofProduct - SortOrder - AllowsUserSubmittedPhotos - DetailedDescription CurrentOrder: type: object properties: ReportId: type: number MeasurementRequestTypeId: type: number ProductId: type: number ProductDeliveryId: type: number AddOnProductIds: type: array items: type: number AdditionalEmails: type: string ClaimNumber: type: string ClaimInfo: type: string PONumber: type: string DateOfLoss: type: string CatId: type: string JobName: type: string required: - ReportId - MeasurementRequestTypeId - ProductId - ProductDeliveryId - AddOnProductIds - AdditionalEmails - ClaimNumber - ClaimInfo - PONumber - DateOfLoss - CatId - JobName getEagleViewOrderUpgradeProductsResponse: type: object properties: AvailableProducts: type: array items: "$ref": "#/components/schemas/AvailableProduct" CurrentOrder: "$ref": "#/components/schemas/CurrentOrder" required: - AvailableProducts - CurrentOrder DeliveryFilesAvailable: type: object properties: DeliveryFileTypeId: type: number EffectiveDate: type: string required: - DeliveryFileTypeId - EffectiveDate MeasurementByStructure: type: object properties: BuildingName: type: string Area: type: string PrimaryPitch: type: string LengthRidge: type: string LengthValley: type: string LengthEave: type: string LengthRake: type: string LengthHip: type: string required: - BuildingName - Area - PrimaryPitch - LengthRidge - LengthValley - LengthEave - LengthRake - LengthHip AddOnProduct: type: object properties: DisplayName: type: string ProductId: type: number required: - DisplayName - ProductId From: type: object properties: PrimaryProductId: type: number PrimaryProductDisplayName: type: string TypeOfStructure: type: number required: - PrimaryProductId - PrimaryProductDisplayName - TypeOfStructure ProductSubstitution: type: object properties: From: "$ref": "#/components/schemas/From" To: "$ref": "#/components/schemas/From" required: - From - To getEagleViewOrderReportV3Response: type: object properties: ReportId: type: number Street: type: string BuildingId: type: string City: type: string State: type: string Zip: type: string Latitude: type: number Longitude: type: number ClaimNumber: type: string ClaimInfo: type: string BatchId: type: string CatId: type: string DatePlaced: type: string DateCompleted: type: string PONumber: type: string Comments: type: string ReportImage: type: array items: "$ref": "#/components/schemas/ReportImage" ReferenceId: type: string InsuredName: type: string MeasurementRequestTypeId: type: number ReportDownloadLink: type: string EligibleForUpgrade: type: boolean Status: type: string Area: type: string Pitch: type: string LengthRidge: type: string LengthValley: type: string LengthEave: type: string LengthRake: type: string ProductPrimaryId: type: number ProductPrimary: type: string ProductDeliveryId: type: number ProductDelivery: type: string AddOnProductIds: type: string AllowsUserSubmittedPhotos: type: boolean LengthHip: type: string SubstituteFromProduct: type: number SubstituteToProduct: type: string CanCancelReport: type: string StatusId: type: number SubStatusId: type: number DisplayStatus: type: string DateOfLoss: type: string DeliveryFilesAvailable: type: array items: "$ref": "#/components/schemas/DeliveryFilesAvailable" AdditionalRecipients: type: string TotalCost: type: number PaymentType: type: string MeasurementByStructure: type: array items: "$ref": "#/components/schemas/MeasurementByStructure" PrimaryProductDisplayName: type: string AddOnProducts: type: array items: "$ref": "#/components/schemas/AddOnProduct" TypeOfStructure: type: number ProductSubstitution: "$ref": "#/components/schemas/ProductSubstitution" TotalMeasurements: "$ref": "#/components/schemas/MeasurementByStructure" JobName: type: string CanEditReportInformation: type: boolean SuggestedWasteFactorAvailable: type: boolean required: - ReportId - Street - BuildingId - City - State - Zip - Latitude - Longitude - ClaimNumber - ClaimInfo - BatchId - CatId - DatePlaced - DateCompleted - PONumber - Comments - ReportImage - ReferenceId - InsuredName - MeasurementRequestTypeId - ReportDownloadLink - EligibleForUpgrade - Status - Area - Pitch - LengthRidge - LengthValley - LengthEave - LengthRake - ProductPrimaryId - ProductPrimary - ProductDeliveryId - ProductDelivery - AddOnProductIds - AllowsUserSubmittedPhotos - LengthHip - SubstituteFromProduct - SubstituteToProduct - CanCancelReport - StatusId - SubStatusId - DisplayStatus - DateOfLoss - DeliveryFilesAvailable - AdditionalRecipients - TotalCost - PaymentType - MeasurementByStructure - PrimaryProductDisplayName - AddOnProducts - TypeOfStructure - ProductSubstitution - TotalMeasurements - JobName - CanEditReportInformation - SuggestedWasteFactorAvailable getOktaEagleViewLoginUrlResponse: type: object properties: oktaLoginLink: type: string required: - oktaLoginLink exchangeOktaEagleViewAuthorizationCodeResponse: type: object properties: code: type: string state: type: string required: - code - state mincronMappingResponse: type: object properties: products: type: array items: "$ref": "#/components/schemas/Product" required: - products