Developers
Your CRM,
your stack.
REST endpoints, session auth, BulkVS number provisioning, and Lesnet SIP calling. Build on your CRM data without a proprietary query language.
Headless CRM architecture
Treat insanehome as your customer data backend. Grids are relational tables. Projects are isolated workspaces. Everything is accessible via REST—no proprietary query language required.
curl -X GET \
'https://<your-worker-origin>/api/project-grid?projectId=...' \
-H 'Cookie: ih_session=...' \
-H 'Content-Type: application/json'
// Response
{
"columns": [...],
"rows": [...],
"updatedAt": "2026-06-18T12:00:00Z"
}Authentication
insanehome uses session-based authentication today. Sign in via the web app or Google OAuth—your session cookie is sent automatically on API requests from the browser. Server-to-server integrations should forward the session cookie or authenticate through the same auth endpoints the app uses.
Session cookies
After sign-in, API requests include an HTTP-only session cookie scoped to your domain. No Bearer token is required for browser-based access.
Auth endpoints
Use /api/auth/* for email and Google flows. Workspace access is enforced per session—requests outside your workspace return 403.
REST API
Core endpoints that ship today. All routes run on your worker origin—the same host as the web app.
| Method | Endpoint |
|---|---|
| GET | /api/account-projects |
| GET/PATCH | /api/project |
| GET/PATCH | /api/project-grid |
| GET | /api/project-grid/live |
| GET | /api/bulkvs/owned-numbers |
| POST | /api/bulkvs/search-numbers |
| POST | /api/bulkvs/buy-number |
| POST | /api/lesnet-sip/session |
| GET | /api/lesnet-sip/transcribe |
| POST | /api/billing-checkout |
| POST | /api/auth/* |
Webhooks
Voice sessions emit events over the Lesnet SIP bridge WebSocket. Generic record webhooks with HMAC verification are on the roadmap.
Available now — Voice
Coming soon — Record events
Lesnet session payload
{
"sessionId": "sess_...",
"reservationId": "res_...",
"status": "active",
"projectId": "proj_xyz789"
}Outbound calls use BulkVS for numbering and the Lesnet SIP bridge for media. Connect via /api/lesnet-sip/* routes.
Integration surface
Connect insanehome to the tools you already use.
BulkVS Voice
DID search, purchase, and trunk management for outbound calling.
Lesnet SIP Bridge
Browser-to-PSTN calling and live transcription via WebSocket.
Grid API
Programmatic read/write access to your relational data model.
Session Auth
Cookie-based authentication scoped to your workspace.
Billing API
Stripe checkout integration for plan upgrades.
Custom Interfaces
Embed React-based views inside project workspaces.
Record Webhooks
Generic HMAC-signed webhooks for record events—on the roadmap.
Coming soon
Official SDK
TypeScript and Python client libraries are in active development. Join the waitlist to get early access and shape the API ergonomics.
Join waitlistimport { Insanehome } from '@insanehome/sdk';
const client = new Insanehome({ cookie: process.env.IH_SESSION });
const grid = await client.projectGrid.get({ projectId: '...' });