Help guides and articles for your catering business.
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.
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:
All endpoints live under a single versioned base URL:
https://puree.app/api/public/v1
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.
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.
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"
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.
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" }
]
}
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":
Questions, or want access enabled for your account? Email us at email@puree.app.