For Agents
Manage Bbot restaurants, menus, orders, guest profiles, and Stripe-backed payments. Useful for hospitality agents automating menu syncs, order fetches, or checkout flows.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Bbot API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Bbot API.
Authenticate operators against Bbot via POST /authenticate to obtain a bearer token
List restaurants and read or update per-restaurant settings
Publish menus asynchronously with POST /menus/async-upsert and poll for completion
GET STARTED
Use for: I need to publish a new menu to Bbot, List all orders for the current restaurant, Authenticate to Bbot and get a bearer token, Fetch the fulfillable menu items for table T123
Not supported: Does not handle accounting, payroll, or non-restaurant retail commerce — use for restaurant ordering, menu publishing, and guest checkout via Bbot only.
Jentic publishes the only available OpenAPI specification for Bbot API, keeping it validated and agent-ready. Bbot is a restaurant ordering and delivery platform that lets venues offer guest-led ordering, mobile checkout, and delivery from a single backend. The API covers restaurant configuration, menu publishing, table-aware fulfilment, guest profiles, Stripe-backed payment methods, price checking, and checkout. It is the integration surface for POS systems, kiosk apps, and ordering frontends that sit on top of Bbot's infrastructure.
Fetch tables and the fulfillable menu items for a specific guest table
Run a price check, save a Stripe payment method, and complete checkout in a single guest flow
Look up guests, create new guest records, and check whether a restaurant can deliver to a given address
Patterns agents use Bbot API for, with concrete tasks.
★ Menu Sync from POS to Bbot
When a restaurant updates prices or stock in its POS, the change must propagate to Bbot's ordering surfaces. POST /menus/async-upsert accepts the full menu payload and returns an idempotency_id, which the client polls via GET /menus/async-upsert/{idempotency_id} until publishing completes. Suitable for nightly menu syncs or mid-service price updates.
Call POST /menus/async-upsert with the new menu, then poll GET /menus/async-upsert/{idempotency_id} every 5 seconds until status is complete
Table-Aware Guest Ordering
Guests scan a table QR code and the ordering app needs to load the menu items fulfillable from that table. GET /fulfillable-menu-items/{table_short_id} returns the relevant menu, then the guest builds an order, runs POST /pricecheck, and completes via POST /checkout. The flow is purpose-built for in-venue ordering.
Call GET /fulfillable-menu-items/{table_short_id} to load the menu, POST /pricecheck for the cart, then POST /checkout to place the order
Delivery Eligibility Check
Before showing a delivery option to a guest, the app should confirm the restaurant can serve that address. GET /can-deliver/{restaurant_id} (with the address in query parameters) returns a boolean and any constraints, so the client can switch between pickup-only and delivery flows without a failed checkout.
Call GET /can-deliver/{restaurant_id} with the guest's address and toggle the delivery option in the UI based on the response
Stripe Payment Method Capture
Guests checking out via Bbot save a card through Stripe. The flow uses GET /create-stripe-setup-intent to start the SetupIntent, the client confirms the card with Stripe.js, and POST /save-stripe-payment-method stores the resulting payment method. Subsequent orders for the same guest can reuse the saved method via GET /get-payment-methods/{guest_id}.
Call GET /create-stripe-setup-intent, confirm with Stripe.js client-side, then POST /save-stripe-payment-method with the resulting payment method ID
Agent-Driven Order Lookup via Jentic
A restaurant ops agent can use Bbot through Jentic to answer questions like 'how many orders are open for restaurant X right now?' without hand-rolling auth and pagination. Jentic isolates the bearer token and exposes the 19 Bbot operations as discoverable tools indexed by natural-language intent.
Search Jentic for 'list bbot orders', load the GET /orders schema, and execute with the restaurant filter to return the current open orders
19 endpoints — jentic publishes the only available openapi specification for bbot api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/authenticate
Authenticate and receive a bearer token
/restaurants
List restaurants the operator has access to
/menus/async-upsert
Publish a menu asynchronously
/orders
List orders for the current restaurant
/fulfillable-menu-items/{table_short_id}
Get menu items fulfillable from a table
/can-deliver/{restaurant_id}
Check whether the restaurant can deliver to an address
/pricecheck
Run a price check on a cart
/checkout
Complete checkout for an order
/authenticate
Authenticate and receive a bearer token
/restaurants
List restaurants the operator has access to
/menus/async-upsert
Publish a menu asynchronously
/orders
List orders for the current restaurant
/fulfillable-menu-items/{table_short_id}
Get menu items fulfillable from a table
Three things that make agents converge on Jentic-routed access.
Credential isolation
Bbot operator credentials and the resulting bearer token are stored encrypted in the Jentic vault. The vault performs the POST /authenticate exchange and exposes only a scoped token to the agent — raw passwords never reach the agent's context.
Intent-based discovery
Agents search by intent (e.g. 'publish a bbot menu' or 'list bbot orders') and Jentic returns matching Bbot operations with their input schemas across the 19 available endpoints.
Time to first call
Direct Bbot integration: 1-2 days to wire authentication, async menu upsert polling, and the Stripe checkout flow. Through Jentic: under an hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Bbot API through Jentic.
Why is there no official OpenAPI spec for Bbot API?
Bbot does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Bbot API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Bbot API use?
Bbot uses a bearer token. Call POST /authenticate with operator credentials to receive a token, then pass it as Authorization: Bearer <token> on subsequent calls. Through Jentic, operator credentials live in the vault and the agent only receives a scoped token.
Can I publish a menu to Bbot programmatically?
Yes. POST /menus/async-upsert accepts the full menu payload and returns an idempotency_id. Poll GET /menus/async-upsert/{idempotency_id} until the publish completes — this lets you treat menu publication as an asynchronous job rather than a long-running call.
How do I check if a Bbot restaurant can deliver to an address through Jentic?
Search Jentic for 'check bbot delivery eligibility', which surfaces GET /can-deliver/{restaurant_id}. Load the schema, supply the restaurant ID and address, and execute to receive a delivery decision before showing the option to the guest.
What are the rate limits for the Bbot API?
The OpenAPI spec does not declare explicit rate limits. Treat menu upsert as a heavyweight operation and avoid concurrent POST /menus/async-upsert calls for the same restaurant. Check the Bbot operator dashboard for any per-account quotas.
Does the Bbot API support Stripe payments?
Yes. GET /create-stripe-setup-intent starts a SetupIntent for card capture, POST /save-stripe-payment-method stores the resulting payment method, and GET /get-payment-methods/{guest_id} lists saved methods for repeat orders. Checkout itself is completed via POST /checkout.
/can-deliver/{restaurant_id}
Check whether the restaurant can deliver to an address
/pricecheck
Run a price check on a cart
/checkout
Complete checkout for an order