Create Commercial Deal¶
Creates a new deal for a commercial property type (Office, Retail, Industrial, Self Storage, etc.) 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 be a commercial asset type — one ofOffice,Retail,Industrial,Self_Storage,Distribution_Warehouse,Flex_Office,Special_Purpose,Land,Senior_Housing, orMixed. Use Create Residential Deal forMulti_Family_Apartmentsor Create Hotel Deal forHotel.ownerIdis the Blooma user ID (email address) of the deal owner.commercialLivingUnitCreateDtodefines the initial unit mix — each entry represents a commercial space (suite, floor, size).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 Residential Deal — for multi-family apartment 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: CreateCommercialDealDto
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)
Commercial property category (e.g., Office, Retail, Industrial)
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
commercialLivingUnitCreateDto array [ CommercialLivingUnitCreateDto ]
frontEndGridLineNumber string
Internal value used to order list
description string
Description of commercial unit mix line item
suite string
Suite of commercial unit mix line item
floor number(double)
Floor of commercial unit mix line item
unitSize number(double)
Total square footage for this commercial unit line item
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,
"commercialLivingUnitCreateDto": [
{
"frontEndGridLineNumber": "string",
"description": "string",
"suite": "string",
"floor": 0.0,
"unitSize": 0.0
}
]
}