Introduction
REST APIs and webhooks for ordering, bookings, menus and payments.
Karma's API lets you read and write the data behind a restaurant's day, and subscribe to events as they happen.
Base URLs
| Environment | Base URL |
|---|---|
| Production | https://common-api.karma.life |
| Staging | https://common-api.staging.karma.life |
| Development | https://common-api.development.karma.life |
Authenticating
Every request carries an API key in the X-API-Key header. Keys are prefixed
by environment — karma_live_* against production, karma_dev_* everywhere
else.
curl https://common-api.karma.life/api/v1/orders \
-H "X-API-Key: karma_live_..."APIs
Ordering API
Orders, tabs and coursing — from first item to settled bill.
Booking API
Reservations, waitlist, tables and availability.
Menu API
Items, variants, layouts and translations.
Payments API
Payment methods, settlements, invoices and terminals.
Loyalty API
Programs, wallet passes and vouchers.
Surplus API
Surplus inventory and consumer-facing offers.
Guides
Placing an order
Create orders at a location in one call.
Reading sales data
Purchases, line items, VAT, refunds and nightly exports.
BigQuery data sharing
Customer-scoped views, joins, field definitions and BigQuery changes.
Objects and fields
Typed custom fields on Karma's objects.
Pushing surplus
Sell end-of-day surplus from your own POS.
Webhooks
Rather than polling, subscribe to events and Karma will POST them to you. Receiving webhooks covers the envelope, signature verification and retries; each API's Events section documents its payloads.