Resources

Help guides and articles for your catering business.

The Developer API

Puree has a read-only JSON API that lets you pull your own account's data β€” customers, menu items and orders β€” into your own scripts, spreadsheets and applications. This page explains what the API offers and how to get started. The full, endpoint-by-endpoint reference (with a live "Try it out" console) lives in the interactive API docs.

Currently in closed beta

API access is enabled per account while we finalise the endpoints, so the contract may still change. To request access for your account, email us at email@puree.app.

What You Can Do With It

The API is read-only and scoped to a single account β€” a token only ever sees the data belonging to the account it was minted in. It's designed for pulling Puree data into your own tools: syncing customers into a mailing list, exporting your menu to another site, or feeding order data into a reporting dashboard.

There are three resources, each with a list endpoint and a single-record endpoint:

  • Customers β€” your customer records, their contacts and addresses.
  • Items β€” your menu items, with pricing, categories and dietary/allergen codes.
  • Orders β€” your quotes and orders, with line items, staff, packages, deliveries and payment totals.

The Base URL

All endpoints live under a single versioned base URL:

https://puree.app/api/public/v1

Getting an Access Token

Every request must carry a personal access token. Once API access is enabled for your account, you can mint one from Account Settings β†’ Developer β†’ Access Tokens. Tokens look like puree_at_ followed by 40 hex characters. Treat a token like a password β€” anyone with it can read your account's data, so store it securely and revoke it from the same screen if it's ever exposed.

Authenticating a Request

Pass the token in an Authorization header using the Bearer scheme. Here's a complete example that lists your customers:

curl https://puree.app/api/public/v1/customers \
  -H "Authorization: Bearer puree_at_your_token_here"

A request with a missing or invalid token comes back as 401 Unauthorized.

Searching and Paging

The list endpoints are paginated and support a search parameter for fuzzy matching (for example, on a customer's name or a contact's email). Combine query parameters as normal:

curl "https://puree.app/api/public/v1/customers?search=acme&page=2" \
  -H "Authorization: Bearer puree_at_your_token_here"

Rate Limits

Each token is limited to 60 requests per minute. If you go over, requests return 429 Too Many Requests β€” pause briefly and retry. If you're building something that needs a higher limit, get in touch.

When Something Goes Wrong

Errors come back as JSON with an errors array. Each entry has a machine-readable code, a short title, and sometimes a longer detail:

{
  "errors": [
    { "code": "unauthorized", "title": "Missing or invalid access token" }
  ]
}

The Full Reference

Every endpoint, parameter and response field is documented in the interactive API reference, where you can also paste in a token and call the API live with "Try it out":

Open the API reference

Questions, or want access enabled for your account? Email us at email@puree.app.