> ## 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 Maple. You receive orders the moment a customer places them, decide whether to accept them, publish the menus customers order from, and keep everything in sync through signed webhooks.

There is no SDK to install, and **there is no payment processing to build** — Maple owns the entire customer payment lifecycle and hands you orders with totals already calculated. Most partners reach a working test integration in a few days.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/developer-api/quickstart">
    Make your first authenticated call in a few minutes. Start here.
  </Card>

  <Card title="How Maple works" icon="diagram-project" href="/developer-api/how-maple-works">
    The mental model: apps, locations, connections, and who owns what.
  </Card>
</CardGroup>

## Start with the job you're doing

<CardGroup cols={2}>
  <Card title="Receive and decide orders" icon="receipt" href="/developer-api/guides/receive-orders">
    Get `order.notification` webhooks and drive each order with accept, deny, ready, and complete calls.
  </Card>

  <Card title="Publish a menu" icon="book-open" href="/developer-api/guides/publish-menu">
    Send a location's full menu as one JSON document keyed by your own stable IDs, and read it back.
  </Card>

  <Card title="Handle webhooks" icon="bell" href="/developer-api/concepts/webhooks">
    Verify HMAC signatures, dedupe deliveries, and replay from the event ledger.
  </Card>

  <Card title="Browse every endpoint" icon="code" href="/developer-api/api-reference">
    Request and response schemas for auth, locations, connections, menu, orders, and webhooks.
  </Card>
</CardGroup>

## 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 request carries a `Bearer` credential. You develop against the sandbox and move to production by changing the base URL and credential — nothing else:

```bash theme={null}
# 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](/developer-api/concepts/environments).
* **API key auth:** send your key (`mpk_test_…` / `mpk_live_…`) as a Bearer token. See [Authentication](/developer-api/concepts/authentication).
* **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>
  Getting started begins with onboarding — the Maple team creates your developer app and issues your test
  credentials. [Contact us](https://maple.inc/get-started) to begin, then follow the [Quickstart](/developer-api/quickstart).
</Note>
