Intry

Registration & v1 API

Resident auth, registration, and /api/v1 routes.

Overview

Resident-facing APIs live under /api/v1/* (preferred) and legacy /registration/*. Portal and mobile clients use JWT Bearer auth after login.

Deep runbook: docs/REGISTRATION_API.md.

Auth endpoints

MethodPathDescription
POST/api/v1/auth/clerk-sessionExchange Clerk session → Core JWT
POST/registration/registerMaster registration (atomic tenant/property/unit/user/device)
POST/registration/loginEmail/password login → JWT
GET/api/v1/auth/meCurrent user profile

Master registration

POST /registration/register creates or finds Tenant, Property, VirtualNumber, Unit, User, and Device in one atomic, idempotent transaction. Duplicate detection:

EntityMatch key
TenantName (case-insensitive)
PropertyName + tenantId, or address
VirtualNumbere164 (unique)
UnitunitLabel + propertyId
UserEmail (unique)

Protected routes (JWT required)

PrefixPurpose
/api/v1/users/*Profile, preferences
/access/*Approve/deny entry requests
/devices/*Push token registration

Response envelope

Newer v1 routes return:

{ "data": { "user": { "id": "…" } } }

Last verified: 2026-06-21 (commit 293c4a7)

On this page