Developer docs contents
The eslana POS API
Send prices from your till system and they reach your shelves within seconds. One request carries up to 1,000 products; a key can send up to 10,000 requests a second.
Base URL https://api.eslana.com/v1. JSON in, JSON out, a bearer key on every request.
Quickstart
- 1
Create a test key
On the POS API page of your dashboard, create a key in Test mode. Copy it: it is shown once.
- 2
Check it works
The answer lists your stores, their ids and any POS store codes.
curl https://api.eslana.com/v1/ping \ -H 'Authorization: Bearer esl_test_…' - 3
Send a price
Use a store id or your own store code. The answer is 202 with a batch id.
curl -X PUT https://api.eslana.com/v1/stores/STORE-014/products \ -H 'Authorization: Bearer esl_test_…' \ -H 'Content-Type: application/json' \ -d '{"products":[{"barcode":"4011","priceCents":199,"name":"Bananas","changedAt":"2026-10-30T09:00:00Z"}]}' - 4
Follow the batch
With a live key it reaches complete once the labels have redrawn, usually within seconds.
curl https://api.eslana.com/v1/batches/bat_… \ -H 'Authorization: Bearer esl_test_…' - 5
Go live
Swap in a live key and watch the label change. Then add a webhook so your POS hears about deliveries without polling.
Guides
- Keys and authenticationCreate a key, send it with every request, and keep it out of anywhere it could leak.
- Sending pricesCreate and update products in batches of up to 1,000, in the right order, with the wording you want.
- Deleting productsWhat happens to the shelf when a product leaves your range.
- Batches and deliveryFollow a write from accepted to on the shelf.
- Rate limitsHow the limit works, how to read it, and how to back off.
- Errors and request idsEvery error code, what it means and what to do.
- WebhooksGet told when prices reach the shelf, when one is refused, and when labels need a product.
- Testing your integrationTest keys, the dashboard console, and what to check before going live.
- Versioning and deprecationWhat can change without notice, and how breaking changes are introduced.
Building an integration for many retailers?
Each retailer creates their own key. Talk to us about partner access and higher limits.
Contact us