Properties

Create a property

Changed on

Creates a new property in your EasyBroker account, which will be published to all your connected apps.

post/properties

Request

  • Base URL
    https://api.easybroker.com/v1
  • URL
    https://api.easybroker.com/v1/properties
  • Auth
    API key in header X-Authorization

Request body

property_typestring required

The property type symbol returned by the property_types endpoint. Names remain accepted for backward compatibility.

titlestring required

The property listing title.

descriptionstring required

The property listing description.

status'published' | 'sold' | 'rented' | 'reserved' | 'suspended' | 'not_published' required

The property status

private_descriptionstring

A private description visible only to your team.

agentstring

The EasyBroker account email of the agent assigned to the property.

show_pricesboolean

An option that allows you to show or hide the EB listing prices.

bedroomsinteger

The number of bedrooms.

bathroomsinteger

The number of bathrooms.

half_bathroomsinteger

The number of half bathrooms.

parking_spacesinteger

The number of parking spaces.

conservation_state'new' | 'excellent' | 'good' | 'regular' | 'bad' | 'to_remodel' nullable

The condition of the property. Send null to leave it unspecified. Not available for building, commercial or land property types; the value is ignored for those.

floorstring

The floor number in which the property is located, useful for apartments. It can be set to a custom value such as 'Penthouse'

floorsinteger

The number of floors in the building.

rental_maintenance_includedboolean nullable

Indicates whether monthly maintenance is included in the rental price. Required when rental is active and maintenance_amount is provided; otherwise it is cleared to null when rental is inactive.

maintenance_amountinteger nullable

Monthly maintenance amount. When rental is active, rental_maintenance_included must be specified; the amount is required when that field is false.

maintenance_currencystring

Currency code for the maintenance amount. Defaults to the operation currency (rental, sale or temporary rental, in that order) when omitted.

internal_idstring

A unique id used in your organization. It can only contain letters, numbers and a small set of special characters (- _ , . & /)

tagsstring[]

An array of strings, each one is a tag that will be associated with the property.

featuresstring[]

An array with the names of all the features for this property. You can get the full list of features from the features endpoint.

share_commissionboolean

An option to specify whether your agency is willing to share the commission with other agencies in the EasyBroker agency network.

collaboration_notesstring

Notes on conditions or details for collaborations.

videosstring[]

An array of strings, each one is a youtube video link that will be associated with the property.

virtual_tourstring

A link to a virtual tour of the property.

show_exact_locationboolean

Set it to 'true' to show the exact address location and map location or 'false' to hide it.

construction_sizenumber

In square meters

lot_sizenumber

In square meters

lot_lengthnumber

In meters

lot_widthnumber

In meters

covered_spacenumber

In square meters. Not Available in Mexico.

uncovered_spacenumber

In square meters. Only available in Mexico and Argentina.

exclusiveboolean nullable

Indicates whether the listing is exclusive. Set to null if not specified.

shared_commission_percentagenumber nullable

Indicates the percentage of the agency fee that is shared. At the moment, it can only be set to 50% or null if not specified.

Example request

{
  "property_type": "house",
  "title": "Beautiful property in Condesa.",
  "description": "This property is very well-lit in a lovely neighborhood overlooking a park.",
  "status": "not_published",
  "private_description": "Selling this property is our top priority and we are willing to offer a discount.",
  "operations": [
    {
      "active": true,
      "amount": 500000,
      "currency": "USD",
      "commission": {
        "type": "amount",
        "value": 1000,
        "currency": "USD"
      },
      "foreclosure": true,
      "adjudicated": true
    }
  ],
  "agent": "robert@properties.com",
  "show_prices": true,
  "bedrooms": 1,
  "bathrooms": 1,
  "half_bathrooms": 1,
  "parking_spaces": 1,
  "conservation_state": "good",
  "floor": "1",
  "floors": 5,
  "maintenance_amount": 1500,
  "maintenance_currency": "MXN",
  "internal_id": "PROPERTY123",
  "location": {
    "name": "Carmen Serdan, Monterrey, Nuevo León",
    "street": "Av. México",
    "exterior_number": "21A",
    "interior_number": "304",
    "cross_street": "Av. España",
    "postal_code": "06140",
    "latitude": 30.01,
    "longitude": 30.01
  },
  "tags": [
    "premium",
    "exclusive"
  ],
  "features": [
    "elevator",
    "pets allowed",
    "fireplace"
  ],
  "share_commission": true,
  "collaboration_notes": "We only share commission with agencies located in the same city.",
  "images": [
    {
      "title": "Cozy living room",
      "url": "https://example.com/images/living-room.png"
    }
  ],
  "videos": [
    "http://youtu.be/F-X4SLhorvw",
    "https://www.youtube.com/watch?v=cowtgmZuai0"
  ],
  "virtual_tour": "https://my.matterport.com/show/?m=TesXpMS6SkN",
  "show_exact_location": true,
  "construction_size": 80,
  "lot_size": 100,
  "lot_length": 10,
  "lot_width": 10,
  "covered_space": 80,
  "uncovered_space": 25,
  "shared_commission_percentage": 50
}

Response

The property was created successfully

public_idstring
titlestring
foreclosureboolean

Indicates whether the property is up for auction. This option is available only to agencies in Mexico.

adjudicatedboolean

Indicates whether the property has been legally awarded to a creditor. This option is available only to agencies in Mexico.

descriptionstring
bedroomsinteger nullable
bathroomsinteger nullable
half_bathroomsinteger nullable
parking_spacesinteger nullable
lot_sizenumber nullable

In square meters

construction_sizenumber nullable

In square meters

lot_lengthnumber nullable
lot_widthnumber nullable
covered_spacenumber nullable

In square meters. Not Available in Mexico.

uncovered_spacenumber nullable

In square meters. Only available in Mexico and Argentina.

floorsinteger nullable
floorstring nullable
conservation_state'new' | 'excellent' | 'good' | 'regular' | 'bad' | 'to_remodel' nullable

The condition of the property, or null when unspecified.

internal_idstring nullable

A user defined property ID

rental_maintenance_includedboolean nullable

Indicates whether monthly maintenance is included in the rental price. Required when rental is active and maintenance_amount is provided; otherwise it is null when rental is inactive.

maintenance_amountinteger nullable

Monthly maintenance amount. When rental is active, rental_maintenance_included must be specified; the amount is required when that field is false.

maintenance_currencystring

Currency of the maintenance amount. Defaults to the operation currency (rental, sale or temporary rental, in that order) when no maintenance currency has been set.

property_typestring
created_atstring date-time
updated_atstring date-time
published_atstring date-time nullable
public_urlstring
collaboration_notesstring nullable
property_filesstring[]
videosstring[]
virtual_tourstring nullable
exclusiveboolean nullable

Indicates whether the listing is exclusive. Set to null if not specified.

shared_commission_percentagenumber nullable

Indicates the percentage of the agency fee that is shared. At the moment, it can only contain 50% or null if not specified.

private_descriptionstring nullable
tagsstring[]
show_pricesboolean
share_commissionboolean

Example response

{
  "public_id": "EB-XXX123",
  "title": "Beautiful property in Condesa",
  "foreclosure": true,
  "adjudicated": true,
  "images": [
    {
      "url": "https://assets.easybroker.com/property_images/123/456/EB-010101.jpg?s=3f9a1c2e7b6d4a08&version=1713484800",
      "title": "Fitted kitchen with granite countertops"
    }
  ],
  "description": "This property is very well-lit in a lovely neighborhood overlooking a park.",
  "conservation_state": "good",
  "internal_id": "custom-id-001",
  "maintenance_amount": 1500,
  "maintenance_currency": "MXN",
  "property_type": "Apartment",
  "agent": {
    "id": 1234,
    "name": "John Smith",
    "full_name": "John Smith Doe",
    "mobile_phone": "5555550000",
    "profile_image_url": "https://www.easybroker.com/assets/product/logo-be4da843987ccd1c05e26f8703f1787847471b36d08bdb1ec8a91ce4007b0e98.svg",
    "email": "john@smith.com"
  },
  "features": [
    {
      "name": "Pets allowed",
      "category": "General"
    }
  ],
  "public_url": "https://www.easybroker.com/inmueble/john-smith-amazing-house",
  "collaboration_notes": "25% per referral",
  "property_files": [
    "https://www.easybroker.com/assets/product/logo-be4da843987ccd1c05e26f8703f1787847471b36d08bdb1ec8a91ce4007b0e98.svg"
  ],
  "videos": [
    "https://www.youtube.com/watch?v=zVRu7AktR48"
  ],
  "virtual_tour": "https://my.matterport.com/show/?m=yHsh2roFXnp",
  "shared_commission_percentage": 50,
  "private_description": "Selling this property is our top priority and we are willing to offer a discount.",
  "location": {
    "name": "Condesa, Cuauhtemoc, Ciudad de México",
    "latitude": 20.676145,
    "longitude": -103.368962,
    "street": "Av. México",
    "postal_code": "06700",
    "show_exact_location": true,
    "exterior_number": "21A",
    "interior_number": "304"
  },
  "tags": [
    "premium",
    "exclusive"
  ],
  "show_prices": true,
  "share_commission": true,
  "operations": [
    {
      "amount": 500000,
      "formatted_amount": "$500,000 USD",
      "currency": "USD",
      "commission": {
        "type": "amount",
        "value": 10000,
        "currency": "USD"
      }
    }
  ]
}

Changes

    • breaking

      the ////// request property's minItems was increased to 1

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property ////// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property //// became nullable for the status

    • breaking

      the response property ////// became nullable for the status

    • breaking

      the response property ////// became nullable for the status

    • breaking

      the response property ////// became nullable for the status

    • breaking

      the response property ////// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property / became nullable for the status

    • breaking

      response property allOf[PropertySingleBase]/age list-of-types was widened by adding types integer to media type application/json of response 200

    • breaking

      the //// response's property type changed from integer to string for status

    • breaking

      the //// response's property type changed from integer to number for status

    • breaking

      the //// response's property type changed from integer to number for status

    • warning

      the ////// request property's exclusiveMinimum was set to true

    • warning

      the //////// request property's exclusiveMinimum was set to true

    • warning

      the // request property's maxLength was set to 60

    • warning

      the ////// request property's max was set to 100000000000.00

    • warning

      the //////// request property's max was set to 100000000000.00

    • warning

      the ////// request property's min was set to 0.00

    • warning

      the //////// request property's min was set to 0.00

    • warning

      removed the request property

    • warning

      removed the optional property //// from the response with the status

    • warning

      removed the optional property //// from the response with the status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property //////

    • info

      added the new optional request property

    • info

      request property list-of-types was widened by adding types integer to media type application/json

    • info

      the request property type was generalized from integer to number

    • info

      the request property type was generalized from integer to number

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property ////// to the response with the status