Developers · v1.4

Build on top of SaathiX Billing.

REST APIs, real-time webhooks and SDKs in Node, Python and PHP. Sync products, push invoices, pull reports · with the same speed our POS uses.

Quickstart

Create your first invoice in 60 seconds. Replace sk_live_•••• with your secret key from Settings → API.

curl -X POST https://api.saathix.com/v1/invoices \
  -H "Authorization: Bearer sk_live_••••" \
  -H "Content-Type: application/json" \
  -d '{
    "customer": { "phone": "+919876543210", "name": "Rahul K." },
    "items": [
      { "sku": "AMUL-MILK-1L", "qty": 2, "rate": 68 },
      { "sku": "MAGGI-70G",    "qty": 6, "rate": 14 }
    ],
    "payment": { "mode": "upi", "amount": 220 }
  }'

All requests use HTTPS · base URL https://api.saathix.com · responses are JSON encoded · pagination via ?cursor=.

Authentication

Two key types · sk_live_ server-side (full access) and pk_live_ client-side (read-only, rate-limited). Pass via the Authorization: Bearer header. Rotate from the dashboard · old keys are revocable instantly.

Rate limit

600 req/min · burst 60/sec

Idempotency

Idempotency-Key header on POST

Errors

RFC 7807 problem+json

Versioning

API-Version header · current v1.4

Endpoints

MethodPathDescription
GET/v1/productsList all products in a store
POST/v1/productsCreate a new product with SKU and stock
GET/v1/inventory/{product_id}Current stock across stores
POST/v1/invoicesCreate a sale invoice + decrement stock
GET/v1/invoices/{id}Fetch full invoice with line items, taxes
POST/v1/customersCreate or upsert a customer by phone
GET/v1/reports/salesDaily / monthly sales summary
POST/v1/webhooksRegister a webhook for invoice / stock events

Webhooks

Subscribe to real-time events · invoice.created, invoice.refunded, stock.low, customer.created. Each delivery is signed with HMAC-SHA256 via the X-Billkart-Signature header. Retries · 5× with exponential backoff over 24h.

{
  "id": "evt_01HZK9V7PMQF",
  "type": "invoice.created",
  "created_at": "2026-06-28T10:14:22Z",
  "data": {
    "invoice_no": "INV-2026-04217",
    "grand_total": 220,
    "customer_phone": "+91••••43210"
  }
}

Official SDKs

Node.js

npm i @saathix/node

Python

pip install saathix

PHP

composer require saathix/sdk