Create Residential Deal¶
Creates a new deal for a residential multi-family property along with its collateral, component, and optional living unit records.
Key Details¶
address.fullAddressis validated against the Google Places API. Provide a complete street address (e.g., "1250 Ocean View Drive, San Diego, CA 92101"). Alternatively, supplyaddress.placeIdfor exact geocoding.propertyTypemust beMulti_Family_Apartments. Use Create Commercial Deal for other asset types or Create Hotel Deal for hotels.ownerIdis the Blooma user ID (email address) of the deal owner.residentialLivingUnitCreateDtodefines the initial unit mix — each entry represents a unit type (bedrooms, bathrooms, size, unit count).frontEndGridLineNumbercontrols display ordering.loanAmountis in USD.loanTermis in months.- On success, returns
createdEntityId— the UUID of the newly created deal. Blooma automatically generates the associated collateral and component records. - If the address matches an existing deal, the response may return a
Duplicatederror code.
Related Endpoints¶
- Create Commercial Deal — for office, retail, industrial properties
- Create Hotel Deal — for hotel/hospitality properties
- Get Deal Info — retrieve the newly created deal
- Bulk Update Deals — modify deal properties after creation
Request¶
Type: application/json
Schema: CreateResidentialDealDto
ownerId string
Blooma user ID (email address) of the deal owner
dealName string
address AddressCreateDto
fullAddress string
Complete street address validated by Google Places API (e.g., "1600 Amphitheatre Parkway, Mountain View, CA 94043")
additionalFreeText string
Additional address information such as suite or unit number
placeId string
Google Places unique identifier. If provided, overrides fullAddress
propertyType string(enum)
Residential property category (e.g., Multi_Family_Apartments)
Available enum values: None, Mixed, Hotel, Industrial, Multi_Family_Apartments, Office, Retail, Self_Storage, Land, Special_Purpose, Senior_Housing, Distribution_Warehouse, Flex_Office, Portfolio
loanType string(enum)
Available enum values: Unknown, Acquisition, Acquisition_Construction, Refinance, Refinance_Construction, Construction, Stabilization, Bridge, Permanent
loanAmount number(double)
Requested or originated loan amount, in USD
loanTerm number(double)
Loan maturity term, in months
residentialLivingUnitCreateDto array [ ResidentialLivingUnitCreateDto ]
frontEndGridLineNumber string
Internal value used to order list
description string
Residentail unit mix line item description
bedrooms number(double)
Number of bedrooms for this unit type
bathrooms number(double)
Number of bathrooms for this unit type
unitSize number(double)
Average square footage for this unit type
numUnits number(double)
Number of units of this type (e.g., 20 one-bedroom units)
Response¶
Status: 200
Type: application/json
Schema: CreateResponseDto
success boolean
Indicates whether the API request completed successfully
error ErrorDto
target string
Field or parameter that caused the error
code string(enum)
Error code (e.g., Duplicated, MissingMandatoryField, InvalidCreateValues, MissingEntity)
Available enum values: Duplicated, MissingMandatoryField, InvalidCreateValues, Existing, ValidationError, MissingEntity
message string
details array [ ErrorDto ]
createdEntityId string
UUID of the newly created entity
{
"ownerId": "string",
"dealName": "string",
"address": {
"fullAddress": "string",
"additionalFreeText": "string",
"placeId": "string",
"latLng": {
"lat": 0.0,
"lng": 0.0
}
},
"propertyType": "None",
"loanType": "Unknown",
"loanAmount": 0.0,
"loanTerm": 0.0,
"residentialLivingUnitCreateDto": [
{
"frontEndGridLineNumber": "string",
"description": "string",
"bedrooms": 0.0,
"bathrooms": 0.0,
"unitSize": 0.0,
"numUnits": 0.0
}
]
}