POST /api/v1/{collection} Instant APIs
Define collections, ship REST endpoints immediately. Filtering, pagination, access control pre-wired.
Stop rebuilding auth, multi-tenancy, and audit logging from scratch. SnackBase gives you a complete backend platform—open-source, Python-powered, extensible where it matters.
import { SnackBaseClient } from '@snackbase/sdk';
const sb = new SnackBaseClient({
url: 'https://api.yourapp.com',
token: session.token,
});
// Instant CRUD with built-in multi-tenancy
const { items, total } = await sb.records.list('products', {
filter: { active: true },
sort: ['-created_at'],
perPage: 20,
});
// → { items: Product[], total: 847 }
const order = await sb.records.create('orders', {
product_id: items[0].id,
quantity: 3,
});
// → audit logged, tenant isolated, rule-checked POST /api/v1/{collection} Define collections, ship REST endpoints immediately. Filtering, pagination, access control pre-wired.
account_id: "AB1234" Row-level isolation built into every query. One backend, infinite customers.
append_only: true Immutable trails for every data mutation. Compliance and forensics, not an afterthought.
view_rule: "user.id == owner_id" Policy-based permissions at collection, record, and field level. No custom auth plumbing.
@hook("before_create") Inject custom logic anywhere in the request lifecycle. Python extensibility without the overhead.
await sdk.records.create(...) JavaScript/TypeScript SDK with React hooks. End-to-end type safety from database to frontend.
git clone github.com/lalitgehani/snackbase cd SnackBase && uv sync uv run python -m snackbase init-db uv run python -m snackbase serve Join teams shipping production backends in days, not months. Open-source means you own your infrastructure—forever.