Platform API

Build on The Business Lab

REST APIs and webhooks for property managers, condo associations, and platform partners. Multi-tenant, multi-property, payment-ready.

API status: operational v1.0 (stable) JSON · HTTPS · webhooks

Overview

The Business Lab Platform is a multi-tenant property management API designed for boutique residential, mixed-use, and HOA properties. The platform powers production deployments at birminghamplace.thebusiness-lab.com and infinitycapital.thebusiness-lab.com, and is available for white-label integration with strategic partners.

Multi-Tenant

Subdomain-per-property routing. Hard data isolation. Onboard a new property in minutes.

Payment Native

Stripe + Plaid built in. HOA invoicing, auto-debit, ACH and card support, webhook-driven reconciliation.

AI Operations

Claude-powered SMS triage, work-order classification, resident assistant. Industry-first for PMS software.

Resident-Facing

13-tab portal. PWA. Push notifications. Self-serve auto-pay. Visitor pre-authorization. Document downloads.

Partner integration

Strategic partners (rewards programs, mortgage servicers, payment processors) integrate via our partner API. Standard turnaround for a pilot integration is 60-90 days at one property, with full multi-property rollout in days thereafter.

Authentication

All API requests use HTTPS. Two authentication models are supported:

Admin API key stable

Server-to-server, full-property scope. Required for partner integrations and admin operations.

X-Admin-Key: bl_[your-admin-key-here]

Supabase JWT (resident scope) stable

End-user authenticated, resident-scope. Used by the resident portal. Verified against the property's Supabase project.

Authorization: Bearer eyJhbGc...

Rate limits

Default: 100 requests/minute per admin key. 30 requests/minute per resident JWT. Partner integrations receive elevated limits on signed agreement.

Properties

A property is the top-level container for tenants, units, work orders, payments, and operational data.

GET /api/v1/properties
List all properties accessible to the API key.
Response 200
{
  "data": [
    {
      "id": "prop_1773430645925",
      "name": "Birmingham Place Residential and Commercial",
      "address": "401 South Old Woodward Ave",
      "city": "Birmingham", "state": "MI", "zip": "48009",
      "type": "mixed-use",
      "total_units": 75,
      "managementCompany": "...",
      "created_at": "2025-XX-XXT00:00:00Z"
    }
  ]
}
GET /api/v1/properties/{id}
Retrieve a single property's full record including units, contacts, and operational metadata.

Tenants & Owners

A tenant record represents either a renter or an owner (with tenantType: "Owner"). Owners use the same record structure but include HOA-specific fields.

GET /api/v1/properties/{propertyId}/tenants
List all tenants and owners for a property.
GET /api/v1/tenants/{id}
Retrieve a tenant record. Owner records include hoaFeeMonthly, autoDebitEnabled, autoDebitMethodType, stripeCustomerId.
POST /api/v1/tenants/{id}/payment-method
Attach or update a payment method for auto-debit. Integration partners (e.g. rewards programs) use this endpoint to register their own payment rail as the tenant's preferred method.
Request body
{
  "type": "ach" | "card" | "partner",
  "partner_id": "bilt" | "...",
  "partner_method_id": "...",
  "last4": "1234",
  "auto_debit_enabled": true,
  "auto_debit_day": 5
}

Invoices & Payments

HOA invoicing is monthly-cron-driven for active owners with configured fees, with manual generation also supported.

GET /api/v1/properties/{propertyId}/invoices
List invoices for a property. Filter by status, tenantId, dueDateBefore, dueDateAfter.
POST /api/v1/invoices
Create an invoice for a tenant. Supports line items, due date, and either send-via-email or charge-stored-method.
Request body
{
  "tenant_id": "T-1773675414588",
  "line_items": [
    { "description": "HOA Assessment — June 2026", "amount": 400.00 }
  ],
  "due_date": "2026-06-10",
  "send_now": true,
  "charge_automatically": true
}
Response 200
{
  "invoice_id": "INV-1700000000000",
  "stripe_invoice_id": "in_xxx",
  "hosted_url": "https://invoice.stripe.com/...",
  "pdf_url": "https://invoice.stripe.com/.../pdf",
  "status": "open"
}
POST /api/v1/invoices/{id}/charge
One-off charge against a tenant's stored payment method.
POST /api/v1/tenants/{id}/portal-session
Create a short-lived Stripe Customer Portal session URL (or equivalent partner self-serve URL). Tenant can update card, view past invoices, change subscription.

Work Orders

GET /api/v1/properties/{propertyId}/work-orders
List work orders with status, category, priority, assigned contractor, source (resident portal, kiosk, SMS, admin).
POST /api/v1/work-orders
Create a work order. The platform's AI-triage layer auto-creates work orders from inbound resident SMS messages.

Packages

POST /api/v1/packages
Log a package received at the front desk. Auto-sends SMS and email to the recipient, fires a web push notification, and records photo evidence.

Communications & SMS

The platform includes a Twilio-based two-way SMS system with AI-classified inbound triage. Inbound messages are classified by Claude (maintenance / urgent / payment / question / complaint / general) and routed automatically.

POST /api/v1/communications/send-sms
Send an SMS from the property's Twilio number to a tenant. Logged automatically to the property's communications feed.

Webhooks stable

Subscribe to platform events. We POST to your registered URL with an HMAC-SHA256 signature header.

Available events

tenant.created
tenant.updated
tenant.deleted

invoice.created
invoice.sent
invoice.paid
invoice.payment_failed
invoice.overdue

payment_method.attached
payment_method.detached

work_order.created
work_order.assigned
work_order.completed

package.received
package.picked_up

visitor.pre_authorized
visitor.signed_in
visitor.signed_out

Signature verification

const crypto = require('crypto');
const signature = req.headers['x-bl-signature'];
const expected = crypto.createHmac('sha256', WEBHOOK_SECRET)
                       .update(req.rawBody)
                       .digest('hex');
if (signature !== expected) return res.status(400).end();

Integration Partners

The Business Lab platform is designed to interoperate with external rewards programs, payment processors, mortgage servicers, and resident-experience apps.

Current integrations

  • Stripe — Customers, Invoicing, Subscriptions, Webhooks, Customer Portal stable
  • Plaid — Bank verification via Plaid Link for instant ACH stable
  • Twilio — Two-way SMS with AI triage stable
  • Anthropic Claude — Inbound SMS classification + admin AI helper stable
  • Supabase — Auth, storage, structured data stable
  • Web Push (VAPID) — Native browser notifications stable
  • PandaDoc — Contract generation + e-signature stable

Open integration slots

  • Rewards programs — Bilt Rewards, Mesa, others partner inquiries welcome
  • Mortgage servicers — UWM, Rocket, others partner inquiries welcome
  • HOA-specific tools — Reserve study, estoppel cert services roadmap
  • Accounting — QuickBooks, Xero export roadmap
  • CRM — HubSpot, Salesforce sync roadmap
  • Native mobile — iOS / Android app shells roadmap (or partner app)

System status

Operational. Real-time status page coming at status.thebusiness-lab.com.

API 99.9%

Hosted on Netlify Edge Functions globally.

Webhooks 99.9%

Sub-second delivery from event to webhook.

AI services 99.5%

Anthropic Claude — Haiku for triage, Sonnet for higher-fidelity workflows.

Payment rails stable

Stripe production. Plaid production. PCI-conscious architecture (we never touch raw card numbers).

Changelog

2026-05 — HOA & Auto-Debit (v1.0)

Stripe + Plaid integration for monthly HOA invoicing. Tenant-level HOA fee + auto-debit method storage. Monthly cron generates invoices for all active owners. Stripe webhook handler. Customer Portal access.

2026-04 — AI SMS Triage

Inbound resident SMS classified by Claude into maintenance / urgent / payment / question / complaint / general. Auto-creation of work orders from maintenance SMS. Context-aware auto-reply. 93% classification accuracy in production testing.

2026-04 — Resident Portal (13 tabs)

Auto-Pay enrollment, package tracking, visitor pre-authorization, work-order submission, document downloads, announcements, calendar, wellness rewards integration. PWA installable on iOS + Android.

2026-04 — PWA + Web Push

Service worker. VAPID-based push subscriptions. Package-arrival notifications wired end-to-end.

2026-03 — Multi-Tenant Architecture

Subdomain-per-property routing. Independent property data isolation via tenant slug. Concurrent deployment of bl-property-management and infinity-capital-lending.

Partner inquiries

For strategic partners

Mortgage servicers, rewards programs, payment processors, and other strategic partners: please contact silvio@bewelllifestylecenters.com directly. We respond within one business day. Standard process: 30-min introductory call → NDA + technical scoping → 60-90 day pilot integration.

For general inquiries, visit thebusiness-lab.com.