← Back to Platform Overview
<> Developer Platform

Build on Arrivolution

A comprehensive RESTful API with real-time WebSocket subscriptions, JWT-based authentication, and OpenAPI documentation — everything you need to integrate property management into your applications.

Six Powerful API Domains

Over 40 REST endpoints spanning every aspect of property management — fully documented with OpenAPI specs, request/response examples, and interactive Swagger UI.

40+
REST Endpoints
6
API Domains
Real-time
WebSocket Subscriptions
OpenAPI
3.0 Specification
🔧
Maintenance & Work Orders

Full lifecycle management for maintenance requests — from tenant submission with photo uploads and AI-powered visual analysis to vendor assignment, real-time GPS tracking, and completion.

GET/api/maintenance-requests
POST/api/maintenance-requests
PATCH/api/maintenance-requests/:id/status
GET/api/maintenance-requests/:id/history
POST/api/admin/maintenance-requests/:id/assign
📋
Inspections & Reports

Dynamic inspection checklists generated per-unit (bedrooms, bathrooms), photo uploads with notes and condition ratings, e-signature capture, and admin PDF report generation.

GET/api/inspection/checklist?taskId=…
POST/api/inspection/upload
PATCH/api/inspection/upload
POST/api/inspection/complete
POST/api/inspection/report/generate
🏠
Showings & Tours

End-to-end self-guided showing workflow — tour requests, prospect pre-screening, ID verification with document analysis, geofence verification, smart lock access codes, and feedback collection.

POST/api/showings/request
POST/api/showings/verify-id
POST/api/showings/verify-geofence
POST/api/showings/start-workflow
POST/api/showings/complete-showing
🎉
Events & Community

Create and manage community events (virtual, in-person, hybrid) with RSVP tracking, attendee limits, host info, and real-time attendance counts.

GET/api/events
POST/api/events
POST/api/events/:id/rsvp
GET/api/events/:id/rsvps
🔑
Smart Access & Devices

Seam-powered smart lock integration — device pairing via Connect Webviews, lock/unlock commands, access code management, and webhook-driven state sync.

GET/api/seam/devices
POST/api/seam/connect
GET/api/seam/connect/:id
POST/api/seam/connect/process
👤
Users, Tasks & Onboarding

Tenant provisioning, profile management, guided move-in task workflows (utility setup, key delivery, inspections), and property invite code onboarding.

POST/api/auth/supabase/provision
GET/api/user/profile
GET/api/user/tasks-supabase
POST/api/user/tasks-supabase
PATCH/api/user/tasks-supabase/:id

Built for Developer Experience

Modern, secure infrastructure designed with developers in mind — from authentication to real-time data flow.

🔐

JWT Authentication

Supabase-powered JWT auth with automatic token refresh. All endpoints validate tokens server-side. Role-based access control for admin, manager, staff, and tenant scopes.

Real-Time Subscriptions

WebSocket-powered live updates via Supabase Realtime. Subscribe to changes on tasks, maintenance requests, events, and inspections — no polling required.

🛡️

Row-Level Security

PostgreSQL RLS policies enforce data isolation at the database level. Tenants only see their own data. Zero-trust architecture with per-org isolation.

📷

Media & Upload Pipeline

Cloudinary-powered media pipeline with signed uploads, automatic optimization, and CDN delivery. Inspection photos, ID documents, and maintenance images.

🤖

AI-Powered Analysis

Automatic visual analysis of maintenance photos to detect issues, safety concerns, and recommended actions. ID document verification with facial matching.

🔔

Notifications & Webhooks

Multi-channel notifications via Postmark email templates and Twilio SMS. Inbound webhooks for Seam device events and Postmark delivery tracking.

// Authenticate and subscribe to real-time updates
const session = await supabase.auth.getSession()
const token = session.data.session?.access_token

// REST API call with JWT
const tasks = await fetch('/api/user/tasks-supabase', {
  headers: { 'Authorization': `Bearer ${token}` }
})

// Real-time subscription (no polling needed)
supabase
  .channel('tasks')
  .on('postgres_changes', {
    event: '*',
    schema: 'public',
    table: 'tasks'
  }, (payload) => handleUpdate(payload))
  .subscribe()

Best-in-Class Integrations

Arrivolution connects to the tools property managers and tenants already use — with secure, well-documented integration points at every level.

🏢

AppFolio Stack API

Bi-directional sync for property data, tenant records, and financials. AES-256-GCM encrypted credential vault with per-organization isolation.

🔒

Seam Smart Locks

Device pairing, lock/unlock, access code management, and webhook-driven state sync. Supports Yale, Schlage, August, and more.

📧

Postmark Email

Transactional email delivery with templates for showing confirmations, maintenance updates, invite codes, and inspection reports.

📱

Twilio SMS

A2P-registered messaging for showing invites, access codes, maintenance status updates, and verification codes.

🖼️

Cloudinary Media

Signed upload pipeline, automatic image optimization, PDF generation for reports, and global CDN delivery.

🌐

Matterport 3D Tours

Embedded 3D virtual tours with white-label theming, custom branding, and deep link integration for showings.

// Technology Stack

Framework     → Next.js 14 (App Router, RSC)
Database      → PostgreSQL via Supabase
Auth          → Supabase Auth + JWT + RLS
Real-time     → Supabase Realtime (WebSockets)
Workflows     → Temporal (durable execution)
Media         → Cloudinary (CDN + transforms)
Smart Locks   → Seam (multi-brand support)
Email         → Postmark (templated delivery)
SMS           → Twilio (A2P registered)
Deploy        → DigitalOcean App Platform
Orchestration → Kubernetes (Temporal workers)

Ready to Start Building?

Explore the interactive API docs, grab the OpenAPI spec, or reach out to our engineering team for integration support.