Properties
A property represents a physical real estate asset — a building, complex, or single-family home.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| name | String | Display name |
| address | Address | Full street address |
| type | PropertyType | RESIDENTIAL | COMMERCIAL | MIXED |
| ownerId | String | Owner user ID |
| units | Unit[] | Associated units |
| status | Status | ACTIVE | INACTIVE | ARCHIVED |
Example
{
"id": "prp_abc123",
"name": "Sunset Apartments",
"address": {
"street": "123 Sunset Blvd",
"city": "Los Angeles",
"state": "CA",
"zip": "90028"
},
"type": "RESIDENTIAL",
"ownerId": "usr_own001",
"status": "ACTIVE",
"unitCount": 24
}Related Endpoints
Units
A unit is a rentable space within a property — an apartment, suite, or room.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| propertyId | String | Parent property |
| unitNumber | String | Unit number or label |
| bedrooms | Int | Number of bedrooms |
| bathrooms | Float | Number of bathrooms |
| sqft | Int? | Square footage |
| rentAmount | Decimal | Monthly rent in cents |
| status | UnitStatus | VACANT | OCCUPIED | MAINTENANCE |
Example
{
"id": "unt_456",
"propertyId": "prp_abc123",
"unitNumber": "4B",
"bedrooms": 2,
"bathrooms": 1.5,
"sqft": 950,
"rentAmount": 225000,
"status": "OCCUPIED"
}Related Endpoints
Tenants
A tenant is a person who rents a unit. They have a user account and one or more lease associations.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| userId | String | Associated user account |
| firstName | String | First name |
| lastName | String | Last name |
| String | Contact email | |
| phone | String? | Phone number |
| status | TenantStatus | ACTIVE | PAST | APPLICANT |
Example
{
"id": "tnt_012",
"userId": "usr_tnt012",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@example.com",
"phone": "+1-555-0123",
"status": "ACTIVE"
}Related Endpoints
Leases
A lease ties a tenant to a unit for a specific period with defined financial terms.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| unitId | String | Leased unit |
| tenantId | String | Primary tenant |
| startDate | DateTime | Lease start date |
| endDate | DateTime | Lease end date |
| rentAmount | Decimal | Monthly rent in cents |
| securityDeposit | Decimal | Security deposit amount |
| status | LeaseStatus | ACTIVE | EXPIRED | TERMINATED |
Example
{
"id": "lea_xyz789",
"unitId": "unt_456",
"tenantId": "tnt_012",
"startDate": "2025-01-01T00:00:00.000Z",
"endDate": "2026-01-01T00:00:00.000Z",
"rentAmount": 225000,
"securityDeposit": 225000,
"status": "ACTIVE"
}Related Endpoints
Payments
A payment record tracks money movement — tenant rent payments processed through Kadima.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| leaseId | String | Associated lease |
| tenantId | String | Paying tenant |
| amount | Decimal | Payment amount in cents |
| method | PaymentMethod | ACH | CARD | CHECK |
| status | PaymentStatus | PENDING | COMPLETED | FAILED | REFUNDED |
| processedAt | DateTime? | When payment was processed |
| externalId | String? | Kadima transaction ID |
Example
{
"id": "pay_def456",
"leaseId": "lea_xyz789",
"tenantId": "tnt_012",
"amount": 225000,
"method": "ACH",
"status": "COMPLETED",
"processedAt": "2025-01-05T10:30:00.000Z",
"externalId": "txn_kadima_abc"
}Related Endpoints
Ledger Entries
Immutable financial records that track every monetary event. See the Ledger System guide for details.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| leaseId | String | Associated lease |
| type | EntryType | CHARGE | PAYMENT | REVERSAL | ADJUSTMENT |
| amount | Decimal | Signed amount in cents |
| runningBalance | Decimal | Balance after this entry |
| description | String | Human-readable description |
Example
{
"id": "led_abc123",
"leaseId": "lea_xyz789",
"type": "CHARGE",
"amount": 225000,
"runningBalance": 225000,
"description": "Rent charge - February 2025"
}Related Endpoints
Payouts
Payouts represent disbursements from DoorStax to property owners after collecting rent.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| ownerId | String | Recipient owner |
| amount | Decimal | Payout amount in cents |
| status | PayoutStatus | PENDING | PROCESSING | COMPLETED | FAILED |
| scheduledDate | DateTime | Scheduled payout date |
| completedAt | DateTime? | When payout was sent |
Example
{
"id": "po_ghi789",
"ownerId": "usr_own001",
"amount": 2100000,
"status": "COMPLETED",
"scheduledDate": "2025-01-15T00:00:00.000Z",
"completedAt": "2025-01-15T06:00:00.000Z"
}Related Endpoints
Owners
Property owners who receive payouts and manage their portfolio through DoorStax.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| userId | String | Associated user account |
| companyName | String? | Business entity name |
| properties | Property[] | Owned properties |
| payoutMethod | PayoutMethod | ACH | WIRE | CHECK |
Example
{
"id": "own_001",
"userId": "usr_own001",
"companyName": "Sunset Properties LLC",
"propertyCount": 3,
"payoutMethod": "ACH"
}Related Endpoints
Leads
Prospective tenants who have expressed interest in a unit but have not yet signed a lease.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| unitId | String? | Interested unit |
| firstName | String | First name |
| lastName | String | Last name |
| String | Contact email | |
| status | LeadStatus | NEW | CONTACTED | SCREENING | APPROVED | REJECTED |
| source | String? | Lead source (website, referral, etc.) |
Example
{
"id": "lead_jkl012",
"unitId": "unt_789",
"firstName": "Alex",
"lastName": "Smith",
"email": "alex@example.com",
"status": "SCREENING",
"source": "website"
}Related Endpoints
Users
User accounts that authenticate into DoorStax. Every tenant, owner, and team member has a user record.
Key Fields
| Field | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| String | Login email | |
| name | String | Full name |
| role | UserRole | Assigned role |
| twoFactorEnabled | Boolean | 2FA status |
| status | UserStatus | ACTIVE | SUSPENDED | PENDING |
Example
{
"id": "usr_abc123",
"email": "user@example.com",
"name": "Jane Doe",
"role": "PROPERTY_MANAGER",
"twoFactorEnabled": true,
"status": "ACTIVE"
}