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/bevz-stores-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 email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bevz Integrator Service Stores API
contact:
name: API Support
email: tech@bevz.com
description: '# Introduction
Welcome to the Bevz Integrator Service API documentation.
The Bevz Integrator Service empowers our partners—including integrators and third-party POS providers—to seamlessly manage stores and related operations through a secure, scalable, and high-performance REST API platform.
## Who is this documentation for?
This documentation is designed for integrators and third-party POS systems looking to leverage the Bevz SaaS platform to automate and streamline store management, menu operations, and more.
## Key Features
By integrating with the Bevz platform, you gain access to:
- **Rapid Store Onboarding:** Effortlessly provision and deprovision stores using our dedicated APIs.
- **Menu Management:** Upload, update, and synchronize store menus programmatically.
- **User & Access Management:** Manage integrator admin users and developer access for your organization.
- **Order Processing:** Receive and process orders in real time via webhooks and API endpoints.
- **Reporting & Analytics:** (Coming Soon) Access comprehensive reporting tools to monitor and optimize your operations.
Explore the following sections to get started, review API endpoints, and discover best practices for a successful integration with Bevz.
'
version: 1.12.0
servers:
- url: https://api.bevz.com/integrator-service
description: Production server
- url: https://sandbox-api.bevz.com/integrator-service
description: Sandbox server
tags:
- name: Stores
paths:
/integrators/{integrator_id}/stores:
get:
tags:
- Stores
operationId: getStores
summary: Retrieve All Provisioned Stores
description: 'Fetch a list of all stores that have been provisioned under your integrator account.
Use this endpoint to view all stores managed by your organization, including their identifiers, contact information, operational status, and integration details.
For details on the store object schema, see [Store](#tag/models/Store).
'
parameters:
- name: integrator_id
in: path
required: true
schema:
type: integer
format: int64
description: Unique identifier for the integrator.
- name: Authorization
in: header
description: JWT token for authenticating API requests.
example: Bearer yourJWTtoken
required: true
schema:
type: string
responses:
'200':
description: Retrieved all provisioned stores
content:
application/json:
schema:
type: array
items:
type: object
description: "Represents a retail store managed on the Bevz platform. \nThis object contains all essential information about the store, including its identity, contact details, operational hours, delivery service settings, and more.\nUse this schema to view, create, or update store records via the API.\n"
properties:
storeId:
type: string
description: Unique identifier for the store.
example: a744c900-fe43-4ec8-9ae1-f096c9f50240
address:
type: object
description: Physical address where the store is located.
properties:
city:
type: string
description: City where the store operates.
example: Santa Monica
latitude:
type: number
description: Latitude coordinate of the store location (positive or negative float).
example: 42.3456778143501
longtitude:
type: number
description: Longitude coordinate of the store location (positive or negative float).
example: -71.09837363184101
state:
type: string
description: State or province abbreviation.
example: CA
street1:
type: string
description: Primary street address of the store.
example: 123123 10th St
zip:
type: string
description: Postal or ZIP code.
example: '90401'
email:
type: string
description: Contact email address for the store.
example: developer@bevz.com
enabled:
type: boolean
description: Indicates whether the store is active and can operate in the app.
example: true
hours:
type: array
description: List of store operating hours for each day of the week.
items:
type: object
properties:
type:
type: string
example: DAILY_HOURS
days:
type: array
description: '* 1 Sunday
* 2 Monday
* 3 Tuesday
* 4 Wednesday
* 5 Thursday
* 6 Friday
* 7 Saturday
'
example:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
openTime:
type: string
format: hh:mm A
example: 12:00 AM
closeTime:
type: string
format: hh:mm A
example: 4:00 PM
name:
type: string
description: Display name of the store.
example: Bevz Test Store
phone:
type: string
description: Primary contact phone number for the store.
example: 639123456789
phones:
type: array
description: List of additional contacts associated with the store, each with their phone number.
items:
type: object
properties:
name:
type: string
example: John Doe
number:
type: string
example: 639123456789
taxRate:
type: string
description: Sales tax rate (%) applied to purchases at this store.
example: '9.50'
updatedAt:
type: number
description: Epoch timestamp (in milliseconds) of the last update to the store record.
example: 1677773721909
deliverySettings:
type: object
description: 'Configuration settings for each supported delivery service (e.g., DoorDash, Grubhub, Uber Eats).
Includes authorization status, commission rates, menu sync status, and other integration-specific options.
'
properties:
doordash:
type: object
description: DoorDash delivery service integration settings.
properties:
storeId:
type: string
description: DoorDash store identifier.
example: a744c900-fe43-4ec8-9ae1-f096c9f50240
authorized:
type: boolean
description: Whether the store is authorized with DoorDash.
example: true
enabled:
type: boolean
description: Whether DoorDash integration is enabled for this store.
example: true
roundPrice:
type: boolean
description: Whether prices should be rounded for DoorDash orders.
example: true
percentToCharge:
type: number
description: Commission percentage charged for DoorDash orders.
example: 17
revSharePercentage:
type: number
description: Revenue share percentage for DoorDash.
example: 1.5
reason:
type: string
description: Reason for any status or configuration changes.
example: ''
note:
type: string
description: Additional notes regarding DoorDash integration.
example: ''
menuSync:
type: object
description: Current menu synchronization status with DoorDash.
properties:
menuSynching:
type: boolean
description: Indicates if a menu sync is currently in progress.
example: false
syncStart:
type: number
description: Epoch timestamp when menu sync started.
example: 0
syncEnd:
type: number
description: Epoch timestamp when menu sync ended.
example: 0
status:
type: string
description: Result status of the last menu sync (e.g., SUCCESS, FAILURE, IN_PROGRESS).
example: SUCCESS
menuId:
type: string
description: DoorDash menu identifier.
example: ''
grubhub:
type: object
description: Grubhub delivery service integration settings.
properties:
storeId:
type: string
description: Grubhub store identifier.
example: a744c900-fe43-4ec8-9ae1-f096c9f50240
authorized:
type: boolean
description: Whether the store is authorized with Grubhub.
example: true
enabled:
type: boolean
description: Whether Grubhub integration is enabled for this store.
example: true
roundPrice:
type: boolean
description: Whether prices should be rounded for Grubhub orders.
example: true
percentToCharge:
type: number
description: Commission percentage charged for Grubhub orders.
example: 17
revSharePercentage:
type: number
description: Revenue share percentage for Grubhub.
example: 1.5
reason:
type: string
description: Reason for any status or configuration changes.
example: ''
note:
type: string
description: Additional notes regarding Grubhub integration.
example: ''
menuSync:
type: object
description: Current menu synchronization status with Grubhub.
properties:
menuSynching:
type: boolean
description: Indicates if a menu sync is currently in progress.
example: false
syncStart:
type: number
description: Epoch timestamp when menu sync started.
example: 0
syncEnd:
type: number
description: Epoch timestamp when menu sync ended.
example: 0
status:
type: string
description: Result status of the last menu sync (e.g., SUCCESS, FAILED).
example: SUCCESS
menuId:
type: string
description: Grubhub menu identifier.
example: ''
uberEats:
type: object
description: Uber Eats delivery service integration settings.
properties:
storeId:
type: string
description: Uber Eats store identifier.
example: a744c900-fe43-4ec8-9ae1-f096c9f50240
authorized:
type: boolean
description: Whether the store is authorized with Uber Eats.
example: true
enabled:
type: boolean
description: Whether Uber Eats integration is enabled for this store.
example: true
roundPrice:
type: boolean
description: Whether prices should be rounded for Uber Eats orders.
example: true
percentToCharge:
type: number
description: Commission percentage charged for Uber Eats orders.
example: 17
revSharePercentage:
type: number
description: Revenue share percentage for Uber Eats.
example: 1.5
reason:
type: string
description: Reason for any status or configuration changes.
example: ''
note:
type: string
description: Additional notes regarding Uber Eats integration.
example: ''
menuSync:
type: object
description: Current menu synchronization status with Uber Eats.
properties:
menuSynching:
type: boolean
description: Indicates if a menu sync is currently in progress.
example: false
syncStart:
type: number
description: Epoch timestamp when menu sync started.
example: 0
syncEnd:
type: number
description: Epoch timestamp when menu sync ended.
example: 0
status:
type: string
description: Result status of the last menu sync (e.g., SUCCESS, FAILED).
example: SUCCESS
menuId:
type: string
description: Uber Eats menu identifier.
example: ''
'400':
description: Bad request! Please check your input.
content:
application/json:
schema:
type: object
properties:
message:
type: string
errors:
type: array
examples:
Integrator unauthorized to perform this action!:
value:
message: Bad request! Please check your input.
errors:
- Integrator unauthorized to perform this action!
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
errors:
type: array
examples:
Integrator unauthorized to perform this action!:
value:
message: Unauthorized request! Please check your permission.
errors:
- Integrator unauthorized to perform this action!
'403':
description: Forbidden
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: User is not authorized to access this resource with an explicit deny
post:
tags:
- Stores
operationId: createStore
summary: Create a New Store
description: "Register a new store under your integrator account.\n\nUse this endpoint to create a store by providing essential details such as name, address, contact information, and operational settings. \nAfter creation, the store will be available for menu uploads, order processing, and delivery service onboarding.\n\n#### Example Usage\n\n- Onboard a new retail location to the Bevz platform.\n- Register a store for menu management and delivery service integration.\n"
parameters:
- name: integrator_id
in: path
required: true
schema:
type: integer
description: Unique identifier for the integrator.
- name: Authorization
in: header
description: JWT token for authenticating API requests.
example: Bearer yourJWTtoken
required: true
schema:
type: string
requestBody:
description: 'JSON payload containing the details of the store to be created.
'
content:
application/json:
schema:
type: object
properties:
account:
type: object
description: 'Contains the account credentials for the store owner.
This information is used to create a user account associated with the new store.
'
properties:
emailAddress:
type: string
description: 'Email address for the store owner''s account.
This will be used as the username for login and for account-related notifications.
'
example: sample_email@bevz.com
password:
type: string
description: 'Password for the store owner''s account.
Must meet security requirements as defined by the platform (e.g., minimum length, character types).
'
example: sample_password
confirmPassword:
type: string
description: 'Confirmation of the password to ensure accuracy during account creation.
Must match the value provided in the `password` field.
'
example: sample_password
operationHours:
type: array
description: 'Defines the store''s operating hours for specific days of the week.
Each entry specifies the opening and closing times, as well as the days these hours apply.
Multiple entries can be used to represent different schedules (e.g., split shifts or varying hours on different days).
'
items:
type: object
properties:
openTime:
type: string
description: Opening time for the store on the specified days, in 12-hour format with AM/PM.
format: hh:mm A
example: 03:30 AM
closeTime:
type: string
description: Closing time for the store on the specified days, in 12-hour format with AM/PM.
format: hh:mm A
example: 02:00 PM
days:
type: array
description: "List of days of the week when these hours apply.\nUse the following mapping:\n * 1 = Sunday\n * 2 = Monday\n * 3 = Tuesday\n * 4 = Wednesday\n * 5 = Thursday\n * 6 = Friday\n * 7 = Saturday\nYou can specify multiple days in a single entry (e.g., `[2, 3, 4, 5, 6]` for Monday–Friday).\n"
items:
type: integer
minimum: 1
maximum: 7
example:
- 1
- 2
- 3
store:
type: object
description: 'Contains essential details about the store, including its name, address, and contact information.
'
properties:
name:
type: string
description: The display name of the store.
example: Bevz Test Store
address:
type: object
required:
- street1
- state
- city
- zipCode
description: Physical address where the store is located.
properties:
city:
type: string
description: City where the store operates.
example: Santa Monica
state:
type: string
description: State or province abbreviation.
example: CA
street1:
type: string
description: Primary street address of the store.
example: 123123 10th St
street2:
type: string
description: Secondary address line (optional)
example: ''
zipCode:
type: string
description: Postal or ZIP code.
example: '90401'
phoneNumber:
type: string
description: Primary contact phone number for the store.
example: '7852630348'
emailAddress:
type: string
description: Contact email address for the store.
example: bevz_test_store@bevz.com
responses:
'200':
description: Successful Bevz subscription
content:
application/json:
schema:
type: object
properties:
storeId:
type: string
example: 831fd907-b455-4e92-828b-2e5421d057d7
checkoutLink:
type: string
example: https://checkout.stripe.com/c/pay/longstringhere
'400':
description: Bad request! Please check your input.
content:
application/json:
schema:
type: object
properties:
message:
type: string
errors:
type: array
examples:
'"account.emailAddress" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"account.emailAddress" is not allowed to be empty'
Email already exists. Please use a different email:
value:
message: Bad request! Please check your input.
errors:
- Email already exists. Please use a different email
'"account.password" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"account.password" is not allowed to be empty'
'"account.password" length must be at least 8 characters long':
value:
message: Bad request! Please check your input.
errors:
- '"account.password" length must be at least 8 characters long'
Password should be the same:
value:
message: Bad request! Please check your input.
errors:
- Password should be the same
operationHours must be in hh:mm A format:
value:
message: Bad request! Please check your input.
errors:
- operationHours[0].openTime must be in hh:mm A format
- operationHours[0].closeTime must be in hh:mm A format
Opening time should be before Closing time:
value:
message: Bad request! Please check your input.
errors:
- 'Opening time should be before Closing time: [{days: [1], openTime: "07:00 PM", closeTime: "08:00 AM", type: "DAILY"}]'
'"operationHours[0].type" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"operationHours[0].type" is not allowed to be empty'
'"store.name" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"store.name" is not allowed to be empty'
'"store.address.street1" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"store.address.street1" is not allowed to be empty'
'"store.address.city" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"store.address.city" is not allowed to be empty'
'"store.address.state" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"store.address.state" is not allowed to be empty'
'"store.address.zipCode" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"store.address.zipCode" is not allowed to be empty'
'"store.phoneNumber" is not allowed to be empty':
value:
message: Bad request! Please check your input.
errors:
- '"store.phoneNumber" is not allowed to be empty'
Invalid phone number. Please input a valid phone number:
value:
message: Bad request! Please check your input.
errors:
- Invalid phone number. Please input a valid phone number
'"store.emailAddress" must be valid email':
value:
message: Bad request! Please check your input.
errors:
- '"store.emailAddress" must be valid email'
Invalid address. Please input a valid address:
value:
message: Bad request! Please check your input.
errors:
- Invalid address. Please input a valid address
operationHours[0].days[1] must be greater than or equal to 1:
value:
message: Bad request! Please check your input.
errors:
- operationHours[0].days[1] must be greater than or equal to 1
operationHours[0].days[1] must be less than or equal to 7:
value:
message: Bad request! Please check your input.
errors:
- operationHours[0].days[1] must be less than or equal to 7
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
errors:
type: array
examples:
Integrator unauthorized to perform this action!:
value:
message: Unauthorized request! Please check your permission.
errors:
- Integrator unauthorized to perform this action!
'403':
description: Forbidden
content:
application/json:
schema:
type: object
properties:
message:
type: string
# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bevz/refs/heads/main/openapi/bevz-stores-api-openapi.yml