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:beacon-roofing-supply-getorderapprovallist-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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 Get Order Approval List 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: 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. apiSiteId in Request Parameter/URL/Query String e.g. example.com/?apiSiteId=XYZ... example.com/?...&apiSiteId=XYZ... 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", } ... }
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...'
version: '1.0'
contact: {}
servers: []
tags:
- name: GetOrderApprovalList
paths:
/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
Pending Order: displayName, accountNumber, createdUser, submittedDate
Saved Order: displayName, accountNumber, lastModifiedDate, status, creationDate, submittedDate
2. status value
Pending Order: READY_FOR_APPROVAL
Saved Order: READY_FOR_SUBMISSION
Rejected Order: REJECTED_ORDER
3. searchBy value
Pending Order: displayName, accountNumber, createdUser.email, submittedDate
Saved: Order: displayName, accountNumber, creationDate, createdUser.name, createdUser.email,
lastModifiedDate, lastModifiedUser.name, lastModifiedUser.email, submittedDate, submittedUser.name, submittedUser.email
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<br><br>refer to the <i>API Uniform Format</i> 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:
- GetOrderApprovalList
components:
schemas:
getOrderApprovalListResponse:
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
orders:
type: array
items:
$ref: '#/components/schemas/Order'
required:
- pagination
- orders
Next:
type: object
properties:
available:
type: boolean
label:
type: string
page:
type: number
required:
- available
- label
- page
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
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
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
Shipping:
type: object
properties:
shippingBranch:
type: number
address:
$ref: '#/components/schemas/Address'
shippingMethod:
type: string
required:
- shippingBranch
- address
- shippingMethod
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
Job:
type: object
properties:
jobName:
type: string
jobNumber:
type: string
required:
- jobName
- jobNumber
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