חשבוניות SLK
All API pages

API reference

SLK Invoices API — overview

נסו ב-Playground
On this page

The developer API issues Israeli tax documents (חשבונית מס, קבלה, חשבונית מס קבלה, חשבונית זיכוי and more), manages customers, previews totals, and notifies you of events by webhook. It is a plain JSON-over-HTTPS API; there is nothing to install.

  • Base URL: https://invoice.slk.co.il/api/billing/v1
  • Machine-readable spec: GET /api/billing/v1/openapi.json (OpenAPI 3.1, public)
  • Try it free: sandbox accounts — fake SBX- documents, nothing real is issued

Endpoints at a glance#

MethodPathPurposePage
POST/create-documentIssue a document (idempotent)create-document
GET/documentsSearch issued documents, or fetch one by iddocuments
GET / POST/customersSearch / create customer cardscustomers
POST/calculateDry-run totals, nothing issuedcalculate
GET/openapi.jsonThis API's OpenAPI document—
POST/api/developers/sandboxOpen a free sandbox accountsandbox
POST/api/mcpMCP endpoint for AI agentsmcp

Store and platform webhooks arrive at POST /api/billing/ecommerce/{source}/{hookId} — you do not call that yourself; see the dashboard's connector screens.

Authentication#

One API key per business. Send X-Api-Key: <key> or Authorization: Bearer <key>. The Invoice4U-compatible shape of create-document and calculate carries the key as token in the body instead. Details: authentication.

Tenancy#

The key identifies your business, and the whole request then runs inside that business's own isolated database. A key can never read or write another business's data. There is no tenant id to send.

Idempotency#

create-document is idempotent by apiIdentifier (your order id, invoice number, anything unique). The same identifier always returns the same document with alreadyExisted: true; a retry can never mint a second document number. A crashed first attempt is completed on the next retry. Reuse the identifier only for the same logical document — a second call with different content but the same identifier returns the original document, not a new one.

Money and numbers#

ThingUnit
MoneyInteger agorot (₪1 = 100). Never floats. 118000 = ₪1,180.00
QuantityInteger thousandths: quantityMilli: 2500 = 2.5 units
VAT rateBasis points: 1800 = 18%. Only 0 (exempt) and 1800 (the statutory rate) are accepted
DiscountFixed: agorot (discountType: 1). Percent: percent × 100 (discountType: 2, 1250 = 12.5%)
Exchange rateILS per 1 unit × 1,000,000 (fxRateMillionths: 3710000 = 3.71)
DatesYYYY-MM-DD. issueDate must be within 30 days back and 1 day ahead

Absolute money values are limited to ±1,000,000,000,000 agorot. The Invoice4U-compatible shape uses shekel floats and converts them with rounding.

Rate limits#

600 requests per minute per API key, across REST and MCP. Over the limit you get 429 {"error":"rate limited"}. There is no Retry-After header; back off for a few seconds and retry. Sandbox signup and the connector receivers have their own per-IP limits.

Dormant accounts and plans#

  • Reads always work (GET /documents, GET /customers, POST /calculate), even before the business is switched on — so an integration can be built and verified early.
  • Writes are refused while the account is dormant: 403 {"error":"billing module is dormant (billing_enabled=0)"}.
  • Plan gates: issuing through the API needs a plan that includes API write access, and the plan's monthly document allowance applies. Both refuse with 422 and a Hebrew message, not 402/403.

Sandbox#

An account in sandbox mode accepts the same requests and validates the same way, but returns fake SBX-000123 numbers and writes nothing to the books. See sandbox.

Errors#

Errors are JSON {"error": "<message>"} (or {"d":{"IsSuccess":false,"ErrorMessage":"…"}} for the Invoice4U-compatible shape). Status codes: 400 bad JSON, 401 bad key, 403 dormant, 404 not found, 422 refused, 429 rate limited. See errors.

Viewing documents#

viewUrl in a create response points at the signed-in viewer (/billing/documents/<id>/view); it needs a dashboard session and is not a public link. PDF/print links in the compatible shape are the same URL.

Next#

authentication · create-document · webhooks · sdks · postman · changelog

SLK Invoices API — overview — SLK Invoices API