Skip to content

Getting started

View as Markdown

The Lazy Embedded API lets your platform give each of your customers their own Lazy business. Lazy collects that business’s invoices and receipts, and your platform manages the business over HTTPS.

Every request goes to:

https://embedded-api.lazyinvoice.co.il/v1

Requests and responses are JSON. Send every request from your server, never from a browser or a mobile app, because each request carries your secret API key.

You need an API key. Lazy issues keys on request; see Authentication. The examples on this page read it from an environment variable:

Terminal window
export LAZY_API_KEY="<your API key>"

Your platform owns many businesses. You create one business for each of your customers and give it your own ID for that customer, the external_id. Lazy gives the business its own ID, the biz_id. Every other request about the business uses the biz_id in its path. See Core concepts for the whole model.

Terminal window
curl -X POST https://embedded-api.lazyinvoice.co.il/v1/businesses \
-H "Authorization: Bearer $LAZY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Dana Levi Design", "external_id": "customer-1042"}'

Lazy answers 201 Created with the new business:

{
"biz_id": "biz_8fKq2LmZp4TnWx7RcV1a",
"external_id": "customer-1042",
"name": "Dana Levi Design",
"created_at": "2026-10-02T09:14:03.512874+00:00"
}

Store the biz_id next to your customer record. If you lose it, find the business again by its external_id with List businesses.

Terminal window
curl https://embedded-api.lazyinvoice.co.il/v1/businesses/biz_8fKq2LmZp4TnWx7RcV1a \
-H "Authorization: Bearer $LAZY_API_KEY"

The response is the same business object as in step 1.

Terminal window
curl https://embedded-api.lazyinvoice.co.il/v1/businesses/biz_8fKq2LmZp4TnWx7RcV1a/usage \
-H "Authorization: Bearer $LAZY_API_KEY"

The usage object says how many documents the business has used this month and what its limits are:

{
"reset_at": "2026-10-02T09:14:03.601127+00:00",
"used_docs": 0,
"max_docs": 65,
"max_email_scan_days": 365
}

The limits come from your platform’s contract with Lazy, so your numbers may differ.