ibakepro API Documentation

The ibakepro REST API (v2) is a JSON API over a single ibakepro account. It covers the product catalog, orders, customers, expenses, hosted checkout sessions, reference data, and webhook subscriptions.

What exists

Every route below is live. Nothing else is.

AreaMethodsScope
ProductsGET /products, GET /products/{id}products:read
Product searchPOST /products/search-tokenproducts:search
OrdersGET /orders, GET /orders/{id}, POST /ordersorders:read, orders:write
CustomersGET /customers, GET /customers/{id}, POST /customerscustomers:read, customers:write
ExpensesGET /expenses, GET /expenses/{id}, POST /expensesexpenses:read, expenses:write
CheckoutPOST /checkoutcheckout:write
AvailabilityGET /availabilityreference:read
Reference dataGET /reference/{blocked-dates,custom-fields,event-categories,expense-categories,payment-methods,time-slots}reference:read
WebhooksGET, POST, PATCH, DELETE on /webhooks and /webhooks/{id}, plus /test, /rotate-secret, /eventswebhooks:manage

Limits

  • Products are read-only. There is no endpoint that creates, updates, or deletes a product. The catalog is authored in the ibakepro dashboard.
  • GET /products returns storefront-visible products only. Products that are not active, not storefront-enabled, or deleted are never returned, so the list is not a full catalog export.
  • Orders are create and read only. No endpoint updates, cancels, or deletes an order. Once POST /orders returns, the order is changed only in the dashboard.
  • Customers and expenses are create and read only. Same shape as orders: POST and GET, no PATCH and no DELETE.
  • Payments have no endpoints. You cannot record, refund, or list a payment over the API. Payment state is observable through the payment.created, payment.updated, payment.completed, payment.failed, and payment.refunded webhook events.
  • Pantry stock and components are not exposed. No endpoint reads or writes stock levels, ingredients, or recipe components.
  • POST /checkout does not create an order and does not take payment. It reprices a cart server-side, stores a checkout session, and returns a hosted checkout URL.
  • pricing:read is granted to publishable keys but has no endpoint behind it. It is inert until a quote endpoint ships.

Two key types

A secret key (ibp_sk_) may hold any scope the account grants and is accepted by every endpoint. A publishable key (ibp_pk_) is restricted at creation time to products:read, products:search, reference:read, pricing:read, and checkout:write; the endpoints that accept one return CORS headers and answer OPTIONS preflights, and every other endpoint rejects it with 403 publishable_key_not_allowed.

Getting started

Create an API key in the ibakepro dashboard under Settings > Integrations > Developers, then send it as a Bearer token. Keys are regional: the region segment in the key (ibp_sk_live_au_...) must match the host subdomain you call (au.api.ibakepro.com), or the request returns 401 invalid_api_key. The REST API requires the Business plan; on any other plan every request returns 403 plan_required.

Guides

Authentication

Key types, scopes, regions, rate limits, and idempotency keys.

Read more

Webhooks

Subscribe to order, payment, customer, product, and expense events.

Read more

Pagination

How cursor-paginated list responses work.

Read more

Errors

Error envelopes, types, and status codes returned by the API.

Read more

Resources

Orders

Create and retrieve orders. There is no update, cancel, or delete endpoint.

Products

Read-only catalog: list and retrieve storefront-visible products, including delta sync.

Product Search

Mint a short-lived, search-only token for browser-side catalog search.

Checkout

Reprice a cart server-side and get a hosted checkout URL. No order is created.

Customers

Create and retrieve customer records. There is no update or delete endpoint.

Payments

Payments have no endpoints. Observe them through the payment webhook events.

Expenses

Create and retrieve business expenses. There is no update or delete endpoint.

Reference Data

Payment methods, time slots, blocked dates, categories, custom fields, and availability.