> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maple.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer API

> Connect your POS or platform to Maple — receive and decide orders, publish menus, and subscribe to signed webhooks.

The Maple Developer API connects your POS or platform to approved Maple locations. Receive and decide orders, publish menus, or manage reservations using the scopes and location capabilities approved for your integration.

There is no SDK to install. For order integrations, Maple owns customer payment processing and supplies orders with calculated totals. Use the developer console to manage your keys, webhooks, and diagnostics.

- [Quickstart](https://docs.maple.inc/developer-api/quickstart.md): Sign in, create your own key, and find your first API request and signed test delivery.
- [How Maple works](https://docs.maple.inc/developer-api/how-maple-works.md): The mental model: apps, locations, connections, and who owns what.

## Start with the job you’re doing

- [Receive and decide orders](https://docs.maple.inc/developer-api/guides/receive-orders.md): Get order.notification webhooks and drive each order with accept, deny, ready, and complete calls.
- [Publish a menu](https://docs.maple.inc/developer-api/guides/publish-menu.md): Send a location’s full menu as one JSON document keyed by your own stable IDs, and read it back.
- [Handle webhooks](https://docs.maple.inc/developer-api/concepts/webhooks.md): Verify HMAC signatures, dedupe deliveries, and replay from the event ledger.
- [Browse every endpoint](https://docs.maple.inc/developer-api/api-reference.md): Request and response schemas for locations, connections, menu, delivery zones, orders, webhooks, bookings, the waitlist, and feedback.

## What you never have to build

Restaurant integrations are usually painful because you inherit problems that aren’t yours. With Maple, you don’t:

- **No payment integration.** Maple creates and owns the payment link. You never touch a card or carry PCI scope.
- **No pricing engine.** Maple computes every customer-facing total. You read integer cents.
- **No polling.** Orders are pushed to your webhook; a ledger and replay endpoints cover recovery.
- **No SDK required.** It’s a REST API you can call from any language.
- **No guessing in production.** You build against isolated test data first; live access is enabled once your integration is approved.

## The shape of the API

Every authenticated request carries a `Bearer` credential. Develop against the prepared sandbox, then obtain separate production approval and configure the production app, grants, key, and endpoints. See [Environments](https://docs.maple.inc/developer-api/concepts/environments.md):

```bash
# Sandbox — build and test here
curl https://api.staging.maple.inc/v1/me \
  -H "Authorization: Bearer mpk_test_..."
```

- **Two environments:** the sandbox at `https://api.staging.maple.inc/v1` for development, and production at `https://api.maple.inc/v1`. They’re fully isolated. See [Environments](https://docs.maple.inc/developer-api/concepts/environments.md).
- **API key auth:** send your key (`mpk_test_…` / `mpk_live_…`) as a Bearer token. See [Authentication](https://docs.maple.inc/developer-api/concepts/authentication.md).
- **Scoped access:** your app holds only the permissions it needs (`orders:read`, `menus:write`, `webhooks:write`, and so on).
- **Predictable resources:** opaque IDs, money as integer USD cents, Stripe-style event envelopes, and consistent error bodies.

> [!NOTE]
>
> Access is invited-partner first. Maple approves your app and prepares its sandbox and location grants; your organization members then sign in to **Developers** to create keys, manage webhooks, and inspect request/delivery diagnostics. [Contact us](https://maple.inc/get-started) for an invitation, then follow the [Quickstart](https://docs.maple.inc/developer-api/quickstart.md). Creating a key does not grant location access or activate production.
