canonical: https://jentic.com/apis/booqable.com/booqable

# Booqable API

Jentic publishes the only available OpenAPI specification for Booqable API, keeping it validated and agent-ready. Booqable is a rental management platform for equipment, party, AV, and tool rental businesses. The v4 API exposes orders, customers, products, bundles, locations, payments, documents, barcodes, and availability checks so rental shops can drive bookings, manage inventory, and reconcile payments from a custom storefront, in-store POS, or AI agent. Authentication uses a bearer token tied to the company's Booqable workspace.

## For AI agents

Manage rental orders, products, bundles, customers, and availability for Booqable rental businesses across 35 v4 endpoints.

## Scope

Does not handle card payment processing, accounting, or vacation property listings - use for equipment and event rental order, inventory, and availability management only.

## Capabilities

- Create, list, and update rental orders with line items, dates, and pricing
- Check product availability across stock and date ranges before reserving
- Manage customer records with billing and shipping details
- Maintain product catalogues including bundles and barcoded inventory
- Record and review payments tied to rental orders
- Generate and update rental documents such as quotes and contracts
- Configure locations and authentication methods for the workspace

## Use cases

### Custom rental storefront with availability checks

Rental shops build branded storefronts that quote real-time availability and reserve products in Booqable as the source of truth. The API exposes GET /availabilities to confirm stock for a date range, then POST /orders to lock in the reservation with line items and customer details. A typical storefront integration ships in a sprint using v4 bearer-token auth.

Example prompt: Check availability for product id prod_tent01 from 2026-07-01 to 2026-07-03, then create an order for customer cust_88 with that product and confirm the order id

### POS-driven inventory and barcode management

In-store staff scan barcodes at pickup and return to update Booqable inventory and trigger document generation. The /barcodes resource creates and updates barcode records on serialised items, /products keeps catalogue data in sync, and /documents produces the rental contract or pickup slip in the same flow. POS integrations usually go live in under a week.

Example prompt: Look up the barcode 1234567890 to find the attached product, then mark the matching order line as picked up and generate a contract document

### Bundle-based packages for events

Event rental businesses bundle complementary items (a tent plus tables plus chairs) and price them as a package. POST /bundles creates the bundle, GET /bundles lists current bundles for the storefront, and orders reference the bundle id so pricing and availability roll up automatically. Bundles let small teams launch package deals without spreadsheets.

Example prompt: Create a bundle named 'Garden Party Pack' that combines product ids prod_tent01, prod_table10, and prod_chair20 with a 15 percent discount

### Agent-driven rental booking via Jentic

An AI agent takes a natural-language booking request ('book a party tent for next Saturday'), uses Jentic to find Booqable's availability and order endpoints, and creates the rental in seconds. The bearer token stays in your Jentic One instance while the agent only sees scoped operation schemas.

Example prompt: Search Jentic for 'create a Booqable rental order', load the schema, and execute it for customer cust_42 with product id prod_chairs and dates 2026-08-10 to 2026-08-12

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/orders` | Create a rental order |
| GET | `/orders/{id}` | Retrieve a rental order by id |
| GET | `/availabilities` | Check product availability across a date range |
| POST | `/products` | Create a product in the catalogue |
| POST | `/customers` | Create a customer record |
| POST | `/bundles` | Create a bundle of products |
| GET | `/payments` | List payments recorded against orders |
| POST | `/documents` | Generate a rental document |

## Key resources

- **Orders** — Create, list, and update rental orders with line items and dates
- **Products** — Manage rental product catalogue entries and pricing
- **Bundles** — Group products into priced packages for events and complementary kits
- **Customers** — Maintain customer profiles with billing and shipping data
- **Availabilities** — Query product availability across date ranges
- **Payments** — List payments associated with rental orders
- **Documents** — Generate quotes, contracts, and pickup documents tied to orders
- **Barcodes** — Manage barcodes on serialised inventory items
- **Locations** — Configure pickup and return locations for the workspace

## Why Jentic

- **Setup:** Wiring Booqable by hand means setting bearer auth, building the per-company host from your slug (https://{company_slug}.booqable.com/api/4), and coordinating order, product, and availability calls yourself. Through Jentic you install once, import the Booqable API from the API Directory, store the bearer token once, and your agent calls it.
- **Permission scoping:** Booqable puts the resource id in the URL path (`/orders/{id}`), so a rule can pin your agent to one order. You choose the operations it may call, so writes like creating products, customers, or documents are only included if you add them, and an availability-checking agent can be held to the read paths.
- **Credential handling:** Your Booqable bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'check rental availability' or 'create a Booqable order', and Jentic returns the matching v4 operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Shopify Admin API** — General-purpose e-commerce API for product sales rather than time-based rentals.
- **Your.Rentals Marketplace API** — Vacation rental marketplace API focused on accommodation distribution.
- **Lightspeed API** — Retail POS that pairs with Booqable for in-person sales alongside rental orders.
- **Square API** — Payment and POS platform commonly used for in-person rental check-out alongside Booqable.

## FAQ

### Why is there no official OpenAPI spec for Booqable API?

Booqable does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Booqable API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Booqable API use?

Booqable v4 uses HTTP bearer token authentication. The token is scoped to a single company workspace, and the base URL includes your company slug (https://{company_slug}.booqable.com/api/4). Jentic stores the token in the vault and injects it at execution so it never enters the agent's context.

### Can I check rental availability with the Booqable API?

Yes. Call GET /availabilities with the product ids and date range; the response indicates whether the requested quantity is available. Pair it with POST /orders to convert an availability check into a confirmed reservation in the same flow.

### How do I create a rental order through Jentic?

Run pip install jentic, then search Jentic for 'create a Booqable rental order', load the POST /orders schema, and execute it with the customer id, product line items, and pickup and return dates. Jentic returns the created order id without exposing the bearer token to the agent.

### What are the rate limits for the Booqable API?

Booqable does not publish explicit rate limits in the v4 spec; rental shops on standard plans rarely hit ceilings under storefront and POS load. For bulk catalogue syncs, paginate listing endpoints and avoid tight loops over /availabilities by batching date ranges.

### Can I bundle products together for package deals?

Yes. POST /bundles creates a bundle that references multiple product ids; GET /bundles lists active bundles. Orders can reference the bundle so pricing and availability roll up automatically across the bundled items.

### Is the Booqable API free to use?

API access is included with paid Booqable subscription plans rather than billed per call. You generate the bearer token from the workspace settings and use the same token for all v4 endpoints.

### Can I limit what my agent is allowed to do with the Booqable API?

Yes. Because you run Jentic One yourself, your own rules decide which Booqable operations and credentials the agent may use, so you can grant only the endpoints a task needs. An availability-checking agent can be held to read paths like GET /availabilities and GET `/orders/{id}`, while write operations such as POST /orders, POST /products, POST /customers, or POST /documents are included only if you add them. Since Booqable puts the resource id in the URL path, a rule can also pin the agent to a single order.
