API Introduction

The Buildout API allows you to programmatically access the data associated with your Buildout account. The API is designed as a RESTful web-service that returns JSON. This document defines the API by explaining the data model, describing the methods and responses, and defining the enumerations found in the responses.

API key

The one pre-requisite to using the API is that you have an API key.

*Your API key gives you (or anyone else) full access to all of your data. Keep your API key secret.

When in doubt leave it out

This is a best practice in API design, and the core principle of this API. You can always add functionality, but you can never take it away. As such we are very careful about what we include in it. For example, we currently only support partial PUT requests (i.e. you can only update data a few attributes). If there is something you need that's not supported, let us know. It's likely something we have considered, we just didn't have any justification based on client needs.

A note on limitations

All endpoints are rate-limited as listed below. Requests beyond this limit will be blocked. Please be careful not to make excessive calls to the system (e.g. calling the API from an infinite loop). We currently don't have any limitations on the number of results in a response; however, we expect our API users to utilize our limit and offset parameters, explained below for all GET requests. If we notice long-running API queries retrieving large datasets, we may cancel and block them.

6:00am - 10:00pm CST50 requests per minute
10:00pm - 6:00am CST80 requests per minute

Data Model

The API data model roughly approximates Buildout's underlying data model. The central object in Buildout and the API is the property. The property represents both sale and lease listings. It can have photos and multiple lease spaces. A property belongs to a broker who can have many properties, and the broker belongs to a company that can have many brokers.

Methods and Responses

Currently all methods are read-only, GET requests and share the same base URL:

https://buildout.com/api/v1/<YOUR API KEY>

Every response includes an HTTP status code in the header and a human readable message in the body.

Response codes

200 OKThis means your request was handled successfully.
201 CreatedThe entity was created successfully.
204 No ContentThe request was handled successfully, but there is no content to return.
400 Bad requestSomething about your request was bad. Check the error message.
401 Requests unauthorizedYour API key was probably not correct.
403 Request forbiddenYou tried to make a request that wasn't allowed.
404 Not FoundThe requested entity was not found.
5xx Server errorSomething went wrong on our end.

All routes

GET /companies.json
GET /companies/ID.json
GET /brokers.json
GET /brokers/ID.json
GET /properties.json
GET /properties/ID.json
GET /lease_spaces.json
GET /lease_spaces/ID.json
GET /lots.json
GET /lots/ID.json

List Companies

Returns a list of all companies.

Interface

GET /companies.json

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeDescription
limitinteger (default: null)Maximum number of companies to include in results. If null, return all companies.
offsetinteger (default: 0)Return list of companies starting at this index

Response

AttributeData TypeDescription
countintegerThe total number of companies, not taking into account the limit parameter
companiesarrayA list of companies

Get Company

Returns a single company by id.

Interface

GET /companies/ID.json

Response

companyobjectThe company matching the requested ID

List Offices

Returns a paginated list of Company Offices

Interface

GET /offices.json

Response

officeobjectThe office

Get Office

Returns a single office by id.

Interface

GET /offices/ID.json

Response

officeobjectThe office matching the requested ID

Create Office

Returns a newly created Company Office

Interface

POST /offices.json

Response

officeobjectThe office

Update an Office

Updates an office record identified by the office by id.

Interface

PUT /offices/ID.json

Response

officeobjectThe office matching the requested ID

List Brokers

Returns a list of all brokers.

Interface

GET /brokers.json

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeDescription of Use
limitinteger (default: null)Maximum number of brokers to include in results. If null, return all brokers.
offsetinteger (default: 0)Return list of brokers starting at this index
emailstringAllows you to filter by email
include_non_brokersboolean (default: false)Also return users who are not brokers
include_disabledboolean (default: false)Also return users who are disabled

Response

AttributeData TypeDescription
countintegerThe total number of brokers, not taking into account the limit parameter
brokersarrayA list of brokers

Lookup Users by External ID

Returns a list of all users matching the provided external_ids, up to a maximum of ten (10) users.

Interface

GET /brokers/lookup_external_ids.json?external_ids[]=1&external_ids[]=2&external_ids[]=3

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeRequired?Description of Use
external_idsList of integersyesWhich ExternalID records to look up

Response

AttributeData TypeDescription
brokersobjectcontainer
brokers.messagestringStatus of the request
brokers.recordsobjectMapping of ExternalID => BuildoutUser

Get Broker

Returns a single broker by id.

Interface

GET /brokers/ID.json

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeRequired?Description of Use
include_non_brokersboolean (default: false)noAlso return users who are not brokers

Response

brokerobjectThe broker matching the requested ID

List Properties

Returns a list of all properties.

Interface

GET /properties.json

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeDescription of Use
company_idinteger (default: null)Only return properties from the specified company
company_office_idinteger (default: null)Only return properties from the specified company office
broker_idinteger (default: null)Only return properties from the specified broker (primary brokers only)
limitinteger (default: 30)Maximum number of properties to include in results
offsetinteger (default: 0)Return list of properties starting at this index
on_market_onlyboolean (default: true)Only return properties that are on market
under_contract_onlyboolean (default: false)Only return properties that are under contract
closed_onlyboolean (default: false)Only return properties that are closed
deal_typeStringOptional value for deal type of properties. Can be "sale" or "lease".
proposalboolean (default: false)Set to "true" or "false" to include proposals and non-proposals, respectively. Set to "all" to include proposals and non-proposals.
exclude_draftsboolean (default: true)Do not return properties in a draft state
property_type_idinteger (default: null)Only return properties with the specified property type
country_codestring (default: null)Only return properties with the specified country
sort_resultsArray of strings (default: null)A one or two element array describing the desired sorting of results.
sort_results[0]StringName of the column to sort results by. Right now, we support: "created_at", "updated_at", "sale_price", and "name". If sorting by "sale_price", in a descending direction, lease properties will appear first.
sort_results[1]StringOptional value describing the direction ("ASC" for "ascending" or "DESC" for "descending") to sort the results. If not provided, the API defaults to "ascending".

Response

AttributeData TypeDescription
countintegerThe total number of properties, not taking into account the limit parameter
propertiesarrayA list of properties

Get Property

Returns a single property by id.

Interface

GET /properties/ID.json

Response

propertyobjectThe property matching the requested ID

Lookup Properties by External ID

Returns a list of all properties matching the provided external_ids, up to a maximum of ten (10) properties.

Interface

GET /properties/lookup_external_ids.json?external_ids[]=1&external_ids[]=2&external_ids[]=3

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeRequired?Description of Use
external_idsList of stringsyesWhich ExternalID records to look up
minimalBooleannoOnly return the BuildoutID, rather than the entire property, for a given ExternalID

Response

AttributeData TypeDescription
messagestringStatus of the request
recordsobjectMapping of ExternalID => Property

Post Property

Create a property.

Interface

POST /properties.json

Parameters

The POST request takes one parameter, a property object. The following attributes can be present on property.

ParameterData TypeDescriptionParameter Required?
broker_idintegerForeign key reference to this property's primary brokerConditionally Required
second_broker_idintegerForeign key reference to this property's second broker
third_broker_idintegerForeign key reference to this property's third broker
broker_idsarrayArray of foreign key references to this property's brokers. If this field is present, it will override broker_id, second_broker_id, and third_broker_id. Array order is persisted.Conditionally Required
collaborator_idsarrayArray of foreign key references to users to add as explicit collaborators on this property. Each id must reference a User in your company. Array order is persisted.
addressstringProperty addressRequired
citystringProperty cityConditionally Required
statestringAbbreviation for property stateConditionally Required
zipstringProperty ZIP codeConditionally Required
countystringProperty county nameConditionally Required
country_codestringReference to Country enum. Set to "US" if not set.
country_name_overridestringName of the property's country. Ignored unless country_code is set to "Other".Conditionally Required
hide_addressbooleanIndicates if address is hidden
hide_address_label_overridestringOverride for hidden address label
latitudefloatLatitude and Longitude must both be present to override the lat and lng. Otherwise, the system will use the address to lookup the lat and lng
longitudefloatLatitude and Longitude must both be present to override the lat and lng. Otherwise, the system will use the address to lookup the lat and lng
marketstringProperty market
submarketstringProperty submarket
cross_streetsstringProperty cross streets
location_descriptionstringProperty location description
namestringProperty name
property_type_idintegerReference to PropertyType enumRequired
property_type_label_overridestringText to show instead of the property type's label
property_subtype_idintegerReference to PropertySubtype enumRequired
additional_property_subtype_idsarrayArray of PropertySubtype ids
zoningstringProperty zoning
apnstringAPN #
lot_size_acresfloatProperty lot size, in acres
lot_size_hectaresfloatProperty lot size, in hectares
lot_size_sffloatProperty lot size, in square feet
lot_size_smfloatProperty lot size, in square meters
you_tube_urlstringURL of YouTube video
building_size_sfintegerProperty building size, in SFConditionally Required
number_of_unitsintegerNumber of units in propertyConditionally Required
number_of_floorsintegerNumber of floors in propertyConditionally Required
year_builtintegerYear when property was builtConditionally Required
ceiling_height_ffloatProperty ceiling height, in feet
ceiling_height_minfloatMinimum ceiling clearence
renovatedintegerYear last renovated
parking_ratiofloatParking ratio per 1000 SF
number_of_parking_spacesintegerNumber of parking spaces
utilities_descriptionstringDescription of utilities
traffic_countintegerProperty traffic count
traffic_count_streetstringProperty Traffic count street
traffic_count_frontageintegerTraffic count frontage (ft)
site_descriptionstringDescription of property site
grade_level_doorsintegerApplies only to industrial buildings. The number of grade level doors
dock_high_doorsintegerApplies only to industrial buildings. The number of dock high doors
number_of_cranesintegerApplies only to industrial buildings. The number of cranes
sprinkler_descriptionstringApplies only to industrial buildings. Sprinker system description
power_descriptionstringApplies only to industrial buildings. Power system description
warehouse_pctintegerApplies only to industrial buildings. Warehouse %
industrial_office_spaceintegerApplies only to industrial buildings. Office Space (SF)
occupancy_pctfloatOccupancy %
building_classstringApplies only to Office buildings. Must be A, B, or CConditionally Required
gross_leasable_areaintegerGross leasable area, in SF
salebooleanIndicates that this is a sale listing
sale_deal_status_idintegerReference to DealStatus enum
auctionbooleanTrue if the property is being offered via auction
auction_datedateDate of auction
auction_timestringTime string in 30 minute increments, e.g. 12:00am
auction_locationstringLocation of auction
auction_starting_bid_dollarsintegerAuction starting bid
auction_urlstringAuction URL
hide_sale_pricebooleanIndicates that the sale price should be hidden
hidden_price_labelstringText to show in place of hidden sale price
sale_price_dollarsfloatSale price, in dollars
sale_titlestringTitle for the sale listing of this property
sale_descriptionstringDescription for the sale listing of this propertyConditionally Required
sale_expirationdateDate that the sale listing expires
sale_bulletsarrayA list of bullets for the sale listing of this property
includes_real_estatebooleanSale includes the real estate - True if 'yes', false if 'no', null if 'N/A'
property_use_idintegerReference to PropertyUse enum
tenancy_idintegerReference to Tenancy enum
cap_rate_pctfloatCap rate %
net_operating_incomefloatNet operating income
land_legal_descriptionstringLand legal description
number_of_lotsintegerNumber of lots (for land properties)
best_usestringBest use (for land properties)
irrigationbooleanTrue or false, or specify null if not applicable to this property
irrigation_descriptionstringDescription of irrigation
waterbooleanTrue or false, or specify null if not applicable to this property
water_descriptionstringDescription of water
telephonebooleantrue or false, or specify null if not applicable to this property
telephone_descriptionstringDescription of telephone
cablebooleantrue or false, or specify null if not applicable to this property
cable_descriptionstringDescription of cable
gasbooleantrue or false, or specify null if not applicable to this property
gas_descriptionstringDescription of gas
sewerbooleantrue or false, or specify null if not applicable to this property
environmental_issuesstringEnvironmental issues
topographystringTopography
soil_typestringValid values are ['Clay', 'Gravel', 'Loam', 'Mixed', 'Muck', 'Rock', 'Stone', 'Sandy', 'Other']
easements_descriptionstringDescription of easements
leasebooleanIndicates that this is a lease listing
lease_titlestringTitle for the lease listing of this property
lease_descriptionstringDescription for the lease listing of this propertyConditionally Required
lease_expirationdateDate that the lease listing expires
lease_bulletsarrayA list of bullets for the lease listing of this property
leed_certifiedstringWhether or not the property is LEED certified. One of ['yes', 'no', ''].
photosarrayA list of property photos. The first one is the property's main photo. Limit 100 photos per property.
matterport_urlstringURL to Matterport walkthrough
virtual_tour_urlstringURL to virtual tour (non-Matterport)
proposalbooleanIndicates if the property is a proposal. If present, will set both sale_proposal and lease_proposal
sale_proposalbooleanIndicates if the sale listing is a proposal stage
lease_proposalbooleanIndicates if the property is in the lease proposal stage
notesstringInternal notes for the property
external_idintegerField for tracking ID of property in external systems
custom_fieldsobjectCustom fields, specific to each Buildout client
sale_listed_ondateThe date the property was listed for sale
lease_listed_ondateThe date the property was listed for lease
parking_type_idintegerReference to ParkingType enum
elevatorsstringElevators
sprinklersbooleanSprinklers
construction_status_idintegerReference to ConstructionStatus enum
wallsstringWalls
roofstringRoof
crane_descriptionstringDescription of crane
taxesfloatTaxes
frontagefloatLot frontage in SF
lot_depthfloatLot depth in SF
number_of_buildingsintegerNumber of buildings
foundationstringFoundation
framingstringFraming
exterior_descriptionstringDescription of exterior
exterior_wallsstringDescription of exterior walls
hvacstringHVAC
parking_descriptionstringDescription of parking
landscapingstringLandscaping
rail_accessbooleantrue or false, or specify null if not applicable to this property
column_spacefloat or stringColumn spacing. It can be square or rectangular. For instance, for square 40. for non-square '40x50'
dock_door_descriptionstringDock door description
drive_in_baysintegerNumber of Drive in Bays
trailer_parkingstringTrailer parking
amenitiesstringAmenities
display_locale_overridestringLanguage. See language options
currency_keystringCurrency. See currency options
currency_formatstringCurrency format. One of ['short', 'long']
gross_scheduled_incomefloatThis is the best-case rental income for the property
other_incomefloatThis is the total of all the other possible incomes (non-rental) for the property
operating_expensesfloatThis is the sum of all the expenses for the property
vacancy_costfloatThis is the value representing the empty portion of the building.
down_paymentfloatThis is the sale price less the loan amount
cash_on_cashfloatThis is the pre-tax cash flow divided by the down payment
total_returnfloatThis is the pre-tax cash flow plus the principal reduction from year one
debt_servicefloatThis is a loan payment calculation based on the amount, interest rate, and loan period
principal_reduction_yr_1floatThis is a loan payment calculation based on the amount, interest rate, and loan period
rev_parfloatRevPAR
adrfloatadr
measurementsstringThe system of measurement for the property. Can be one of ['imperial', 'metric']
nearest_highwaystringNearest highway
load_factorfloatLoad factor
restroomsstringRestrooms
mapright_embed_codestringCode for embedding a Land id (formerly MapRight) map of the property
typical_floor_sizefloatTypical floor size, in square feet or square meters depending on the property's measurement system
construction_descriptionstringDescribing how a building is specifically constructed to attract the right tenants/buyers.
floor_coveringsstringType of floor covering a building has
free_standingbooleanIndicates if the property is free standing or not
office_buildoutstringThe construction and customization of the space
powerbooleanDoes the property have power or not
signal_intersectionbooleanIs there the presence of a traffic signal at the intersection, or not, if not applicable
investment_typestringInvestment type risk level for a sale listing (core, core_plus, value_add, opportunistic, distressed)
sale_termsstringContractual details of a property's transfer of ownership
number_of_escalatorsintegerNumber of escalators
nnn_lease_expirationdateDate of NNN lease expiry
nnn_years_left_on_leaseintegerNumber of years left on NNN lease

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/properties.json \
  -d '{"property": {"broker_id": 1, "address": "123 Main St."}}' \
  -H "Content-Type: application/json" -X POST

Put Property

Update a property.

Interface

PUT /properties/ID.json

Parameters

The PUT request takes one parameter, a property object. The following attributes can be present on property.

ParameterData TypeDescription
broker_idintegerForeign key reference to this property's primary broker
second_broker_idintegerForeign key reference to this property's second broker
third_broker_idintegerForeign key reference to this property's third broker
broker_idsarrayArray of foreign key references to this property's brokers. If this field is present, it will override broker_id, second_broker_id, and third_broker_id. Array order is persisted.
collaborator_idsarrayArray of foreign key references to this property's explicit collaborators. If present, replaces the full set of explicit collaborators. Pass an empty array to remove all collaborators. Array order is persisted.
addressstringProperty address
citystringProperty city
statestringAbbreviation for property state
zipstringProperty ZIP code
countystringProperty county name
country_codestringReference to Country enum.
country_name_overridestringName of the property's country. Ignored unless country_code is set to "Other".
hide_addressbooleanIndicates if address is hidden
hide_address_label_overridestringOverride for hidden address label
latitudefloatLatitude and Longitude must both be present to override the lat and lng. Otherwise, the system will use the address to lookup the lat and lng
longitudefloatLatitude and Longitude must both be present to override the lat and lng. Otherwise, the system will use the address to lookup the lat and lng
marketstringProperty market
submarketstringProperty submarket
cross_streetsstringProperty cross streets
location_descriptionstringProperty location description
namestringProperty name
property_type_idintegerReference to PropertyType enum
property_type_label_overridestringText to show instead of the property type's label
property_subtype_idintegerReference to PropertySubtype enum
additional_property_subtype_idsarrayArray of PropertySubtype ids
zoningstringProperty zoning
apnstringAPN #
lot_size_acresfloatProperty lot size, in acres
lot_size_hectaresfloatProperty lot size, in hectares
lot_size_sffloatProperty lot size, in square feet
lot_size_smfloatProperty lot size, in square meters
you_tube_urlstringURL of YouTube video
building_size_sfintegerProperty building size, in SF
number_of_unitsintegerNumber of units in property
number_of_floorsintegerNumber of floors in property
year_builtintegerYear when property was built
ceiling_height_ffloatProperty ceiling height, in feet
ceiling_height_minfloatMinimum ceiling clearence
renovatedintegerYear last renovated
parking_ratiofloatParking ratio per 1000 SF (or square meters if property is metric)
number_of_parking_spacesintegerNumber of parking spaces
utilities_descriptionstringDescription of utilities
traffic_countintegerProperty traffic count
traffic_count_streetstringProperty traffic count street
traffic_count_frontageintegerTraffic count frontage (ft)
occupancy_pctfloatOccupancy %
building_classstringApplies only to Office buildings. Must be A, B, or C
gross_leasable_areaintegerGross leasable area, in SF
salebooleanIndicates that this is a sale listing
sale_deal_status_idintegerReference to DealStatus enum
auctionbooleanTrue if the property is being offered via auction
auction_datedateDate of auction
auction_timestringTime string in 30 minute increments, e.g. 12:00am
auction_locationstringLocation of auction
auction_starting_bid_dollarsintegerAuction starting bid
auction_urlstringAuction URL
hide_sale_pricebooleanIndicates that the sale price should be hidden
hidden_price_labelstringText to show in place of hidden sale price
sale_price_dollarsfloatSale price, in dollars
sale_titlestringTitle for the sale listing of this property
sale_descriptionstringDescription for the sale listing of this property
sale_expirationdateDate that the sale listing expires
sale_bulletsarrayA list of bullets for the sale listing of this property
includes_real_estatebooleanSale includes the real estate - True if 'yes', false if 'no', null if 'N/A'
property_use_idintegerReference to PropertyUse enum
site_descriptionstringDescription of property site
grade_level_doorsintegerApplies only to industrial buildings. The number of grade level doors
dock_high_doorsintegerApplies only to industrial buildings. The number of dock high doors
number_of_cranesintegerApplies only to industrial buildings. The number of cranes
sprinkler_descriptionstringApplies only to industrial buildings. Sprinker system description
power_descriptionstringApplies only to industrial buildings. Power system description
warehouse_pctintegerApplies only to industrial buildings. Warehouse %
industrial_office_spaceintegerApplies only to industrial buildings. Office Space (SF)
tenancy_idintegerReference to Tenancy enum
cap_rate_pctfloatCap rate %
net_operating_incomefloatNet operating income
land_legal_descriptionstringLand legal description
number_of_lotsintegerNumber of lots (for land properties)
best_usestringBest use (for land properties)
irrigationbooleantrue or false, or specify null if not applicable to this property
irrigation_descriptionstringDescription of irrigation
waterbooleantrue or false, or specify null if not applicable to this property
water_descriptionstringDescription of water
telephonebooleantrue or false, or specify null if not applicable to this property
telephone_descriptionstringDescription of telephone
cablebooleantrue or false, or specify null if not applicable to this property
cable_descriptionstringDescription of cable
gasbooleantrue or false, or specify null if not applicable to this property
gas_descriptionstringDescription of gas
sewerbooleantrue or false, or specify null if not applicable to this property
environmental_issuesstringEnvironmental issues
topographystringTopography
soil_typestringValid values are ['Clay', 'Gravel', 'Loam', 'Mixed', 'Muck', 'Rock', 'Stone', 'Sandy', 'Other']
easements_descriptionstringDescription of easements
leasebooleanIndicates that this is a lease listing
lease_titlestringTitle for the lease listing of this property
lease_descriptionstringDescription for the lease listing of this property
lease_expirationdateDate that the lease listing expires
lease_bulletsarrayA list of bullets for the lease listing of this property
leed_certifiedstringWhether or not the property is LEED certified. One of ['yes', 'no', ''].
photosarrayA list of property photos. The first one is the property's main photo. Limit 100 photos per property.
proposalbooleanIndicates if the property is a proposal. If present, will set both sale_proposal and lease_proposal
sale_proposalbooleanIndicates if the sale listing is a proposal stage
lease_proposalbooleanIndicates if the property is in the lease proposal stage
matterport_urlstringURL to Matterport walkthrough
virtual_tour_urlstringURL to virtual tour (non-Matterport)
notesstringInternal notes for the property
external_idintegerField for tracking ID of property in external systems
custom_fieldsobjectCustom fields, specific to each Buildout client
sale_listing_slugstringCustom url path for the sale web listing
sale_listing_enabledbooleanTrue if the property's sale listing should be published to the website
sale_listing_show_in_searchbooleanTrue if the property's sale listing should show up in searches
lease_listing_slugstringCustom url path for the lease web listing
lease_listing_enabledbooleanTrue if the property's lease listing should be published to the website
lease_listing_show_in_searchbooleanTrue if the property's lease listing should show up in searches
sale_listed_ondateThe date the property was listed for sale
lease_listed_ondateThe date the property was listed for lease
parking_type_idintegerReference to ParkingType enum
elevatorsstringElevators
sprinklersbooleanSprinklers
construction_status_idintegerReference to ConstructionStatus enum
wallsstringWalls
roofstringRoof
crane_descriptionstringDescription of crane
taxesfloatTaxes
frontagefloatLot frontage in SF
lot_depthfloatLot depth in SF
number_of_buildingsintegerNumber of buildings
foundationstringFoundation
framingstringFraming
exterior_descriptionstringDescription of exterior
exterior_wallsstringDescription of exterior walls
hvacstringHVAC
parking_descriptionstringDescription of parking
landscapingstringLandscaping
rail_accessbooleantrue or false, or specify null if not applicable to this property
column_spacefloat or stringColumn spacing. It can be square or rectangular. For instance, for square 40. for non-square '40x50'
dock_door_descriptionstringDock door description
drive_in_baysintegerNumber of Drive in Bays
trailer_parkingstringTrailer parking
amenitiesstringAmenities
display_locale_overridestringLanguage. See language options
currency_keystringCurrency. See currency options
currency_formatstringCurrency format. One of ['short', 'long']
gross_scheduled_incomefloatThis is the best-case rental income for the property
other_incomefloatThis is the total of all the other possible incomes (non-rental) for the property
operating_expensesfloatThis is the sum of all the expenses for the property
vacancy_costfloatThis is the value representing the empty portion of the building.
down_paymentfloatThis is the sale price less the loan amount
cash_on_cashfloatThis is the pre-tax cash flow divided by the down payment
total_returnfloatThis is the pre-tax cash flow plus the principal reduction from year one
debt_servicefloatThis is a loan payment calculation based on the amount, interest rate, and loan period
principal_reduction_yr_1floatThis is a loan payment calculation based on the amount, interest rate, and loan period
rev_parfloatRevPAR
adrfloatADR
measurementsstringThe system of measurement for the property. Can be one of ['imperial', 'metric']
nearest_highwaystringNearest highway
load_factorfloatLoad factor
restroomsstringRestrooms
mapright_embed_codestringCode for embedding a Land id (formerly MapRight) map of the property
typical_floor_sizefloatTypical floor size, in square feet or square meters depending on the property's measurement system
construction_descriptionstringDescribing how a building is specifically constructed to attract the right tenants/buyers.
floor_coveringsstringType of floor covering a building has
free_standingbooleanIndicates if the property is free standing or not
office_buildoutstringThe construction and customization of the space
powerbooleanDoes the property have power or not
signal_intersectionbooleanIs there the presence of a traffic signal at the intersection, or not, if not applicable
investment_typestringInvestment type risk level for a sale listing (core, core_plus, value_add, opportunistic, distressed)
sale_termsstringContractual details of a property's transfer of ownership
number_of_escalatorsintegerNumber of escalators
nnn_lease_expirationdateDate of NNN lease expiry
nnn_years_left_on_leaseintegerNumber of years left on NNN lease

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/properties/1.json \
  -d '{"property": {"address": "321 Main St."}}' \
  -H "Content-Type: application/json" -X PUT

Post Property Photo

Create a property photo. Limit 100 photos per property.

Interface

POST /properties/ID/photos.json

Parameters

The POST request takes one parameter, a photo object. All photo images must be unique per property. The following attributes can be present on photo:

ParameterData TypeDescription
datastringBase64 encoded photo
urlstringURL of the photo; ignored if the data attribute is specified
external_idstringAn optional reference ID for external systems
typestringValid values are ['Property Photo', 'Site Plan', 'Retailer Map']
descriptionstringDescription of photo
sort_orderintegerThe order that the photos are returned. The photo with the smallest sort order is the main photo. Sort order must be unique for the attached object. if sort_order is not passed in, it will be given a number so that it is last in order

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/properties/1/photos.json \
  -d '{"photo": {"data": "Eijfv23kcKD1Iek..."}}' \
  -H "Content-Type: application/json" -X POST

Put a Property Photo

Update a properties photo. Limit 100 photos per property.

Interface

PUT /properties/PROPERTY_ID/photos/ID.json

Parameters

The PUT request takes one parameter, a photo object. The following attributes can be present on a photo:

ParameterData TypeDescription
descriptionstringDescription of photo
external_idstringAn optional reference ID for external systems
typestringValid values are ['Property Photo', 'Site Plan', 'Retailer Map']
sort_orderintegerThe order that the photos are returned. The photo with the smallest sort order is the main photo. Sort order must be unique for the attached object.

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/properties/1/photos/1.json \
  -d '{"photo": {"sort_order": "1", "external_id": "ABC123"}}' \
  -H "Content-Type: application/json" -X PUT

Delete a Property Photo

Delete a properties photo.

Interface

DELETE /properties/PROPERTY_ID/photos/ID.json

Parameters

The DELETE request takes no parameters. The system will attempt to delete the photo with the given ID.

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/properties/1/photos/1.json \
  -H "Content-Type: application/json" -X DELETE

List Lease Spaces

Returns a list of all lease spaces.

Interface

GET /lease_spaces.json

Or scoped to a specific property

GET /properties/PROPERTY_ID/lease_spaces.json

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeDescription of Use
limitinteger (default: 30)Maximum number of lease spaces to include in results.
offsetinteger (default: 0)Return list of lease spaces starting at this index
deal_status_idinteger (optional)Filter results to lease spaces with the given deal status. Valid values: 0 (Inactive), 1 (Active), 2 (Under Contract), 3 (Closed).

Response

countintegerThe total number of lease spaces, not taking into account the limit parameter
lease_spacesarrayA list of lease spaces

Get Lease Space

Returns a single lease space by id.

Interface

GET /lease_spaces/ID.json

Response

lease_spaceobjectThe lease space matching the requested ID

Lookup LeaseSpace by External ID

Returns a list of all lease spaces matching the provided external_ids, up to a maximum of ten (10) lease spaces.

Interface

GET /lease_spaces/lookup_external_ids.json?external_ids[]=1&external_ids[]=2&external_ids[]=3

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeRequired?Description of Use
external_idsList of External IDsyesWhich ExternalID records to look up
minimalBooleannoOnly return the BuildoutID, rather than the entire lease space, for a given ExternalID

Response

AttributeData TypeDescription
messagestringStatus of the request
recordsobjectMapping of ExternalID => LeaseSpace

Post Lease Space

Create a lease space.

Interface

POST /lease_spaces.json

Parameters

The POST request takes one parameter, a lease_space object. The following attributes can be present on lease_space.

ParameterData TypeDescriptionParameter Required?
property_idintegerForeign key reference to a PropertyRequired
tenant_namestringName of the tenant occupying the lease space
deal_status_idintegerReference to DealStatus enum
space_type_idintegerReference to PropertySubtype enum
address2stringSecond line of address for lease spaceConditionally Required
suitestringSuite number
floorstringFloor number
hide_lease_ratebooleanIndicates that the lease rate should be hidden
hidden_lease_rate_label_overridestringOverride for Hidden Lease Rate Label
price_per_sf_per_yearfloatDEPRECATED
price_per_sf_per_year_maxfloatDEPRECATED | If this field is present the rate is a range from price_per_sf_per_year to price_per_sf_per_year_max
lease_ratefloatLease rateConditionally Required
lease_rate_maxfloatIf this field is present the rate is a range from lease_rate to lease_rate_max
lease_rate_unitsstringReference to LeaseRateUnit optionRequired
size_sfintegerSpace size, in SFRequired
lease_type_idintegerReference to LeaseType enumConditionally Required
lease_termstringLease term (months)
min_divisible_sfintegerMin divisible, in SF
max_contiguous_sfintegerMax contiguous, in SF
subleasebooleanIndicates that the space is sublease
sublease_expirationdateExpiration date of sublease
descriptionstringDescription of lease space
cam_per_sffloatCam per SF
cam_expense_stopsfloatA tenant's responsibility for common area maintenance expenses and what the baseline is for these expenses.
coolingbooleanIs there cooling in the space
cooling_descriptionstringDescription of the cooling in the space
heatingbooleanIs there heating in the space
heating_descriptionstringDescription of the heating in the space
number_of_parking_spacesintegerNumber of parking spaces available for the lease space
lease_termsstringContractual agreements between a landlord and tenant
net_lease_investmentbooleanIs this a net lease investment or not
number_of_officesintegerNumber of offices in the lease space
signage_availablebooleanIndicates if signage is available for the lease space
tenants_pay_electricbooleanIndicates if tenants pay for electricity
tenants_pay_gasbooleanIndicates if tenants pay for gas
tenants_pay_waterbooleanIndicates if tenants pay for water
ti_allowancefloatThe specific amount of money a landlord provides to a tenant to pay for office buildout
date_availabledateDate available
space_type_label_overridestringOverride for space type label
lease_type_label_overridestringOverride for lease type label
video_urlstringURL for LeaseSpace video
matterport_urlstringURL to Matterport walkthrough
virtual_tour_urlstringURL to virtual tour (non-Matterport)
custom_fieldsobjectCustom fields, specific to each Buildout client
photosarrayA list of LeaseSpace photos. The first one is the main photo. Limit 100 photos per LeaseSpace.
external_idstringField for tracking ID of lease space in external systems
floor_plan_urlstringFloor plan URL
sort_orderintegerSort order of lease space

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces.json \
  -d '{"lease_space": {"property_id": 1, "address2": "Suite 201"}}' \
  -H "Content-Type: application/json" -X POST

Put Lease Space

Update a lease space.

Interface

PUT /lease_spaces/ID.json

Parameters

The PUT request takes one parameter, a lease_space object. The following attributes can be present on lease_space:

ParameterData TypeDescription
tenant_namestringName of the tenant occupying the lease space
deal_status_idintegerReference to DealStatus enum
space_type_idintegerReference to PropertySubtype enum
address2stringSecond line of address for lease space
suitestringSuite number
floorstringFloor number
hide_lease_ratebooleanIndicates that the lease rate should be hidden
hidden_lease_rate_label_overridestringOverride for Hidden Lease Rate Label
price_per_sf_per_yearfloatDEPRECATED
price_per_sf_per_year_maxfloatDEPRECATED | If this field is present the rate is a range from price_per_sf_per_year to price_per_sf_per_year_max
lease_ratefloatLease rate
lease_rate_maxfloatIf this field is present the rate is a range from lease_rate to lease_rate_max
lease_rate_unitsstringReference to LeaseRateUnit option
size_sfintegerSpace size, in SF
lease_type_idintegerReference to LeaseType enum
lease_termstringLease term (months)
min_divisible_sfintegerMin divisible, in SF
max_contiguous_sfintegerMax contiguous, in SF
subleasebooleanDescription of lease space
sublease_expirationdateExpiration date of sublease
cam_per_sffloatCam per SF
descriptionstringDescription of lease space
cam_expense_stopsfloatA tenant's responsibility for common area maintenance expenses and what the baseline is for these expenses.
coolingbooleanIs there cooling in the space
cooling_descriptionstringDescription of the cooling in the space
heatingbooleanIs there heating in the space
heating_descriptionstringDescription of the heating in the space
number_of_parking_spacesintegerNumber of parking spaces available for the lease space
lease_termsstringContractual agreements between a landlord and tenant
net_lease_investmentbooleanIs this a net lease investment or not
number_of_officesintegerNumber of offices in the lease space
signage_availablebooleanIndicates if signage is available for the lease space
tenants_pay_electricbooleanIndicates if tenants pay for electricity
tenants_pay_gasbooleanIndicates if tenants pay for gas
tenants_pay_waterbooleanIndicates if tenants pay for water
ti_allowancefloatThe specific amount of money a landlord provides to a tenant to pay for office buildout
date_availabledateDate available
space_type_label_overridestringOverride for space type label
lease_type_label_overridestringOverride for lease type label
video_urlstringURL for LeaseSpace video
matterport_urlstringURL to Matterport walkthrough
virtual_tour_urlstringURL to virtual tour (non-Matterport)
custom_fieldsobjectCustom fields, specific to each Buildout client
photosarrayA list of LeaseSpace photos. The first one is the main photo. Limit 100 photos per LeaseSpace.
external_idstringField for tracking ID of lease space in external systems
floor_plan_urlstringFloor plan URL
floor_plan_deletebooleanInstruction to remove the floor plan from the LeaseSpace. To remove, send "true".
sort_orderintegerSort order of lease space

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces/1.json \
  -d '{"lease_space": {"address2": "Suite 201"}}' \
  -H "Content-Type: application/json" -X PUT

Post Lease Space Photo

Create a lease space photo. Limit 100 photos per Lease Space

Interface

POST /lease_spaces/ID/photos.json

Or scoped to a specific property

POST /properties/PROPERTY_ID/lease_spaces/LEASE_SPACE_ID/photos.json

Parameters

The POST request takes one parameter, a photo object. All photo images must be unique per lease space. The following attributes can be present on photo:

ParameterData TypeDescription
datastringBase64 encoded photo
urlstringURL of the photo; ignored if the data attribute is specified
external_idstringAn optional reference ID for external systems
typestringValid values are ['Property Photo', 'Site Plan', 'Retailer Map']
descriptionstringDescription of photo
sort_orderintegerThe order that the photos are returned. The photo with the smallest sort order is the main photo. Sort order must be unique for the attached object. if sort_order is not passed in, it will be given a number so that it is last in order

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces/1/photos.json \
  -d '{"photo": {"data": "Eijfv23kcKD1Iek..."}}' \
  -H "Content-Type: application/json" -X POST

Put a Lease Space Photo

Update a lease space photo. Limit 100 photos per Lease Space

Interface

PUT /lease_spaces/LEASE_SPACE_ID/photos/ID.json

Or scoped to a specific property

PUT /properties/PROPERTY_ID/lease_spaces/LEASE_SPACE_ID/photos/ID.json

Parameters

The PUT request takes one parameter, a photo object. The following attributes can be present on a photo:

ParameterData TypeDescription
descriptionstringDescription of photo
external_idstringAn optional reference ID for external systems
typestringValid values are ['Property Photo', 'Site Plan', 'Retailer Map']
sort_orderintegerThe order that the photos are returned. The photo with the smallest sort order is the main photo. Sort order must be unique for the attached object.

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces/1/photos/1.json \
  -d '{"photo": {"sort_order": "1"}}' \
  -H "Content-Type: application/json" -X PUT

Delete a Lease Space Photo

Delete a lease space photo.

Interface

DELETE /lease_spaces/LEASE_SPACE_ID/photos/ID.json

Or scoped to a specific property

DELETE /properties/PROPERTY_ID/lease_spaces/LEASE_SPACE_ID/photos.json

Parameters

The DELETE request takes no parameters. The system will attempt to delete the photo with the given ID.

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/lease_spaces/1/photos/1.json \
  -H "Content-Type: application/json" -X DELETE

List Lots

Returns a list of all lots

Interface

GET /lots.json

Or scoped to a specific property

GET /properties/PROPERTY_ID/lots.json

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeDescriptionParameter Required?
limitintegerMaximum number of lots to include in results. If null, returns 0 lotsRequired
offsetinteger (default: 0)Return list of lots starting at this index

Response

AttributeData TypeDescription
countintegerThe total number of lots, not taking into account the limit parameter
lotsarrayA list of lots

Get Lot

Returns a single lot by id

Interface

GET /lots/ID.json

Response

lotobjectThe lot matching the requested ID

Post Lot

Create a lot

Interface

POST /lots.json

Parameters

The POST request takes one parameter, a lot object. The following attributes can be present on a lot.

ParameterData TypeDescriptionParameter Required?
property_idintegerForeign key reference to the lot's propertyRequired
addressstringThe lot's street address if different from the property's address
apnstringAssessor's parcel number
deal_status_idintegerReference to DealStatus enumRequired
descriptionstringLot description
numberstringLot number or name
property_subtype_idintegerReference to PropertySubtype enum; must be a land type (501 - 507)Required
sale_pricefloatSale price
sale_price_unitsstringReference to Lot Price Units option
sizefloatLot sizeRequired
size_unitsstringReference to Lot Size Units optionRequired
zoningstringZoning description

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/lots.json \
  -d '{"lot": {"property_id": 1, "deal_status_id": 1, "property_subtype_id": 501, "size": 4, "size_units": "acres"}}' \
  -H "Content-Type: application/json" -X POST

Put Lot

Update a lot

Interface

PUT /lots/ID.json

Parameters

The PUT request takes one parameter, a lot object. The following attributes can be present on lot:

ParameterData TypeDescriptionParameter Required?
addressstringThe lot's street address if different from the property's address
apnstringAssessor's parcel number
deal_status_idintegerReference to DealStatus enumRequired
descriptionstringLot description
numberstringLot number or name
property_subtype_idintegerReference to PropertySubtype enum; must be a land type (501 - 507)Required
sale_pricefloatSale price
sale_price_unitsstringReference to Lot Price Units option
sizefloatLot sizeRequired
size_unitsstringReference to Lot Size Units optionRequired
zoningstringZoning description

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/lots/1.json \
  -d '{"lot": {"number": "4"}}' \
  -H "Content-Type: application/json" -X PUT

List Condos

Returns a list of all condos

Interface

GET /condos.json

Or scoped to a specific property

GET /properties/PROPERTY_ID/condos.json

Parameters

The following get parameters can be used to customize your request:

ParameterData TypeDescriptionParameter Required?
limitintegerMaximum number of condos to include in results. If null, returns 0 condosRequired
offsetinteger (default: 0)Return list of condos starting at this index

Response

AttributeData TypeDescription
countintegerThe total number of condos, not taking into account the limit parameter
condosarrayA list of condos

Get Condo

Returns a single condo by id

Interface

GET /condos/ID.json

Response

condoobjectThe condo matching the requested ID

Post condo

Create a condo

Interface

POST /condos.json

Parameters

The POST request takes one parameter, a condo object. The following attributes can be present on a condo.

ParameterData TypeDescriptionParameter Required?
property_idintegerForeign key reference to this condo's propertyRequired
address2stringSecondary address of the condo, for example, unit number
deal_status_idintegerReference to DealStatus enumRequired
descriptionstringDescription
hide_sale_pricebooleanIndicates the condo's sale price should be hidden
hidden_price_label_overridestringText displayed instead of the sale price if hide_sale_price is true
sale_pricefloatSale priceRequired
sale_price_unitsstringReference to Condo Sale Price Units optionRequired
sizefloatCondo size. Specify units with size_unitsRequired
size_unitsstringReference to Condo Size Units optionRequired

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/condos.json \
  -d '{"condo": {"property_id": 1, "address2": "Suite 100", "deal_status_id": 1, "sale_price": 1700,
       "sale_price_units": "dollars_per_sf", "size": 1200, "size_units": "sf"}}' \
  -H "Content-Type: application/json" -X POST

Put condo

Update a condo

Interface

PUT /condos/ID.json

Parameters

The PUT request takes one parameter, a condo object. The following attributes can be present on condo:

ParameterData TypeDescriptionParameter Required?
address2stringSecondary address of the condo, for example, unit number
deal_status_idintegerReference to DealStatus enumRequired
descriptionstringDescription
hide_sale_pricebooleanIndicates the condo's sale price should be hidden
hidden_price_label_overridestringText displayed instead of the sale price if hide_sale_price is true
sale_pricefloatSale priceRequired
sale_price_unitsstringReference to Condo Sale Price Units optionRequired
sizefloatCondo sizeRequired
size_unitsstringReference to Condo Size Units optionRequired

Using curl

curl https://buildout.com/api/v1/<YOUR API KEY>/condos/1.json \
  -d '{"condo": {"address2": "Suite 100"}}' \
  -H "Content-Type: application/json" -X PUT

Models

All get requests contain one or more models representing entities from Buildout. Below is a list of all models exposed by the API and their attributes.

Company

Represents a company

ParameterData TypeDescription
idintegerPrimary key
namestringCompany name
syndication_display_namestringCurated display name for syndication partners
parent_company_namestringParent company name (or null)
addressstringAddress
address2stringSecondary address
citystringCity
statestringTwo letter abbreviation
zipstringZIP code
phone_numberstringEither blank or 10 digits
emailstringEmail
websitestringWebsite
company_officesarrayA list of company office locations
external_idstringAn optional reference id for external systems

CompanyOffice

Represents an office of a company

ParameterData TypeDescription
idintegerPrimary key
namestringName
addressstringAddress
address2stringSecondary address
citystringCity
statestringTwo letter abbreviation
zipstringZIP code
phone_numberstringPhone number
faxstringFax number
descriptionstringDescription
websitestringWebsite
licensesobjectLicense objects
external_idstringAn optional reference id for external systems

Broker

While not synonymous, the Broker model represents Users in the system

ParameterData TypeDescription
idintegerPrimary key
company_idintegerForeign key reference to this brokers company
first_namestringFirst name
last_namestringLast name
phone_numberstringEither blank or 10 digits
phone_extensionstringPhone extension
cell_phonestringEither blank or 10 digits
faxstringEither blank or 10 digits
emailstringEmail
managing_directorbooleanIndicates if broker is a managing director
licensesobjectLicense objects
company_office_idintegerForeign key reference to this brokers company office location
addressstringAddress
address2stringSecondary address
citystringCity
statestringTwo letter abbreviation
zipstringZIP code
job_titlestringJob title
facebook_urlstringFacebook URL
twitter_urlstringTwitter URL
linked_in_urlstringLinkedIn URL
instagram_urlstringInstagram URL
biographystringBiography
educationstringEducation
specialtiesarrayList of specialties
memberships_and_associationsstringMemberships and associations
profile_photo_urlstringProfile photo URL
bio_pdf_urlstringBiography PDF URL
can_have_propertiesbooleanIndicates if broker can have properties
external_idstringAn optional reference id for external systems
custom_fieldsobjectCustom fields, specific to each Buildout client
hide_on_broker_pluginbooleanHide on broker plugin
force_include_on_broker_pluginbooleanIncluded on broker plugin (Uneditable. To change this please update the hide_on_broker_plugin flag)
can_access_property_edit_formbooleanIndicates if broker can access the property edit form
can_make_non_branded_changes_in_documentsbooleanIndicates if a broker can change fonts and colors outside of your brand standards in documents
can_add_custom_content_to_documentsbooleanIndicates if a broker can add new custom pages and elements to documents

Property

Represents a property

ParameterData TypeDescription
idintegerPrimary key
broker_idintegerForeign key reference to this property's primary broker
second_broker_idintegerForeign key reference to this property's second broker
third_broker_idintegerForeign key reference to this property's third broker
broker_idsarrayArray of foreign keys reference to all this property's brokers (Ordered)
collaborator_idsarrayArray of foreign key references to all this property's explicit collaborators (Ordered). Does not include implicit default collaborators (e.g. office admins added via company-level defaults).
addressstringAddress
citystringCity
statestringState
zipstringZIP code
countystringCounty name
country_codestringReference to Country enum
country_namestringFull name of the country
hide_addressbooleanIndicates if address is hidden
hide_address_label_overridestringOverride for hidden address label
marketstringMarket
submarketstringSubmarket
cross_streetsstringCross streets
location_descriptionstringDescription of location
latitudefloatLatitude
longitudefloatLongitude
custom_lat_lngbooleanReturns true if the lat and lng were manually declared (vs allowing Buildout to geocode the address)
namestringName
property_type_idintegerReference to PropertyType enum
property_type_label_overridestringText to show instead of the property type's label
property_subtype_idintegerReference to PropertySubtype enum
zoningstringZoning
apnstringAPN #
lot_size_acresfloatLot size, in acres
you_tube_urlstringYouTube URL
mls_idstringMLS ID
building_size_sfintegerBuilding size, in SF
ceiling_height_ffloatCeiling height in feet
ceiling_height_minfloatMinimum ceiling clearence
renovatedintegerThe year it was last renovated
parking_ratiofloatParking ratio per 1000 SF (or square meters if property is metric)
number_of_parking_spacesintegerNumber of parking spaces
utilities_descriptionstringDescription of utilities
additional_property_subtype_idsarrayArray of PropertySubtype ids
traffic_countintegerTraffic count
traffic_count_streetstringTraffic count street
traffic_count_frontageintegerTraffic count frontage (ft)
site_descriptionstringSite description
grade_level_doorsintegerApplies only to industrial buildings. The number of grade level doors
dock_high_doorsintegerApplies only to industrial buildings. The number of dock high doors
number_of_cranesintegerApplies only to industrial buildings. The number of cranes
sprinkler_descriptionstringApplies only to industrial buildings. Sprinker system description
power_descriptionstringApplies only to industrial buildings. Power system description
warehouse_pctintegerApplies only to industrial buildings. Warehouse %
industrial_office_spaceintegerApplies only to industrial buildings. Office Space (SF)
number_of_unitsintegerNumber of units
number_of_floorsintegerNumber of floors
year_builtintegerYear property built
occupancy_pctfloatOccupancy %
building_classstringApplies only to Office buildings. Must be A, B, or C
gross_leasable_areaintegerGross leasable area
salebooleanIndicates that this is a sale listing
sale_deal_status_idintegerReference to DealStatus enum
auctionbooleanTrue if the property is being offered via auction
auction_datedateDate of auction
auction_timestringTime string in 30 minute increments, e.g. 12:00am
auction_locationstringLocation of auction
auction_starting_bid_dollarsintegerStarting bid amount in auction
auction_urlstringAuction URL
distressedbooleanTrue if the propery is distressed
hide_sale_pricebooleanIndicates that the sale price should be hidden
hidden_price_labelstringLabel for use when price is hidden
sale_price_dollarsfloatSale price calculated from sale_price_per_unit and sale_price_units
sale_price_per_unitfloatSale price per sale_price_units
sale_price_unitsstringReference to Sale Price Units Options
sale_titlestringTitle for the sale listing of this property
sale_descriptionstringDescription for the sale listing of this property
sale_expiration_datedateDate that the sale listing expires
sale_bulletsarrayA list of bullets for the sale listing of this property
sale_pdf_urlstringSale PDF URL
includes_real_estatebooleanSale includes the real estate - True if 'yes', false if 'no', null if 'N/A'
property_use_idintegerReference to PropertyUse enum
tenancy_idintegerReference to Tenancy enum
cap_rate_pctfloatCap rate %
net_operating_incomefloatNet operating income
land_legal_descriptionstringLand legal description
number_of_lotsintegerNumber of lots
best_usestringBest use
irrigationbooleanTrue if 'yes', false if 'no', null if 'N/A'
irrigation_descriptionstringDescription of irrigation
waterbooleanTrue if 'yes', false if 'no', null if 'N/A'
water_descriptionstringDescription of water
telephonebooleanTrue if 'yes', false if 'no', null if 'N/A'
telephone_descriptionstringDescription of telephone
cablebooleanTrue if 'yes', false if 'no', null if 'N/A'
cable_descriptionstringDescription of cable
gasbooleanTrue if 'yes', false if 'no', null if 'N/A'
gas_descriptionstringDescription of gas
sewerbooleanTrue if 'yes', false if 'no', null if 'N/A'
environmental_issuesstringEnvironmental issues
topographystringTopography
soil_typestringSoil type. One of ['Clay', 'Gravel', 'Loam', 'Mixed', 'Muck', 'Rock', 'Stone', 'Sandy', 'Other']
easements_descriptionstringEasements description
leasebooleanIndicates that this is a lease listing
lease_deal_status_idsarrayList of DealStatus IDs, one for each LeaseSpace on the property
lease_titlestringTitle for the lease listing of this property
lease_descriptionstringDescription for the lease listing of this property
lease_expirationdateDate that the lease listing expires
lease_bulletsarrayA list of bullets for the lease listing of this property
lease_pdf_urlstringLease PDF URL
leed_certifiedstringWhether or not the property is LEED certified. One of ['yes', 'no', ''].
photosarrayA list of property photos. The first one is the property's main photo. Limit 100 photos per property.
documentsarrayA list of documents for this property.
matterport_urlstringURL to Matterport walkthrough
virtual_tour_urlstringURL to virtual tour (non-Matterport)
proposalbooleanIndicates if the property is a proposal. Returns true if either sale_proposal or lease_proposal is true.
sale_proposalbooleanIndicates if the sale listing is a proposal stage
lease_proposalbooleanIndicates if the property is in the lease proposal stage
sale_listing_urlstringURL to the property's sale web listing
sale_listing_publishedstringIs the property's sale web listing published
sale_listing_searchablestringIs the property's sale web listing searchable
sale_listing_slugstringCustom url path for the sale web listing
sale_listing_web_titlestringThe string used for this listings sale webpage <title> tag
sale_listing_web_descriptionstringThe string used for this listings sale webpage <description> tag
lease_listing_urlstringURL to the property's lease web listing
lease_listing_publishedstringIs the property's lease web listing published
lease_listing_searchablestringIs the property's lease web listing searchable
lease_listing_slugstringCustom url path for the lease web listing
lease_listing_web_titlestringThe string used for this listings lease webpage <title> tag
lease_listing_web_descriptionstringThe string used for this listings lease webpage <description> tag
sale_listed_ondateThe date the property was listed for sale
lease_listed_ondateThe date the property was listed for lease
parking_type_idintegerReference to ParkingType enum
elevatorsstringElevators
sprinklersbooleanSprinklers
construction_status_idintegerReference to ConstructionStatus enum
wallsstringWalls
roofstringRoof
crane_descriptionstringDescription of crane
taxesfloatTaxes
frontagefloatFrontage
lot_depthfloatLot depth in SF
number_of_buildingsintegerNumber of buildings
draftbooleanDenotes if the property is in draft status
notesstringInternal notes for the property
external_idstringField for tracking ID of property in external systems
brandingstringThe name of the branding associated with this property, if any
custom_fieldsobjectCustom fields, specific to each Buildout client
created_atdatetimeThe time the property was created
updated_atdatetimeThe time the property was last updated
foundationstringFoundation
framingstringFraming
exterior_descriptionstringDescription of exterior
exterior_wallsstringDescription of exterior walls
hvacstringHVAC
parking_descriptionstringDescription of parking
landscapingstringLandscaping
rail_accessbooleanTrue if 'yes', false if 'no', null if 'N/A'
column_spacefloat or stringColumn spacing. It can be square or rectangular. For instance, for square 40. for non-square '40x50'
dock_door_descriptionstringDock door description
drive_in_baysintegerNumber of Drive in Bays
trailer_parkingstringTrailer parking
amenitiesstringAmenities
display_locale_overridestringLanguage. See language options
currency_keystringCurrency. See currency options
currency_formatstringCurrency format. One of ['short', 'long']
measurementsstringThe system of measurement for the property. One of ['imperial', 'metric']
gross_scheduled_incomefloatThis is the best-case rental income for the property
other_incomefloatThis is the total of all the other possible incomes (non-rental) for the property
operating_expensesfloatThis is the sum of all the expenses for the property
vacancy_costfloatThis is the value representing the empty portion of the building.
down_paymentfloatThis is the sale price less the loan amount
cash_on_cashfloatThis is the pre-tax cash flow divided by the down payment
total_returnfloatThis is the pre-tax cash flow plus the principal reduction from year one
debt_servicefloatThis is a loan payment calculation based on the amount, interest rate, and loan period
principal_reduction_yr_1floatThis is a loan payment calculation based on the amount, interest rate, and loan period
rev_parfloatRevPAR
adrfloatADR
nearest_highwaystringNearest highway
load_factorfloatLoad factor
restroomsstringRestrooms
mapright_embed_codestringCode for embedding a Land id (formerly MapRight) map of the property
days_on_marketintegerNumber of days since this product moved into the "On Market" state. If the property is not "On Market", the value will be 0. If the it cannot be calculated, the value will be NULL.
typical_floor_sizefloatTypical floor size, in square feet or square meters depending on the property's measurement system
construction_descriptionstringDescribing how a building is specifically constructed to attract the right tenants/buyers.
floor_coveringsstringType of floor covering a building has
free_standingbooleanIndicates if the property is free standing or not
office_buildoutstringThe construction and customization of the space
powerbooleanDoes the property have power or not
signal_intersectionbooleanIs there the presence of a traffic signal at the intersection, or not, if not applicable
investment_typestringInvestment type risk level for a sale listing (core, core_plus, value_add, opportunistic, distressed)
sale_termsstringContractual details of a property's transfer of ownership
number_of_escalatorsintegerNumber of escalators
nnn_lease_expirationdateDate of NNN lease expiry
nnn_years_left_on_leaseintegerNumber of years left on NNN lease

Languages

List of language options for properties

ValueDescription
enEnglish
en_auEnglish (AU)
es_mxEspañol (MX)
frFrançais
fr_caFrançais (CA)
plPolski

Currencies

List of currency options for properties

USD
CAD
EUR
GBP
MXN
COP
CRC
PAB
AOA
AUD
AWG
BBD
BGN
BSD
BZD
CHF
CLP
CNY
CZK
DOP
GEL
HKD
HUF
JMD
KRW
KYD
MDL
MKD
NZD
PEN
PLN
TTD
TWD
UAH
VND
XCD
XCG

Sale Price Units Options

dollars
dollars_per_sf
dollars_per_sm
dollars_per_acre
dollars_per_hectare

LeaseSpace

Represents a single space for lease

ParameterData TypeDescription
idintegerPrimary key
property_idintegerForeign key reference to this lease space's property
tenant_namestringName of the tenant occupying the lease space
deal_status_idintegerReference to DealStatus enum
space_type_idintegerReference to PropertySubtype enum
address2stringSecondary address of lease space
suitestringSuite number
floorstringFloor number
hide_lease_ratebooleanIndicates that the sale price should be hidden
hidden_lease_rate_label_overridestringOverride for Hidden Lease Rate Label
price_per_sf_per_yearfloatDEPRECATED
price_per_sf_per_year_maxfloatDEPRECATED | If this field is present the rate is a range from price_per_sf_per_year to price_per_sf_per_year_max
lease_ratefloatLease Rate
lease_rate_maxfloatIf this field is present the rate is a range from lease_rate to lease_rate_max
lease_rate_unitsstringReference to LeaseRateUnit option
size_sfintegerLease space size, in SF
space_sizefloatLease space size. Units specified in space_size_units
space_size_unitsstringUnits for space_size. Either SF/sm or acres/hectares
lease_type_idintegerReference to LeaseType enum
lease_termstringLease term (months)
min_divisible_sfintegerMin divisible, in SF
max_contiguous_sfintegerMax contiguous, in SF
tax_per_sffloatTax per SF
cam_per_sffloatCam per SF
cam_expense_stopsfloatA tenant's responsibility for common area maintenance expenses and what the baseline is for these expenses.
coolingbooleanIs there cooling in the space
cooling_descriptionstringDescription of the cooling in the space
heatingbooleanIs there heating in the space
heating_descriptionstringDescription of the heating in the space
number_of_parking_spacesintegerNumber of parking spaces available for the lease space
lease_termsstringContractual agreements between a landlord and tenant
net_lease_investmentbooleanIs this a net lease investment or not
number_of_officesintegerNumber of offices in the lease space
signage_availablebooleanIndicates if signage is available for the lease space
tenants_pay_electricbooleanIndicates if tenants pay for electricity
tenants_pay_gasbooleanIndicates if tenants pay for gas
tenants_pay_waterbooleanIndicates if tenants pay for water
ti_allowancefloatThe specific amount of money a landlord provides to a tenant to pay for office buildout
expensesfloatExpenses
subleasebooleanIndicates if lease space is sublease
sublease_expirationdateDate of sublease expiration
descriptionstringDescription
date_availabledateDate available
floor_plan_urlstringFloor plan URL
space_type_label_overridestringOverride for space type label
lease_type_label_overridestringOverride for lease type label
video_urlstringURL for LeaseSpace video
matterport_urlstringURL to Matterport walkthrough
virtual_tour_urlstringURL to virtual tour (non-Matterport)
photosarrayA list of space photos. Limit 100 photos per lease space.
custom_fieldsobjectCustom fields, specific to each Buildout client
external_idstringField for tracking ID of lease space in external systems
sort_orderintegerSort order of lease space

Lease Rate Unit Options

dollars_per_sf_per_year
dollars_per_sm_per_year
dollars_per_acre_per_year
dollars_per_hectare_per_year
dollars_per_year
dollars_per_sf_per_month
dollars_per_sm_per_month
dollars_per_acre_per_month
dollars_per_hectare_per_month
dollars_per_month

Lot

Represents a single lot for sale

ParameterData TypeDescription
idintegerPrimary key
property_idintegerForeign key reference to the lot's property
addressstringThe lot's street address if different from the property's address
apnstringAssessor's parcel number
deal_status_idintegerReference to DealStatus enum
descriptionstringLot description
numberstringLot number or name
property_subtype_idintegerReference to PropertySubtype enum; must be a land type (501 - 507)
sale_pricefloatSale price
sale_price_unitsstringReference to Lot Price Units option
sizefloatLot size
size_unitsstringReference to Lot Size Units option
sort_orderintegerOrdinal number
zoningstringZoning description

Lot Price Units

dollars
dollars_per_sf
dollars_per_sm
dollars_per_acre
dollars_per_hectare

Lot Size Units

sf
acres
sm
hectare

Condo

Represents a single condo for sale

ParameterData TypeDescription
idintegerPrimary key
property_idintegerForeign key reference to this condo's property
address2stringSecondary address of the condo, for example, unit number
deal_status_idintegerReference to DealStatus enum
descriptionstringDescription
hide_sale_pricebooleanIndicates the condo's sale price should be hidden
hidden_price_label_overridestringText displayed instead of the sale price if hide_sale_price is true
sale_pricefloatSale price
sale_price_unitsstringReference to Condo Sale Price Units option
sizefloatCondo size, units specified by size_units
size_unitsstringReference to Condo Size Units option
sort_orderintegerOrdinal number

Condo Sale Price Unit Options

dollars
dollars_per_sf
dollars_per_sm

Condo Size Unit Options

sf
sm

Photo

Represents a photo

ParameterData TypeDescription
idintegerPrimary key
urlstringURL to the photo image (either PNG or JPG). Photos are capped at 1000×1000px for JPG, 2000×2000px for PNG.
original_file_urlstringURL to the original image file.
external_idstringAn optional reference ID for external systems
typestringValid values are ['Property Photo', 'Site Plan', 'Retailer Map']
descriptionstringDescription
sort_orderintegerThe order that the photos are returned. The photo with the smallest sort order is the main photo.
formatsobjectAdditional photo sizes to use.
thumb: <200x200
medium: <500x500
large: <1000x1000
xlarge: <1500x1500

Document

Represents a document

ParameterData TypeDescription
idintegerPrimary key
urlstringDocument URL
namestringDocument name

Enumerations

Some of the responses include fields that contain enum references. Below is a list of all enumerations currently referenced in the API. Additional entries may be added to these enums in the future, so you should handle this in your code. For example, we will likely add new property subtypes in the future.

Country

Represents the country of property.

OtherOther
USUnited States
BSBahamas
CACanada
MXMexico
TRTurkey
AUAustralia
CHSwitzerland
FRFrance
MCMonaco
ESSpain
UKUnited Kingdom
DEGermany
ITItaly
PLPoland
RORomania
BGBulgaria
GRGreece
HRCroatia
NLNetherlands
CZCzech Republic
IEIreland
ATAustria
HUHungary
SISlovenia
SKSlovakia
CNChina
BQBonaire Sint Eustatius Saba
COColombia
CRCosta Rica
CWCuraçao
DMDominica
DODominican Republic (the)
GEGeorgia
GDGrenada
GPGuadeloupe
JMJamaica
MKNorth Macedonia
MQMartinique
MDMoldova (the Republic of)
MSMontserrat
NZNew Zealand
PAPanama
PEPeru
PRPuerto Rico
BLSaint Barthélemy
KNSaint Kitts and Nevis
LCSaint Lucia
MFSaint Martin
VCSaint Vincent and the Grenadines
SGSingapore
SXSint Maarten
TWTaiwan
TTTrinidad and Tobago
TCTurks and Caicos Islands (the)
UAUkraine
VNVietnam
VGVirgin Islands (British)
VIVirgin Islands (U.S.)
AOLuanda, República de Angola
AWAruba
BBBarbados
BZBelize
CLChile
SHShanghai (China)
KRSouth Korea
KYCayman Islands (the)
AIAnguilla
AGAntigua and Barbuda

PropertyType

Represents the type of property.

1Office
2Retail
3Industrial
5Land
6Multifamily
7Special Purpose
8Hospitality

PropertySubtype

Represents the sub-type of property.

101Office Building
102Creative/Loft
103Executive Suites
104Medical
105Institutional/Governmental
106Office Warehouse
107Office Condo
108Coworking
109Lab
201Street Retail
202Strip Center
203Free Standing Building
204Regional Mall
205Retail Pad
206Vehicle Related
207Outlet Center
208Power Center
209Neighborhood Center
210Community Center
211Specialty Center
212Theme/Festival Center
213Restaurant
214Post Office
215Retail Condo
216Lifestyle Center
301Manufacturing
302Warehouse/Distribution
303Flex Space
304Research & Development
305Refrigerated/Cold Storage
306Office Showroom
307Truck Terminal/Hub/Transit
308Self Storage
309Industrial Condo
310Data Center
501Office
502Retail
503Retail-Pad
504Industrial
505Residential
506Multifamily
507Other
601High-Rise
602Mid-Rise
603Low-Rise/Garden
604Government Subsidized
605Mobile Home Park
606Senior Living
607Skilled Nursing
608Single Family Rental Portfolio
701School
702Marina
703Other
704Golf Course
705Church
801Full Service
802Limited Service
803Select Service
804Resort
805Economy
806Extended Stay
807Casino
1001Single Family
1002Townhouse / Row House
1003Condo / Co-op
1004Manufactured / Mobile Home
1005Vacation / Timeshare
1006Other Residential

ConstructionStatus

Represents the construction status of property.

1Existing
2Under construction
3Proposed
4Build to suit

ParkingType

Represents the parking type of property.

1Roof-Top
2Structure
3Surface
4Underground
5Other

DealStatus

Represents the availability of a property or lease space.

0Inactive
1Active
2Under Contract
3Closed

PropertyUse

Represents the best use of a property for sale.

1Net Leased Investment
2Investment
3Owner / User
4Business for Sale
5Development

Tenancy

Indicates whether a property has a single tenant or multiple tenants.

1Single
2Multiple

LeaseType

Indicates how the lease amount is determined

1Gross
2Modified Gross
3NNN
4Modified Net
5Full Service
6Ground Lease