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-perfect-order-services-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: 3.2.0
info:
title: Beacon Rest Services Ver 2 (OAuth) Perfect Order Services…
version: 24PI-4-Sprint-3
description: This version uses OAuth authorization method to access API services.
servers:
- url: https://beaconproplus.com/v2/rest/com/becn
description: 'Production. Added by API Evangelist; the harvested document carried no servers[]. Source: info.description of this spec: ''[ PROD BASE URL: https://beaconproplus.com/v2/rest/com/becn ]'''
tags:
- name: Perfect Order Services
paths:
/getPerfectOrderDetail:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
tags:
- Perfect Order Services
summary: Get perfect order details
description: This service returns perfect order details based on perfect order Id.
parameters:
- in: query
name: account
required: true
description: The account Id
schema:
type: string
- in: query
name: perfectOrderId
required: true
description: The main product id for product template or product style id for product style
schema:
type: string
- in: query
name: brandName
required: true
description: 'The brand name
support multiple brands,separated by "||" (should be url encoded: "%7C%7C")
example:
brandName=xxx%7C%7Cyyy
'
schema:
type: string
- in: query
name: jobNumber
description: The job number, default is empty
schema:
type: string
- in: query
name: showPricing
description: Default is false, if "true", display pricing of each item
schema:
type: string
responses:
'200':
description: 'successful operation
If failed, return messageCode, refer to *API Response Message Code*.
Example
{ "messageCode": "1001", "messages": [{"type":"error", "value":
"Validation exception", "code":"1001"}], "success":false }
'
content:
application/json:
schema:
$ref: '#/components/schemas/getPerfectOrderDetailRep'
'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.
'419':
description: Unauthorized, the authorization bearer token is expired
'500':
description: Internal exception
operationId: getGetPerfectOrderDetail
x-operation-id-source: derived
/getPerfectOrderBrands:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
tags:
- Perfect Order Services
summary: Get perfect order brands
description: This service returns perfect order all available brands
responses:
'200':
description: 'successful operation
If failed, return messageCode, refer to *API Response Message Code*.
Example
{ "messageCode": "1001", "messages": [{"type":"error", "value":
"Validation exception", "code":"1001"}], "success":false }
'
content:
application/json:
schema:
$ref: '#/components/schemas/getPerfectOrderBrandsRep'
'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.
'419':
description: Unauthorized, the authorization bearer token is expired
'500':
description: Internal exception
operationId: getGetPerfectOrderBrands
x-operation-id-source: derived
/getPerfectOrderLanding:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
tags:
- Perfect Order Services
summary: Get product templates to render product template landing page
description: This service returns products for perfect order landing page.
parameters:
- in: query
name: brandName
required: true
description: The brand name
schema:
type: string
- in: query
name: pageNo
required: true
description: page index, default is 1
schema:
type: integer
- in: query
name: pageSize
required: true
description: The numbers of product can be returned for one page, default is 3
schema:
type: integer
responses:
'200':
description: 'successful operation
If failed, return messageCode, refer to *API Response Message Code*.
Example
{"result":{"pagination":{"next":{"available":false,"label":"Next","page":-1},"previous":{"available":true,"label":"Previous","page":3},"pageSize":4,"currentPage":4,"totalCount":14,"results":[{"enable":true,"page":1,"currentPage":false,"type":"page"},{"enable":true,"page":2,"currentPage":false,"type":"page"},{"enable":true,"page":3,"currentPage":false,"type":"page"},{"enable":true,"page":4,"currentPage":true,"type":"page"}]},"items":[{"imgUrl":"/images/large/C-487445_default_small.jpg","landingRank":null,"displayName":"GAF Timberline® Cool Series® Shingles","id":"C-487445"},{"imgUrl":"/images/large/C-499398_default_small.jpg","landingRank":null,"displayName":"GAF Timberline® HD® Reflector Series™ Shingles","id":"C-499398"}]},"success":true,"messages":null}
'
content:
application/json:
schema:
$ref: '#/components/schemas/getPerfectOrderLandingRep'
'401':
description: Unauthorized, the authorization bearer token is invalid
'403':
description: Forbidden, user do not has permission to access this API
'405':
description: Method not allowed, the request method is not valid for this API or this API is not available.
'419':
description: Unauthorized, the authorization bearer token is expired
'500':
description: Internal exception
operationId: getGetPerfectOrderLanding
x-operation-id-source: derived
/getPerfectStyleGroups:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
tags:
- Perfect Order Services
summary: Get product styles to render product style landing page
description: This service returns product styles based on brand.
parameters:
- in: query
name: brand
required: true
description: The product brand name
schema:
type: string
responses:
'200':
description: 'successful operation
If failed, return messageCode, refer to *API Response Message Code*.
Example
{ "messageCode": "1001", "messages": [{"type":"error", "value":
"Validation exception", "code":"1001"}], "success":false }
'
content:
application/json:
schema:
$ref: '#/components/schemas/getPerfectStyleGroupsRep'
'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.
'419':
description: Unauthorized, the authorization bearer token is expired
'500':
description: Internal exception
operationId: getGetPerfectStyleGroups
x-operation-id-source: derived
components:
schemas:
BCPaginationDataObj:
type: object
properties:
next:
$ref: '#/components/schemas/BCOtherPaginationObj'
previous:
$ref: '#/components/schemas/BCOtherPaginationObj'
pageSize:
type: integer
currentPage:
type: integer
totalCount:
type: integer
results:
type: array
items:
$ref: '#/components/schemas/BCPaginationObj'
getPerfectOrderBrandsRep:
type: object
properties:
messages:
type: string
success:
type: boolean
result:
type: object
properties:
brands:
type: array
items:
type: object
properties:
brandName:
type: string
smallImageUrl:
type: string
heroImageUrl:
type: string
thumbImageUrl:
type: string
zoomImageUrl:
type: string
getPerfectOrderDetailRep:
type: object
properties:
messages:
type: string
perfectOrders:
type: array
items:
type: object
properties:
displayName:
type: string
items:
type: array
items:
type: object
properties:
unitPrice:
type: number
format: double
itemNumber:
type: string
unitOfMeasure:
type: string
productImageUrl:
type: string
productOnErrorImageUrl:
type: string
productOrItemNumber:
type: string
itemOrProductDescription:
type: string
internalProductName:
type: string
quantity:
type: string
variations:
$ref: '#/components/schemas/variationsObj'
skusVariation:
$ref: '#/components/schemas/skusVariationObj'
BCPaginationObj:
type: object
properties:
enable:
type: boolean
page:
type: integer
currentPage:
type: boolean
type:
type: string
getPerfectStyleGroupsRep:
type: object
properties:
result:
type: array
items:
type: object
properties:
brandName:
type: string
styleId:
type: string
productStyleImage:
type: string
productStyleName:
type: string
rank:
type: string
getPerfectOrderLandingRep:
type: object
properties:
messages:
type: string
success:
type: boolean
result:
type: object
properties:
pagination:
$ref: '#/components/schemas/BCPaginationDataObj'
items:
type: array
items:
type: object
properties:
landingRank:
type: number
displayName:
type: string
imgUrl:
type: string
imgOnErrorUrl:
type: string
id:
type: string
variationsObj:
type: object
additionalProperties:
type: object
example:
color:
White:
- '100001'
- '200002'
Dover:
- '100001'
- '300003'
size:
12x10:
- '100001'
4x4:
- '200002'
- '300003'
thickness:
2mm:
- '100001'
4mm:
- '200002'
6mm:
- '300003'
skusVariationObj:
type: object
additionalProperties:
type: object
example:
'600001':
color:
- White
- Dover
size:
- 12x10
thickness:
- 2mm
'600002':
color:
- White
size:
- 4x4
thickness:
- 4mm
'300003':
color:
- Dover
size:
- 4x4
thickness:
- 6mm
BCOtherPaginationObj:
type: object
properties:
available:
type: boolean
label:
type: string
page:
type: integer
securitySchemes:
JSESSIONID:
type: apiKey
in: cookie
name: JSESSIONID
DYN_USER_ID:
type: apiKey
in: cookie
name: DYN_USER_ID
DYN_USER_CONFIRM:
type: apiKey
in: cookie
name: DYN_USER_CONFIRM
siteId:
type: apiKey
in: cookie
name: siteId
rememberPassword:
type: apiKey
in: cookie
name: siteId