Beacon Internal Rest Service

An internal-facing Beacon service that is nonetheless listed on the same public Swagger index and whose documentation is served without authentication — user and internal-user administration, EagleView report reconciliation, invoice access and account tooling. Twenty-one operations secured with an internalAuth bearer scheme. Catalogued here because Beacon publishes it publicly, not because it is offered as a partner surface.

Operations 21

POST /auth/realms/master/protocol/openid-connect/token obtain IDP Tokens
POST /orderPricing query order price
POST /quotePricing query quote price
POST /deleteUser delete BPP user from database.
POST /deleteInternalUser delete BCC user from database.
POST /createdCustomerAccount submit customer data to mincron service
POST /createdCustomerJob submit customer data to mincron service
POST /createdCACustomerAccount submit customer data to mincron service
POST /createdCACustomerJob submit customer data to mincron service
GET /invoice List invoiced Data under the account
POST /saveEagleViewOrderBilling Store EV order bill data
POST /validateJournal (Deprecated) submit validation journal service to mincron service
POST /createJournal (Deprecated) create journal data to mincron service
POST /validateCAJournal (Deprecated) submit validation journal service to mincron service
POST /createCAJournal (Deprecated) create journal data to mincron service
POST /operateJournal journal operation to mincron service
POST /createSalesOrderHold create inbound sales order hold data to mincron service
POST /createCASalesOrderHold create inbound sales order hold data to mincron service
POST /eagleview/updateReportsByIds Get reports from eagle view, reportIds is required, the report Id list, separated by comma, e.g. "57049005,57058363"
POST /eagleview/updateReportsByDate Get reports from eagle view, fromDate/toDate is required.
GET /eagleview/OrderStatusUpdate Update order status

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-rest-internal"
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-internal-openapi.yml Raw ↑
servers:
  - url: https://beaconproplus.com/v2/rest/com/becn
    description: >-
      Production. Added by API Evangelist; the harvested document carried no servers[].
      Source: internal service published on the same public Swagger index; base taken from the shared v2 prefix
openapi: 3.0.0
info:
  title: Beacon Rest Services (Use for Internal)
  version: 24PI-4-Sprint-3
  description: |
    This version of APIs do not require the user to login, to be able to access
    services. A bearer token is required to be authorized to access the
    services.

    ### STORE BASE URL:

    [ PROD BASE URL: *https://beaconproplus.com/v4/rest/com/becn* ]
    
    [ UAT  BASE URL: *https://beacon-uat.becn.com/v4/rest/com/becn* ]
    
    [ DEV  BASE URL: *https://beacon-dev.becn.com/v4/rest/com/becn* ]
    
    ### IDP BASE URL:
    
    [ PROD BASE URL: *https://identity.becn.com/auth/realms/master/protocol/openid-connect/token* ]
    
    [ UAT  BASE URL: *https://identity-uat.becn.com/auth/realms/master/protocol/openid-connect/token* ]
    
    [ DEV  BASE URL: *https://identity-dev.becn.com/auth/realms/master/protocol/openid-connect/token* ]
    
    Key

    ## API Uniform Format:
    <details>
      <summary>Show...</summary>
      ### Success Response:
      ```
      {
          "success":true,
          "messages":null,
          "result": <the response example value of each API>
      }
      ```
      ### 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":null,
          "result":{
              "name":"bar",
              "age":123
          }
      }
      ```
      ### Validation Failed Response:
      ```
      {
          "success":false,
          "messages":[{
            "type": "error",
            "value": "validation exception message"
          },...],
          "result": null
      }
      ```
    </details>
    
    ## Keycloak Authentication Process
    <details>
      <summary>Show...</summary>
      ### Token endpoint
      ```
      /auth/realms/master/protocol/openid-connect/token
      ```
      The token endpoint is used to obtain tokens. Tokens can either be obtained by exchanging an authorization code or by supplying credentials directly depending on what flow is used. The token endpoint is also used to obtain new access tokens when they expire.
      ### Resource Owner Password Credentials
      Resource Owner Password Credentials, referred to as Direct Grant in {project_name}, allows exchanging user credentials for tokens.
    
      For a client to be permitted to use the Resource Owner Password Credentials grant the client has to have the Direct Access Grants Enabled option enabled.
    
      This flow is not included in OpenID Connect, but is a part of the OAuth 2.0 specification.
      ### Example for obtaining access token & refresh token using CURL
      The following example shows how to obtain an access token for a user in the realm master with username user and password password. The example is using the confidential client client_id:
      ```
      curl \
        -d "client_id=client_id" \
        -d "client_secret=client_secret" \
        -d "username=user" \
        -d "password=password" \
        -d "grant_type=password" \
        "http://{IDP_domain}/auth/realms/master/protocol/openid-connect/token"
      ```
      ### Example for obtaining access token with client credentials using CURL
      The following example shows how to obtain an access token with client credentials. The example is using the confidential client client_id:
      ```
      curl \
        -d "client_id=client_id" \
        -d "client_secret=client_secret" \
        -d "grant_type=client_credentials" \
        "http://{IDP_domain}/auth/realms/master/protocol/openid-connect/token"
      ```
      ### Example for refreshing an access token using CURL
      The following example shows how to refresh an access token with refresh token. The example is using the confidential client client_id:
      ```
      curl \
        -d "client_id=client_id" \
        -d "client_secret=client_secret" \
        -d "grant_type=refresh_token" \
        -d "refresh_token=refresh_token" \
        "http://{IDP_domain}/auth/realms/master/protocol/openid-connect/token"
      ```
    </details>
components:
  schemas:
    priceRequest:
      type: object
      required:
        - account
        - brnNumber
        - item
      properties:
        account:
          type: string
        jobNumber:
          type: string
        branchNumber:
          type: string
        item:
          type: array
          items:
            $ref: '#/components/schemas/pricingItem'
    quotePriceRequest:
      type: object
      required:
        - account
        - brnNumber
        - item
      properties:
        account:
          type: string
        jobNumber:
          type: string
        branchNumber:
          type: string
        bidNumber:
          type: string
        item:
          type: array
          items:
            $ref: '#/components/schemas/pricingItem'
    pricingItem:
      type: object
      required:
        - itemNumber
      properties:
        itemNumber:
          type: string
        quantity:
          type: number
          format: long
          description: Default value is 1
        unitOfMeasure:
          type: string
    itemPrice:
      type: object
      properties:
        requestUnitOfMeasure:
          type: string
        requestQuantity:
          type: number
          format: long
        requestExtendedPrice:
          type: number
          format: double
        itemNumber:
          type: string
        productNumber:
          type: string
        orderUnitOfMeasure:
          type: string
        requestNetPrice:
          type: number
          format: double
        orderNetPrice:
          type: number
          format: double
        orderQuantity:
          type: number
          format: long
        orderExtendedPrice:
          type: number
          format: double
        itemDescription:
          type: string
        error:
          type: string
        warning:
          type: string
    IDPTokenResp:
      type: object
      properties:
        access_token:
          type: string
        expires_in:
          type: number
        refresh_expires_in:
          type: number
        refresh_token:
          type: string
        token_type:
          type: string
        not-before-policy:
          type: number
        session_state:
          type: string
        scope:
          type: string
    createCustomerResp:
      type: object
      properties:
        result:
          type: object
          properties:
            Response:
              type: object
              properties:
                Result:
                  type: string
                Message:
                  type: string
        success:
          example: true
        code:
          type: number
    journalResp:
      type: object
      properties:
        result:
          type: object
          properties:
            rcode:
              type: string
            rtext:
              type: string
            scmd:
              type: array
              items:
                type: object
                properties:
                  mtype:
                    type: string
                  mtext:
                    type: string
                  mclas:
                    type: string
                  mnumb:
                    type: string
        success:
          example: true
        messages:
          type: string
    createSalesOrderResp:
      type: object
      properties:
        result:
          type: object
          properties:
            Response:
              type: object
              properties:
                Result:
                  type: string
                Message:
                  type: string
        success:
          example: true
        code:
          type: number
    itemPricingResp:
      type: object
      properties:
        bizItemPrices:
          type: array
          items:
            $ref: '#/components/schemas/itemPrice'
    deleteUserReq:
      type: object
      properties:
        login:
          type: string
        email:
          type: string
    deleteInternalUserReq:
      type: object
      properties:
        login:
          type: string
    createCustomerJobReq:
      type: object
      properties:
        inbound-customer-job-data:
          type: object
          properties:
            customer:
              type: array
              items:
                type: object
                properties:
                  transaction-id:
                    type: string
                  business-group-info:
                    type: object
                    properties:
                      group-name:
                        type: string
                      internal-group-code:
                        type: string
                      bectran-reference-Id:
                        type: string
                  job-info:
                    type: object
                    properties:
                      job-amount:
                        type: integer
                        format: int32
                      job-name:
                        type: string
                      project-type-code:
                        type: string
                      project-type-desc:
                        type: string
                      contract-term-code:
                        type: string
                      contract-term-desc:
                        type: string
                      estimated-start-date:
                        type: string
                        format: date
                      estimated-end-date:
                        type: string
                        format: date
                      job-status:
                        type: string
                      bonding-flag:
                        type: string
                      financing-flag:
                        type: string
                      customer-role:
                        type: string
                  job-location:
                    type: object
                    properties:
                      address-line1:
                        type: string
                      city:
                        type: string
                      state-code:
                        type: string
                      zip-code:
                        type: string
                      country-code:
                        type: string
                  customer-basic-info:
                    type: object
                    properties:
                      client-account-id:
                        type: string
                      name:
                        type: string
                      address-line-1:
                        type: string
                      address-line-2:
                        type: string
                      city:
                        type: string
                      state-code:
                        type: string
                      country-code:
                        type: string
                      zip-code:
                        type: string
                      annual-sales-range:
                        type: string
                      bectran-customer-id:
                        type: string
                      contact-person-first-name:
                        type: string
                      contact-person-last-name:
                        type: string
                      contact-person-phone:
                        type: string
                      contact-person-title:
                        type: string
                      customer-dba-name:
                        type: string
                      customer-legal-name:
                        type: string
                      date-created-in-bectran:
                        type: string
                        format: date
                      num-of-employee:
                        type: string
                      state-of-incorporation:
                        type: string
                      style-of-business:
                        type: string
                      type-of-business:
                        type: string
                      year-established:
                        type: string
                      contact-person-email:
                        type: string
                  sales-person-info:
                    type: object
                    properties:
                      first-name:
                        type: string
                      last-name:
                        type: string
                      internal-code:
                        type: string
                  operations-unit-info:
                    type: object
                    properties:
                      opsUnitName:
                        type: string
                      opsUnitCode:
                        type: string
                  apay-info:
                    type: object
                    properties:
                      entry:
                        type: array
                        items:
                          type: object
                          properties:
                            first-name:
                              type: string
                            last-name:
                              type: string
                            phone:
                              type: string
                            email:
                              type: string
                  page-2-info:
                    type: object
                    properties:
                      entry:
                        type: array
                        items:
                          type: object
                          properties:
                            category-code:
                              type: string
                            category:
                              type: string
                            name:
                              type: string
                            value:
                              type: string
                            valueCode:
                              type: string
                  customer-profile-detail:
                    type: object
                    properties:
                      annual-sales:
                        type: object
                        properties:
                          bectran-internal-code:
                            type: string
                          description:
                            type: string
                      num-of-employee:
                        type: object
                        properties:
                          bectran-internal-code:
                            type: string
                          description:
                            type: string
                      style-of-business:
                        type: object
                        properties:
                          bectran-internal-code:
                            type: string
                          description:
                            type: string
                      type-of-business:
                        type: object
                        properties:
                          bectran-internal-code:
                            type: string
                          description:
                            type: string
                  credit-decision-info:
                    type: object
                    properties:
                      amountRequested:
                        type: integer
                        format: int32
                      approvedLimit:
                        type: integer
                        format: int32
                      clientAccountId:
                        type: string
                      creditTerm:
                        type: string
                      creditTermCode:
                        type: string
                      riskRating:
                        type: string
                      riskRatingClass:
                        type: string
                      rawScore:
                        type: integer
                        format: int32
                      creditDecision:
                        type: string
                      decisionDate:
                        type: string
                        format: date
                      groupName:
                        type: string
                      internalGroupCode:
                        type: string
                      bectranReferenceId:
                        type: string
                      nextReviewDate:
                        type: string
                        format: date
                      approving-officers:
                        type: object
                        properties:
                          entry:
                            type: array
                            items:
                              type: object
                              properties:
                                firstName:
                                  type: string
                                lastName:
                                  type: string
                                approvalDate:
                                  type: string
                                  format: date
                                email:
                                  type: string
                                decision:
                                  type: string
                  additional-Info:
                    type: object
                    properties:
                      entry:
                        type: array
                        items:
                          type: object
                          properties:
                            internal-code:
                              type: string
                            description:
                              type: string
                            value:
                              type: string
                            data-type:
                              type: string
    createCustomerReq:
      type: object
      properties:
        inbound-customer-data:
          type: object
          properties:
            xmlns:
              type: string
            customer:
              type: object
              properties:
                account-id:
                  type: string
                transaction-id:
                  type: string
                business-group-info:
                  type: object
                  properties:
                    groupName:
                      type: string
                    internalGroupCode:
                      type: string
                    bectranReferenceId:
                      type: string
                basic-info:
                  type: object
                  properties:
                    addressLineOne:
                      type: string
                    addressLineTwo:
                      type: string
                    annualSalesRange:
                      type: string
                    bectranCustomerId:
                      type: string
                    city:
                      type: string
                    contactPersonFirstName:
                      type: string
                    contactPersonLastName:
                      type: string
                    contactPersonPhone:
                      type: string
                    contactPersonTitle:
                      type: string
                    countryId:
                      type: string
                    customerDbaName:
                      type: string
                    customerLegalName:
                      type: string
                    dateCreatedInBectran:
                      type: string
                      format: date
                    dunsNumber:
                      type: string
                    fax:
                      type: string
                    federalTaxId:
                      type: string
                    numOfEmployee:
                      type: string
                    phone:
                      type: string
                    state:
                      type: string
                    stateOfIncorporation:
                      type: string
                    styleOfBusiness:
                      type: string
                    typeOfBusiness:
                      type: string
                    yearEstablished:
                      type: string
                    zipCode:
                      type: string
                    contactPersonEmail:
                      type: string
                sales-person-info:
                  type: object
                  properties:
                    firstName:
                      type: string
                    lastName:
                      type: string
                    internalCode:
                      type: string
                operations-unit-info:
                  type: object
                  properties:
                    opsUnitName:
                      type: string
                    opsUnitCode:
                      type: string
                credit-request-info:
                  type: object
                  properties:
                    requestId:
                      type: string
                    requestSource:
                      type: string
                    amountRequested:
                      type: integer
                      format: int32
                    termRequestedCode:
                      type: string
                    termRequestedDescription:
                      type: string
                    plannedPurchase:
                      type: string
                    requestDate:
                      type: string
                    requestFormType:
                      type: string
                    purchaseOrderRequired:
                      type: string
                    accountNumExist:
                      type: string
                    clientAccountId:
                      type: string
                    orderPending:
                      type: string
                    orderPendingAmount:
                      type: integer
                      format: int32
                customer-profile-detail:
                  type: object
                  properties:
                    annualSales:
                      type: object
                      properties:
                        bectranInternalCode:
                          type: string
                        clientInternalCode:
                          type: string
                        description:
                          type: string
                    numOfEmployee:
                      type: object
                      properties:
                        bectranInternalCode:
                          type: string
                        clientInternalCode:
                          type: string
                        description:
                          type: string
                    styleOfBusiness:
                      type: object
                      properties:
                        bectranInternalCode:
                          type: string
                        clientInternalCode:
                          type: string
                        description:
                          type: string
                    typeOfBusiness:
                      type: object
                      properties:
                        bectranInternalCode:
                          type: string
                        clientInternalCode:
                          type: string
                        description:
                          type: string
                credit-decision-info:
                  type: object
                  properties:
                    amountRequested:
                      type: integer
                      format: int32
                    approvedLimit:
                      type: integer
                      format: int32
                    clientAccountId:
                      type: string
                    creditTerm:
                      type: string
                    creditTermCode:
                      type: string
                    riskRating:
                      type: string
                    riskRatingClass:
                      type: string
                    rawScore:
                      type: number
                    transactionId:
                      type: string
                    creditDecision:
                      type: string
                    decisionDate:
                      type: string
                    groupName:
                      type: string
                    internalGroupCode:
                      type: string
                    bectranReferenceId:
                      type: string
                    nextReviewDate:
                      type: string
                    approving-officers:
                      type: object
                      properties:
                        entry:
                          type: array
                          items:
                            type: object
                            properties:
                              firstName:
                                type: string
                              lastName:
                                type: string
                              approvalDate:
                                type: string
                              approvalComment:
                                type: string
                              email:
                                type: string
                              decision:
                                type: string
    journalValidateReq:
      type: object
      properties:
        header:
          type: object
          properties:
            JRNBLID:
              type: string
            JRNTRANSACTIONCURRENCY:
              type: string
            JRNINSTANCE:
              type: string
            JRNJOURNALTYPE:
              type: string
            JRNPURPOSE:
              type: string
            JRNREVERSALDATE:
              type: string
            PREPARERID:
              type: string
            JRNACCOUNTINGPERIOD:
              type: string
              format: date
            JOURNALURL:
              type: string
            JRNJOURNALREFERENCECODE:
              type: string
            JOURNAL_HEADER:
              type: string
        item:
          type: array
          items:
            type: object
            properties:
              JRNLLINENUMBER:
                type: string
              JRNLCOMPANY:
                type: string
              JRNLBRANCH:
                type: string
              JRNLDEPARTMENT:
                type: string
              JRNLMAINACCOUNT:
                type: string
              JRNLSUBACCOUNT:
                type: string
              JRNLAMOUNT:
                type: string
              JRNLTRANSACTIONCURRENCY:
                type: string
              JRNLTRANSACTIONDESCRIPTION:
                type: string
              JRNLVENDOR:
                type: string
    journalCreateReq:
      type: object
      properties:
        header:
          type: object
          properties:
            JRNBLID:
              type: string
            JRNTRANSACTIONCURRENCY:
              type: string
            JRNINSTANCE:
              type: string
            JRNJOURNALTYPE:
              type: string
            JRNPURPOSE:
              type: string
            JRNREVERSALDATE:
              type: string
              format: date
            PREPARERID:
              type: string
            JRNACCOUNTINGPERIOD:
              type: string
              format: date
            JOURNALURL:
              type: string
            JRNJOURNALREFERENCECODE:
              type: string
        item:
          type: array
          items:
            type: object
            properties:
              JRNLLINENUMBER:
                type: string
              JRNLCOMPANY:
                type: string
              JRNLBRANCH:
                type: string
              JRNLDEPARTMENT:
                type: string
              JRNLMAINACCOUNT:
                type: string
              JRNLSUBACCOUNT:
                type: string
              JRNLAMOUNT:
                type: string
              JRNLTRANSACTIONCURRENCY:
                type: string
              JRNLTRANSACTIONDESCRIPTION:
                type: string
    journalReq:
      type: object
      properties:
        header:
          type: object
          properties:
            JRNBLID:
              type: string
            JRNTRANSACTIONCURRENCY:
              type: string
            JRNINSTANCE:
              type: string
            JRNJOURNALTYPE:
              type: string
            JRNPURPOSE:
              type: string
            JRNREVERSALDATE:
              type: string
            PREPARERID:
              type: string
            JRNACCOUNTINGPERIOD:
              type: string
              format: date
            JOURNALURL:
              type: string
            JRNJOURNALREFERENCECODE:
              type: string
            JOURNAL_HEADER:
              type: string
            JESOURCECODE:
              type: string
        item:
          type: array
          items:
            type: object
            properties:
              JRNLLINENUMBER:
                type: string
              JRNLCOMPANY:
                type: string
              JRNLBRANCH:
                type: string
              JRNLDEPARTMENT:
                type: string
              JRNLMAINACCOUNT:
                type: string
              JRNLSUBACCOUNT:
                type: string
              JRNLAMOUNT:
                type: string
              JRNLTRANSACTIONCURRENCY:
                type: string
              JRNLTRANSACTIONDESCRIPTION:
                type: string
    createSalesOrderHoldReq:
      type: object
      properties:
        salesOrderHold-data:
          $ref: '#/components/schemas/salesOrderHoldData'
    salesOrderHoldData:
      type: object
      properties:
        salesOrderHold:
          type: array
          items:
            $ref: '#/components/schemas/salesOrderHold'
    salesOrderHold:
      type: object
      properties:
        opco-code:
          type: string
        account-id:
          type: string
        order-number:
          type: string
        hold-status:
          type: string
        hold-code:
          type: string
        hold-date:
          type: string
        hold-amount:
          type: string
        hold-source:
          type: string
        release-status:
          type: string
        release-code:
          type: string
        release-date:
          type: string
          format: date
        release-comments:
          type: string
        release-source:
          type: string
        released-by:
          type: string
    orderInvoiceRep:
      type: object
      properties:
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/orderInvoice'
        pagination:
          $ref: '#/components/schemas/BCPaginationDataObj'
    orderInvoice:
      type: object
      properties:
        apiSiteId:
          type: string
        accountId:
          type: string
        accountName:
          type: string
        orderNumber:
          type: string
        orderPlacedDate:
          type: string
          format: date
        invoiceDate:
          type: string
          format: date
        jobName:
          type: string
        jobNumber:
          type: string
        purchaseOrderNumber:
          type: string
        sales:
          type: number
          format: double
        otherCharges:
          type: number
          format: double
        salesPlusOtherCharges:
          type: number
          format: double
    BCPaginationDataObj:
      type: object
      properties:
        next:
          $ref: '#/componen

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/beacon-roofing-supply/refs/heads/main/openapi/beacon-roofing-supply-internal-openapi.yml