Before you begin
You need a sandbox API key (mpk_test_…). The Maple team issues one when they create your developer app during onboarding. If you don’t have one yet, contact us — it takes us a few minutes.
That’s the only prerequisite. There’s no SDK to install; every example here is plain curl you can paste into a terminal. You’ll work against the sandbox the whole way — isolated data you can’t break. (Production lives at https://api.maple.inc/v1; see Environments.)
Confirm the API is reachable
/ping needs no credential. A clean response means your network can reach Maple.Response
Make your first authenticated call
GET /v1/me echoes back the app your credential belongs to, the environment it operates in, and the scopes it holds. It’s the fastest way to confirm a key works.Response
environment reads test. A test key can only ever see test data — nothing you do here touches a live merchant.401, the key is missing, malformed, or inactive. See Errors.List the locations you can reach
Each restaurant your app integrates is a location a merchant has granted you access to. List the ones you can see:During onboarding we grant your test app at least one test location to build against. Note its
Response
id.Connect to a location
A grant lets you see a location. A connection makes your app its order receiver — orders only route to you after this call.Connections are exclusive per environment: if another app already holds the location, you get a
Response
409. Read How Maple works for the full grant-versus-connection model.Receive your first signed webhook
Register an HTTPS endpoint you control. (For local testing, a tunnel such as ngrok or Cloudflare Tunnel gives you a public URL.)The response includes a one-time signing secret (Now fire a synthetic delivery to that endpoint to confirm it’s wired up:
mwhsec_…). Store it now — it is never shown again.Response
Response
delivered: true with a 2xx response_status means Maple reached your endpoint and it accepted the event. You’re receiving webhooks.You just did the whole loop in miniature
Authenticate, find a location, connect to it, and receive a signed event — that’s the spine of every Maple integration. Everything else is filling it in.Where to go next
Receive and decide orders
Verify webhook signatures and drive real orders with accept / deny / ready / complete.
Publish a menu
Push a location’s menu so the items in your orders map to your own IDs.
Webhooks in depth
Signature verification, delivery guarantees, retries, and replay.
Authentication
API keys, environments, and scopes.