Beacon Roofing Supply V1 API

The V1 API from Beacon Roofing Supply — 10 operation(s) for v1.

Operations 10

POST /login Logs user into system #
POST /logout Logs user out of system #
GET /getLoginDeclaration Returns Terms and Conditions for persistent login #
GET /accounts Lists available accounts for a user #
POST /switchAccount Changes account for a user #
GET /branchlist Lists all available branches #
GET /jobs Lists available job names for an account #
GET /items Returns item details #
GET /getProductInfo Returns list of accounts by Product Id #
GET /getSkuUom Returns Unit of Measures (UoM) for an item number #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/beacon-roofing-supply-v1-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

beacon-roofing-supply-v1-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Beacon Rest Services V1 API
  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…'
  version: '1.0'
  contact: {}
servers: []
tags:
- name: v1
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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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
  /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<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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<br><br>Example: "253729,253737,253740"'
        schema:
          type: string
      responses:
        '200':
          description: 'successful operation<br><br>If failed, return messageCode, refer to the <i>API Response Message Code</i> dropdown above<br><br>Example:<br><br>{ "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
components:
  schemas:
    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'
    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
    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
    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
    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
    Resource:
      type: object
      properties:
        General Instructrions:
          type: string
        Warranty:
          type: string
        MSDS:
          type: string
        Brochure:
          type: string
      required:
      - General Instructrions
      - Warranty
      - MSDS
      - Brochure
    loginResponse:
      type: object
      properties:
        messageInfo:
          $ref: '#/components/schemas/MessageInfo'
      required:
      - messageInfo
    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
    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
    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
    MyOrders:
      type: object
      properties:
        requested:
          type: string
        scheduled:
          type: string
        delivered:
          type: string
      required:
      - requested
      - scheduled
      - delivered
    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
    Category:
      type: object
      properties:
        categoryName:
          type: string
        categoryId:
          type: string
      required:
      - categoryName
      - categoryId
    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
    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
    logoutResponse:
      type: object
      properties:
        messageInfo:
          type: object
          default: Logout Successful
      required:
      - messageInfo
    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
    Job:
      type: object
      properties:
        jobName:
          type: string
        jobNumber:
          type: string
      required:
      - jobName
      - jobNumber
    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
    getSkuUomResponse:
      type: object
      properties:
        skuIdUomList:
          type: array
          items:
            type: string
        skuIdsUomList:
          $ref: '#/components/schemas/SkuIdsUomList'
      required:
      - skuIdUomList
      - skuIdsUomList
    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
    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
    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
    getProductInfoResponse:
      type: object
      properties:
        message:
          type: string
        hoverAttributes:
          $ref: '#/components/schemas/HoverAttributes'
        accounts:
          type: array
          items:
            type: string
      required:
      - message
      - hoverAttributes
      - accounts
    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
    switchAccountBody:
      type: object
      properties:
        accountId:
          type: string
      required:
      - accountId
    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
    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