Beacon Roofing Supply · OAuth Scopes

Beacon Roofing Supply OAuth Scopes

OAuth 2.0 searched

Beacon Roofing Supply uses OAuth 2.0 but publishes no discrete scopes — access is governed by the grant itself (e.g. client-credentials or role-based authorization) rather than per-scope consent.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

ConstructionDistributionRoofingBuilding MaterialsE-CommerceFortune 1000Supply ChainOrderCatalogDelivery
Scopes: 0 Flows: Method: searched

Scopes (0)

Beacon Roofing Supply implements OAuth 2.0 but publishes no discrete scopes — access is governed by the grant itself (client-credentials or role-based authorization) rather than per-scope consent.

Source

OAuth Scopes

Raw ↑
generated: '2026-09-04'
method: searched
source: >-
  https://beaconproplus.com/swagger/oauth2/ and its backing document
  openapi/beacon-roofing-supply-oauth2-openapi.yml (components.schemas.tokenReqObj.scopes and
  tokenResp.scope)
specification: API Commons OAuth Scopes
specificationVersion: '0.1'
provider: Beacon Roofing Supply
providerId: beacon-roofing-supply
docs: https://beaconproplus.com/swagger/oauth2/
description: >-
  Beacon's OAuth surface carries a `scopes` field, but it is NOT a permission scope in the RFC 6749
  sense. It is a refresh-behaviour selector on the token endpoint: it tells the server which of the
  two tokens to re-mint. No document in the Beacon Rest Services set declares an oauth2
  securityScheme with a `scopes` map, and no operation is gated on a named scope. Authorization is
  carried instead by the profile/permission-template model inside the API (see permission_model).
scope_semantics: refresh-selector
scope_count: 3
scopes:
  - name: '(empty)'
    description: 'Only refresh access_token. The refresh_token is left as-is.'
    source: components.schemas.tokenReqObj.scopes description
  - name: all
    description: 'Refresh access_token AND refresh_token.'
    source: components.schemas.tokenReqObj.scopes description
  - name: refresh_token
    description: >-
      Also refresh access_token and refresh_token. Multiple values are separated by whitespace, per
      the field description.
    source: components.schemas.tokenReqObj.scopes description
token_endpoint:
  method: POST
  url: https://beaconproplus.com/rest/model/REST/oauth/token
  templated_server: 'https://{server}/rest/model/REST/oauth/ where server ∈ {beacon-uat.becn.com, beaconproplus.com}'
  grant_type: refresh_token
  request_fields: [grant_type, refresh_token, client_id, scopes]
  response_fields: [access_token, token_type, expires_in, refresh_expires_in, refresh_token, scope, success, messages]
  client_secret_required: false
  note: >-
    The published request takes client_id with no client_secret. The initial grant that issues the
    first refresh_token is not published anywhere — it is arranged through partner onboarding at
    https://go.qxo.com/qxoapi.
permission_model:
  style: profile + permission template (server-side, not scope-based)
  operations:
    - GET /getCurrentUserPermission
    - GET /permissionTemplateList
    - GET /getPermissionTemplateDetail
    - POST /createPermissionTemplate
    - POST /updatePermissionTemplate
    - POST /deletePermissionTemplate
  roles_referenced: [master admin user, admin user]
  evidence: >-
    102 operations declare a 403 whose description is "Forbidden, user do not has permission to
    access this API"; eleven of those narrow it to "only master admin user or admin user". Message
    code 2006 is "Current profile is permission denied".
  agent_note: >-
    An agent cannot determine from the contract which operations its token may call. There is no
    scope string to inspect and no capability discovery endpoint — the only way to learn the
    permission surface is to call GET /getCurrentUserPermission at runtime, or to fail with 403.
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com

Work with this as data

Every scope set 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 oauth scopes

4 MCP tools reach this
  • find_scopesBrowse and filter every scope set in the catalog.
  • 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 scope set
curl "https://apis.io/api/v1/scopes/beacon-roofing-supply-scopes"
All oauth scopes
curl "https://apis.io/api/v1/scopes?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.