Introduction
Cubby can send outbound webhook notifications to Make.com scenarios when key events occur in the system. These webhooks allow you to build automations that react to events such as a new lead inquiry, a move-in, a move-out, or a tenant becoming delinquent.
Webhooks are sent as HTTP POST requests with a JSON body to URLs you configure in Make.com. Each webhook URL is registered per event type in Cubby's server configuration. Cubby will attempt delivery and will log a failure to our error tracker if the webhook URL does not respond with HTTP 200.
To enable Make.com webhooks for your organization, contact support@cubbystorage.com.
Getting Started
You can install the Make.com Cubby app Here.
Here is a short video walking you through how to set it up: watch the walkthrough.
Topic ID
Each webhook payload includes a topicId field. This is a free-form string set at the organization level in Cubby. You can use it inside Make.com to route events coming into a single webhook URL to different branches of a scenario — for example if you operate multiple brands or organizations.
IDs
Example Entity IDs
cust_FiUtBj8JkF
lease_jOi8joH3Hu
org_Ji9JKfKkhuR
fac_C7bSZyPT6fp
pg_4a2da7d271a
unit_GfNkzV4itfk
Entity IDs follow the same <prefix>_<alpha> format used throughout Cubby's external API.
Money
Money values are integers representing the number of cents (e.g. 9500 means $95.00).
Date and Time
Dates and times follow ISO-8601:
- Date-only fields (e.g.
moveInDate,dueDate) useyyyy-MM-ddwith no time component. - Timestamps ending in
Zare in UTC (e.g.2024-03-01T12:00:00.000000Z). - Timestamps with no timezone suffix are in the local time zone of the facility the record belongs to.
Webhooks
Online Lead Created
Payload
{
"topicId": "your-topic-id",
"lead": {
"leadId": "lead_Hj8JkFiUtB",
"createdAt": "2024-06-01T14:23:00.000000Z",
"updatedAt": "2024-06-01T14:23:00.000000Z",
"customerId": "cust_FiUtBj8JkF",
"source": "WEBSITE | WALK_IN | CALL | CONTACT_FORM | ABANDONED_CHECKOUT | FAILED_CHECKOUT | RESERVED_CHECKOUT | SMS_MESSAGE | WAITLIST_FORM | RESERVATION_FORM | REFERRAL | SEARCH_ENGINE | DIGITAL_AD | BILLBOARD | PHYSICAL_AD | AI_VOICE_AGENT | SPAREFOOT | OTHER",
"customSource": "Google Ad Campaign",
"status": "NEW | ON_HOLD | IN_PROGRESS_HOT | IN_PROGRESS_COLD | CONVERTED | UNQUALIFIED | DUPLICATE | RESERVATION",
"facilityId": "fac_C7bSZyPT6fp",
"pricingGroupId": "pg_4a2da7d271a",
"message": "Looking for a 10x10 unit starting next month.",
"targetMoveInDate": "2024-07-01"
},
"customer": {
"customerId": "cust_FiUtBj8JkF",
"createdAt": "2024-06-01T14:23:00.000000Z",
"updatedAt": "2024-06-01T14:23:00.000000Z",
"name": "Jane Smith",
"firstName": "Jane",
"lastName": "Smith",
"companyName": null,
"military": false,
"contact": {
"email": "jane@example.com",
"phone": "555-867-5309",
"address": "123 Main St",
"address2": null,
"city": "Springfield",
"state": "IL",
"zip": "62701",
"country": "US"
}
},
"facility": {
"facilityId": "fac_C7bSZyPT6fp",
"name": "Springfield Storage",
"contact": {
"address": "456 Oak Ave",
"city": "Springfield",
"state": "IL",
"zip": "62701",
"country": "US",
"phone": "555-555-0100",
"email": "springfield@example.com"
},
"organizationId": "org_Ji9JKfKkhuR"
},
"pricingGroup": {
"pricingGroupId": "pg_4a2da7d271a",
"facilityId": "fac_C7bSZyPT6fp",
"name": "10x10 Climate Controlled",
"width": 10,
"depth": 10,
"height": 8,
"vehicleStorage": false,
"parking": false,
"standardRate": 12500,
"webRate": 10900,
"availableUnits": 3,
"features": ["Climate Controlled", "Drive-up Access"]
},
/* The following fields are included for backward compatibility.
Prefer the structured objects above for new integrations. */
"name": "Jane Smith",
"email": "jane@example.com",
"phone": "555-867-5309",
"source": "WEBSITE",
"targetMoveInDate": "2024-07-01",
"facilityId": "fac_C7bSZyPT6fp",
"facilityName": "Springfield Storage",
"pricingGroupId": "pg_4a2da7d271a",
"pricingGroupName": "10x10 Climate Controlled"
}
Fired when a new lead inquiry is created via an online channel (website checkout, contact form, waitlist, reservation form, etc.).
Payload Fields
| Field | Description |
|---|---|
topicId |
Organization-level routing key configured in Cubby |
lead |
The new lead record. See Lead. |
customer |
The customer who submitted the inquiry. See Customer. |
facility |
The facility the lead expressed interest in. null if no facility was specified. See Facility. |
pricingGroup |
The pricing group (unit type) the lead expressed interest in. null if none specified. See Pricing Group. |
name |
Customer full name (legacy — use customer.name) |
email |
Customer email (legacy — use customer.contact.email) |
phone |
Customer phone (legacy — use customer.contact.phone) |
source |
Lead source (legacy — use lead.source) |
targetMoveInDate |
Desired move-in date (legacy — use lead.targetMoveInDate) |
facilityId |
Facility ID (legacy — use facility.facilityId) |
facilityName |
Facility name (legacy — use facility.name) |
pricingGroupId |
Pricing group ID (legacy — use pricingGroup.pricingGroupId) |
pricingGroupName |
Pricing group name (legacy — use pricingGroup.name) |
Move In
Payload
{
"topicId": "your-topic-id",
"lease": {
"leaseId": "lease_jOi8joH3Hu",
"createdAt": "2024-06-15T09:00:00.000000Z",
"updatedAt": "2024-06-15T09:00:00.000000Z",
"moveInDate": "2024-06-15",
"moveOutDate": null,
"monthlyRentalAmount": 12500,
"customerId": "cust_FiUtBj8JkF",
"unitId": "unit_GfNkzV4itfk",
"pricingGroupId": "pg_4a2da7d271a",
"facilityId": "fac_C7bSZyPT6fp",
"paid": true,
"autoPayEnabled": false,
"paidThroughDate": "2024-07-14",
"nextChargeAmount": 12500,
"nextChargeDate": "2024-07-15",
"overlockNeeded": false,
"coverage": {
"coverageType": "CUBBY | PRIVATE | NONE",
"coverageLevelId": "cvl_abc123",
"startDate": "2024-06-15",
"premiumAmount": 1200,
"coverageAmount": 300000
}
},
"unit": {
"unitId": "unit_GfNkzV4itfk",
"name": "A101",
"width": 10,
"depth": 10,
"height": 8,
"area": 100,
"volume": 800,
"overlocked": false,
"facilityId": "fac_C7bSZyPT6fp",
"pricingGroupId": "pg_4a2da7d271a",
"floorName": "Ground Floor"
},
"customer": {
"customerId": "cust_FiUtBj8JkF",
"name": "Jane Smith",
"firstName": "Jane",
"lastName": "Smith",
"military": false,
"contact": {
"email": "jane@example.com",
"phone": "555-867-5309",
"address": "123 Main St",
"city": "Springfield",
"state": "IL",
"zip": "62701",
"country": "US"
}
},
"facility": {
"facilityId": "fac_C7bSZyPT6fp",
"name": "Springfield Storage",
"organizationId": "org_Ji9JKfKkhuR",
"contact": {
"address": "456 Oak Ave",
"city": "Springfield",
"state": "IL",
"zip": "62701",
"phone": "555-555-0100"
}
},
"pricingGroup": {
"pricingGroupId": "pg_4a2da7d271a",
"facilityId": "fac_C7bSZyPT6fp",
"name": "10x10 Climate Controlled",
"width": 10,
"depth": 10,
"standardRate": 12500,
"webRate": 10900
},
"discounts": [
{
"discountId": "disc_Xk9mPqR3",
"name": "First Month Free",
"type": "FREE_MONTHS",
"active": true,
"startDate": "2024-06-15",
"applicationMethod": "UPFRONT",
"upfrontFreeMonths": 1
}
],
"balances": {
"totalDue": 0,
"deposit": 0,
"prepaid": 12500
},
"createdBy": {
"id": "user_Lm4NpQs7",
"name": "Alex Manager"
}
}
Fired when a tenant's move-in is completed and the lease becomes active.
Payload Fields
| Field | Description |
|---|---|
topicId |
Organization-level routing key |
lease |
The newly active lease. See Lease. |
unit |
The unit being rented. See Unit. |
customer |
The tenant. See Customer. |
facility |
The facility where the unit is located. See Facility. |
pricingGroup |
The pricing group the unit belongs to. See Pricing Group. |
discounts |
Any discounts applied to the lease. See Discount. |
balances |
Current account balances at the time of move-in. See Balances. |
createdBy |
The manager who processed the move-in, if applicable. null for self-serve online move-ins. |
createdBy.id |
Manager's user ID |
createdBy.name |
Manager's display name |
Move Out
Payload
{
"topicId": "your-topic-id",
"lease": {
"leaseId": "lease_jOi8joH3Hu",
"moveInDate": "2024-06-15",
"moveOutDate": "2024-09-30",
"monthlyRentalAmount": 12500,
"customerId": "cust_FiUtBj8JkF",
"unitId": "unit_GfNkzV4itfk",
"facilityId": "fac_C7bSZyPT6fp",
"paid": true,
"paidThroughDate": "2024-09-30",
"overlockNeeded": false
/* ... full lease fields ... */
},
"unit": {/* ... */},
"customer": {/* ... */},
"facility": {/* ... */},
"pricingGroup": {/* ... */},
"discounts": [{/* ... */}],
"balances": {
"totalDue": 0,
"deposit": 0,
"prepaid": 0
}
}
Fired when a tenant's move-out is processed and the lease is closed.
Payload Fields
Same as Move In, minus the createdBy field. See the entity reference sections for full field details.
| Field | Description |
|---|---|
topicId |
Organization-level routing key |
lease |
The closed lease. moveOutDate will be set. See Lease. |
unit |
The vacated unit. See Unit. |
customer |
The tenant. See Customer. |
facility |
The facility. See Facility. |
pricingGroup |
The pricing group. See Pricing Group. |
discounts |
Discounts that were applied to the lease. See Discount. |
balances |
Final account balances at the time of move-out. See Balances. |
Lease Documents Completed
Payload
{
"topicId": "your-topic-id",
"lease": {
"leaseId": "lease_jOi8joH3Hu",
"moveInDate": "2024-06-15",
"customerId": "cust_FiUtBj8JkF",
"unitId": "unit_GfNkzV4itfk",
"facilityId": "fac_C7bSZyPT6fp"
/* ... full lease fields ... */
},
"unit": {/* ... */},
"customer": {/* ... */},
"facility": {/* ... */},
"pricingGroup": {/* ... */},
"discounts": [{/* ... */}],
"balances": {
"totalDue": 0,
"deposit": 0,
"prepaid": 12500
}
}
Fired when a tenant has completed signing all required lease documents (rental agreement, addenda, etc.).
Payload Fields
| Field | Description |
|---|---|
topicId |
Organization-level routing key |
lease |
The lease whose documents were completed. See Lease. |
unit |
The unit. See Unit. |
customer |
The tenant. See Customer. |
facility |
The facility. See Facility. |
pricingGroup |
The pricing group. See Pricing Group. |
discounts |
Discounts applied to the lease. See Discount. |
balances |
Current account balances. See Balances. |
Auction Scheduled
Payload
{
"topicId": "your-topic-id",
"lease": {
"leaseId": "lease_jOi8joH3Hu",
"moveInDate": "2024-01-01",
"delinquencyStartDate": "2024-04-15",
"monthlyRentalAmount": 12500,
"customerId": "cust_FiUtBj8JkF",
"unitId": "unit_GfNkzV4itfk",
"facilityId": "fac_C7bSZyPT6fp",
"paid": false,
"overlockNeeded": true
/* ... full lease fields ... */
},
"unit": {/* ... */},
"customer": {/* ... */},
"facility": {/* ... */},
"pricingGroup": {/* ... */},
"discounts": [{/* ... */}],
"balances": {
"totalDue": 38500,
"deposit": 0,
"prepaid": 0
}
}
Fired when an auction is scheduled for a delinquent tenant's unit.
Payload Fields
| Field | Description |
|---|---|
topicId |
Organization-level routing key |
lease |
The delinquent lease with an auction scheduled. See Lease. |
unit |
The unit to be auctioned. See Unit. |
customer |
The delinquent tenant. See Customer. |
facility |
The facility. See Facility. |
pricingGroup |
The pricing group. See Pricing Group. |
discounts |
Discounts applied to the lease. See Discount. |
balances |
Current account balances including the amount owed. See Balances. |
Tenant Overlocked
Payload
{
"topicId": "your-topic-id",
"lease": {
"leaseId": "lease_jOi8joH3Hu",
"moveInDate": "2024-01-01",
"delinquencyStartDate": "2024-04-15",
"monthlyRentalAmount": 12500,
"customerId": "cust_FiUtBj8JkF",
"unitId": "unit_GfNkzV4itfk",
"facilityId": "fac_C7bSZyPT6fp",
"paid": false,
"overlockNeeded": true
/* ... full lease fields ... */
},
"unit": {
"unitId": "unit_GfNkzV4itfk",
"name": "A101",
"overlocked": true
/* ... full unit fields ... */
},
"customer": {/* ... */},
"facility": {/* ... */},
"pricingGroup": {/* ... */},
"discounts": [{/* ... */}],
"balances": {
"totalDue": 25000,
"deposit": 0,
"prepaid": 0
}
}
Fired when a delinquent tenant's unit is overlocked. Note that unit.overlocked will be true in this payload.
Payload Fields
| Field | Description |
|---|---|
topicId |
Organization-level routing key |
lease |
The delinquent lease. See Lease. |
unit |
The overlocked unit. overlocked will be true. See Unit. |
customer |
The delinquent tenant. See Customer. |
facility |
The facility. See Facility. |
pricingGroup |
The pricing group. See Pricing Group. |
discounts |
Discounts applied to the lease. See Discount. |
balances |
Current account balances including the amount owed. See Balances. |
Entity Reference
Customer
Customer Object
{
"customerId": "cust_FiUtBj8JkF",
"tenantId": "cust_FiUtBj8JkF",
"createdAt": "2024-01-15T10:30:00.000000Z",
"updatedAt": "2024-06-01T14:23:00.000000Z",
"name": "Jane Smith",
"firstName": "Jane",
"lastName": "Smith",
"companyName": null,
"dateOfBirth": "1985-04-12",
"military": false,
"contact": {
"email": "jane@example.com",
"phone": "555-867-5309",
"address": "123 Main St",
"address2": "Apt 4B",
"city": "Springfield",
"state": "IL",
"zip": "62701",
"country": "US"
},
"idType": "DRIVERS_LICENSE | PASSPORT | STATE_ID | OTHER",
"idNumber": "D123-4567-8901",
"leases": ["lease_jOi8joH3Hu"],
"leads": ["lead_Hj8JkFiUtB"]
}
| Field | Description |
|---|---|
customerId |
Unique customer ID |
tenantId |
Alias for customerId (legacy field, same value) |
name |
Full name |
firstName |
First name |
lastName |
Last name |
companyName |
Company name, if applicable |
dateOfBirth |
Date of birth (yyyy-MM-dd) |
military |
Whether the customer has indicated military status |
contact |
Contact details (address, phone, email) |
idType |
Government ID type |
idNumber |
Government ID number |
leases |
IDs of leases associated with this customer |
leads |
IDs of leads associated with this customer |
PII fields (name, firstName, lastName, contact, etc.) are omitted if your integration does not have PII access enabled.
Lead
Lead Object
{
"leadId": "lead_Hj8JkFiUtB",
"createdAt": "2024-06-01T14:23:00.000000Z",
"updatedAt": "2024-06-01T14:23:00.000000Z",
"customerId": "cust_FiUtBj8JkF",
"source": "WEBSITE",
"customSource": null,
"status": "NEW",
"facilityId": "fac_C7bSZyPT6fp",
"pricingGroupId": "pg_4a2da7d271a",
"unitId": null,
"message": "Looking for a 10x10 unit starting next month.",
"targetMoveInDate": "2024-07-01"
}
| Field | Description |
|---|---|
leadId |
Unique lead ID |
customerId |
The customer this lead belongs to |
source |
How the lead originated. One of: WALK_IN, CALL, CONTACT_FORM, ABANDONED_CHECKOUT, FAILED_CHECKOUT, RESERVED_CHECKOUT, SMS_MESSAGE, WAITLIST_FORM, RESERVATION_FORM, WEBSITE, REFERRAL, SEARCH_ENGINE, DIGITAL_AD, BILLBOARD, PHYSICAL_AD, AI_VOICE_AGENT, SPAREFOOT, OTHER |
customSource |
Free-text source label when source is OTHER |
status |
Current lead status. One of: NEW, ON_HOLD, IN_PROGRESS_HOT, IN_PROGRESS_COLD, CONVERTED, UNQUALIFIED, DUPLICATE, RESERVATION |
facilityId |
The facility the lead expressed interest in |
pricingGroupId |
The pricing group (unit type) the lead expressed interest in |
unitId |
A specific unit the lead is interested in, if applicable |
message |
Free-text message from the customer |
targetMoveInDate |
Customer's desired move-in date (yyyy-MM-dd) |
Lease
Lease Object
{
"leaseId": "lease_jOi8joH3Hu",
"createdAt": "2024-06-15T09:00:00.000000Z",
"updatedAt": "2024-06-15T09:00:00.000000Z",
"moveInDate": "2024-06-15",
"moveOutDate": null,
"monthlyRentalAmount": 12500,
"customerId": "cust_FiUtBj8JkF",
"tenantId": "cust_FiUtBj8JkF",
"unitId": "unit_GfNkzV4itfk",
"pricingGroupId": "pg_4a2da7d271a",
"facilityId": "fac_C7bSZyPT6fp",
"paid": true,
"autoPayEnabled": true,
"autoPayPaymentMethodId": "pm_Kj9mLpN2",
"paidThroughDate": "2024-07-14",
"nextChargeAmount": 12500,
"nextChargeDate": "2024-07-15",
"delinquencyStartDate": null,
"overlockNeeded": false,
"unitContents": "Furniture, boxes",
"storingVehicle": false,
"vehicle": null,
"rentChangeScheduledDate": null,
"rentChangeNewRentAmount": null,
"coverage": {
"coverageType": "CUBBY | PRIVATE | NONE",
"coverageLevelId": "cvl_abc123",
"startDate": "2024-06-15",
"premiumAmount": 1200,
"coverageAmount": 300000
},
"coverageChange": null,
"scheduledMoveOut": null,
"alternativeContacts": [
{
"name": "Bob Smith",
"phone": "555-999-0000",
"email": "bob@example.com",
"relationship": "Spouse"
}
]
}
| Field | Description |
|---|---|
leaseId |
Unique lease ID |
moveInDate |
Date the tenant moved in (yyyy-MM-dd) |
moveOutDate |
Date the tenant moved out. null for active leases. |
monthlyRentalAmount |
Current monthly rent in cents |
customerId |
The tenant's customer ID |
tenantId |
Alias for customerId (legacy field) |
unitId |
The rented unit |
pricingGroupId |
The pricing group the unit belongs to |
facilityId |
The facility where the unit is located |
paid |
Whether the account is current (no outstanding balance) |
autoPayEnabled |
Whether auto-pay is active |
autoPayPaymentMethodId |
Payment method used for auto-pay |
paidThroughDate |
The date through which rent has been paid (yyyy-MM-dd) |
nextChargeAmount |
Amount of the next scheduled charge in cents |
nextChargeDate |
Date of the next scheduled charge (yyyy-MM-dd) |
delinquencyStartDate |
Date the account became delinquent. null if current. |
overlockNeeded |
Whether an overlock has been flagged as needed for this unit |
unitContents |
Free-text description of what the tenant is storing |
storingVehicle |
Whether the tenant is storing a vehicle |
vehicle |
Vehicle details if storingVehicle is true. Contains type, licenseNumber, state. |
coverage |
Active protection plan details. null if no coverage. |
coverage.coverageType |
CUBBY (Cubby-managed), PRIVATE (tenant's own policy), or NONE |
coverage.premiumAmount |
Monthly premium in cents |
coverage.coverageAmount |
Coverage limit in cents |
rentChangeScheduledDate |
Date a scheduled rent change takes effect, if any |
rentChangeNewRentAmount |
New rent amount in cents for a scheduled rent change |
scheduledMoveOut |
Scheduled move-out details, if a notice has been given. Contains moveOutDate, noticeGivenDate, moveOutReason, customReason. |
alternativeContacts |
Emergency / alternate contacts on file |
Unit
Unit Object
{
"unitId": "unit_GfNkzV4itfk",
"name": "A101",
"width": 10,
"depth": 10,
"height": 8,
"area": 100,
"volume": 800,
"overlocked": false,
"facilityId": "fac_C7bSZyPT6fp",
"pricingGroupId": "pg_4a2da7d271a",
"leaseId": "lease_jOi8joH3Hu",
"floorName": "Ground Floor",
"free": false,
"insurable": true,
"accessInstructions": "First floor, turn left at the elevator.",
"walkthroughOrder": 12,
"rentability": {
"rentable": true,
"unrentableReason": null,
"unrentableReasonNote": null
}
}
| Field | Description |
|---|---|
unitId |
Unique unit ID |
name |
Unit identifier as shown on the facility map (e.g. "A101") |
width |
Width in feet |
depth |
Depth in feet |
height |
Height in feet |
area |
Floor area in square feet (width × depth) |
volume |
Volume in cubic feet (width × depth × height) |
overlocked |
Whether the unit currently has an overlock applied |
facilityId |
The facility this unit belongs to |
pricingGroupId |
The pricing group this unit belongs to |
leaseId |
The active lease on this unit. null if vacant. |
floorName |
The floor or section name where the unit is located |
free |
true if the unit is vacant and available to rent |
insurable |
Whether the unit is eligible for protection plan coverage |
accessInstructions |
Facility-provided directions to the unit |
rentability |
Rentability status. unrentableReason is one of: ACTIVE_LEASE, REPAIRS_REQUIRED, CLEANING_REQUIRED, UNDER_RENOVATION, USED_BY_FACILITY, OTHER |
Facility
Facility Object
{
"facilityId": "fac_C7bSZyPT6fp",
"name": "Springfield Storage",
"internalName": "SPFLD-01",
"organizationId": "org_Ji9JKfKkhuR",
"longitude": "-89.6501",
"latitude": "39.7817",
"contact": {
"address": "456 Oak Ave",
"address2": null,
"city": "Springfield",
"state": "IL",
"zip": "62701",
"country": "US",
"phone": "555-555-0100",
"email": "springfield@example.com"
}
}
| Field | Description |
|---|---|
facilityId |
Unique facility ID |
name |
Public-facing facility name |
internalName |
Internal reference name used by operators |
organizationId |
The organization this facility belongs to |
longitude |
Facility longitude coordinate |
latitude |
Facility latitude coordinate |
contact |
Physical address and contact details |
Pricing Group
Pricing Group Object
{
"pricingGroupId": "pg_4a2da7d271a",
"facilityId": "fac_C7bSZyPT6fp",
"name": "10x10 Climate Controlled",
"width": 10,
"depth": 10,
"height": 8,
"vehicleStorage": false,
"parking": false,
"standardRate": 12500,
"walkInRate": 13500,
"webRate": 10900,
"strikethroughRate": 12500,
"availableUnits": 3,
"features": ["Climate Controlled", "Drive-up Access"],
"discounts": ["disc_Xk9mPqR3"]
}
| Field | Description |
|---|---|
pricingGroupId |
Unique pricing group ID |
facilityId |
The facility this pricing group belongs to |
name |
Display name (e.g. "10x10 Climate Controlled") |
width |
Unit width in feet |
depth |
Unit depth in feet |
height |
Unit height in feet |
vehicleStorage |
Whether units in this group are for vehicle storage |
parking |
Whether units in this group are parking spaces |
standardRate |
Standard walk-up rate in cents |
walkInRate |
Counter rate quoted to walk-in customers in cents |
webRate |
Online/web rate in cents |
strikethroughRate |
Original price shown as struck-through on the website in cents |
availableUnits |
Number of vacant, rentable units in this group |
features |
List of feature labels (e.g. "Climate Controlled", "Drive-up Access") |
discounts |
IDs of discount programs currently active on this pricing group |
Discount
Discount Object
{
"discountId": "disc_Xk9mPqR3",
"name": "First Month Free",
"type": "FREE_MONTHS | PERCENTAGE | FLAT_AMOUNT",
"status": "ACTIVE | INACTIVE | EXPIRED",
"active": true,
"startDate": "2024-06-15",
"endDate": null,
"applicationMethod": "UPFRONT | ONGOING | DEFERRED",
"applicationAmount": 12500,
"upfrontFreeMonths": 1,
"upfrontPaidMonths": null,
"startAfterMonths": null,
"discountedMonths": null
}
| Field | Description |
|---|---|
discountId |
Unique discount ID |
name |
Discount program name |
type |
FREE_MONTHS, PERCENTAGE, or FLAT_AMOUNT |
status |
ACTIVE, INACTIVE, or EXPIRED |
active |
Whether this discount is currently being applied to the lease |
startDate |
Date the discount started on this lease (yyyy-MM-dd) |
endDate |
Date the discount ended or expires (yyyy-MM-dd). null if ongoing. |
applicationMethod |
How the discount is applied: UPFRONT, ONGOING, or DEFERRED |
applicationAmount |
Discount amount in cents (for flat-amount discounts) |
upfrontFreeMonths |
Number of free months given upfront (for FREE_MONTHS type) |
upfrontPaidMonths |
Number of months that must be paid to receive the free months |
startAfterMonths |
Months after move-in before a deferred discount begins |
discountedMonths |
Total number of months the discount applies |
Balances
Balances Object
{
"totalDue": 25000,
"deposit": 10000,
"prepaid": 0
}
| Field | Description |
|---|---|
totalDue |
Total outstanding balance owed by the tenant, in cents. A positive value means the tenant owes money. |
deposit |
Security deposit held on the account, in cents |
prepaid |
Prepaid credit on the account, in cents. A positive value means the tenant has a credit balance. |