API Reference

Build on the SaathiX platform.

A REST API for every module in SaathiX — plus GraphQL, webhooks, and OAuth apps. 99.99% uptime, 60ms P50 latency.

60ms P50 latency
REST + GraphQL
OAuth 2.0 & PAT
5 SDK languages
Get started

Authentication

All requests use a Bearer token. Create keys under Settings → API.

Authorization
Authorization: Bearer sk_live_xxx

Rotate keys any time. Test mode uses sk_test_.

Interactive

Try it — create invoice

Live in your sandbox. No charges.

curl https://api.saathix.in/v1/invoices \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "party_id": "pty_123",
    "items": [{ "sku": "COKE-250", "qty": 12, "rate": 40 }]
  }'
Reference

Endpoints

8+ endpoints across billing, inventory, CRM, GST and more.

MethodPathDescription
GET/v1/invoicesList invoices with filters
POST/v1/invoicesCreate a new invoice with e-invoice IRN
GET/v1/invoices/{id}Fetch a specific invoice
POST/v1/partiesCreate a customer or supplier
GET/v1/productsList products with stock
POST/v1/paymentsRecord a payment against invoices
POST/v1/webhooksSubscribe to real-time events
GET/v1/gstr1/{period}Fetch GSTR-1 JSON for filing
SDKs

Official SDKs

Type-safe clients maintained by the SaathiX team.

JS
JavaScript / TypeScript
$ npm install @saathix/node
PY
Python
$ pip install saathix
PHP
PHP
$ composer require saathix/saathix
JV
Java
$ implementation 'in.saathix:sdk:2.4.0'
N
Node.js
$ npm install @saathix/node
Errors

Error codes

CodeNameMeaning
400Bad RequestMalformed request body or missing required fields.
401UnauthorizedMissing or invalid API key.
402Payment RequiredSubscription paused or plan limit exceeded.
403ForbiddenAPI key lacks scope for this endpoint.
404Not FoundResource ID does not exist.
429Rate LimitedToo many requests — see rate limit headers.
5xxServer ErrorRetry with exponential backoff.
Rate limits

1,000 req/min · burst 200/s

Every response includes X-RateLimit-Remaining and X-RateLimit-Reset. Enterprise plans get 10× headroom.

HTTP/1.1 200 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 992
X-RateLimit-Reset: 1719750620