---
title: "Create a property (Beta)"
method: POST
path: "/properties"
tags: ["Properties"]
---

# Create a property (Beta)

`POST /properties`

Creates a new property in your EasyBroker account, which will be published to all your connected apps. This endpoint is still in beta, please contact our support team if you have any problem or want to share any feedback.

## Request body

- PropertyBody
  - `property_type` string, required — The name of the property type. You can get the full list of property types from the `property_types` endpoint.
  - `title` string, required — The property listing title.
  - `description` string, required — The property listing description.
  - `status` 'published' | 'sold' | 'rented' | 'reserved' | 'suspended' | 'not_published', required — The property status
  - `private_description` string — A private description visible only to your team.
  - `operations` PropertyOperationBody[], required
    - union
      - PropertyOperationSaleOrRentalBody
        - `type` 'sale' | 'rental', required
        - `active` boolean, required — Indicates whether this operation is active or not.
        - `amount` number, double, required
        - `currency` string, required
        - `unit` 'total' | 'square_meter' | 'hectare' — Indicates the property price unit. Defaults to "total"
        - `commission` PropertyCommissionBody
          - `type` 'amount' | 'percentage' | 'months' — The month type is only available for rental commission.
          - `value` number — Commission value corresponding to the specified type. For commission type "months", valid values are: 0.5, 1, 1.5, 2, 3, 4, 5.
          - `currency` string — Only applicable for the "amount" type.
        - `foreclosure` boolean — Indicates whether the property is up for auction. This option is available only to agencies in Mexico.
      - PropertyOperationTemporaryRentalBody
        - `type` string, required
        - `active` boolean, required — Indicates whether this operation is active or not.
        - `currency` string, required
        - `rates` TemporaryRentalRateBody[], required
          - `type` 'daily' | 'weekly' | 'monthly', required
          - `amount` number, double, required
  - `agent` string — The EasyBroker account email of the agent assigned to the property.
  - `show_prices` boolean — An option that allows you to show or hide the EB listing prices.
  - `bedrooms` integer — The number of bedrooms.
  - `bathrooms` integer — The number of bathrooms.
  - `half_bathrooms` integer — The number of half bathrooms.
  - `parking_spaces` integer — The number of parking spaces.
  - `age` string — One of "under_construction", "new_construction" or the year the property was built.
  - `floor` string — The floor number in which the property is located, useful for apartments. It can be set to a custom value such as 'Penthouse'
  - `floors` integer — The number of floors in the building.
  - `expenses` string — The monthly expenses of the property.
  - `internal_id` string — A unique id used in your organization. It can only contain letters, numbers and a small set of special characters (- _ , . & /)
  - `location` PropertyLocationBody, required
    - `name` string — A location string containing the neighborhood, city and the administrative division where the property is located. It must match a location found through the locations endpoint.
    - `street` string — The street where the property is located. Required if the property type isn't in the land category and show exact location is true.
    - `exterior_number` string — The property address exterior number.
    - `interior_number` string — The property address interior number.
    - `cross_street` string — The property address cross street.
    - `postal_code` string — The property address postal code.
    - `latitude` number — The latitude where the property is located.
    - `longitude` number — The longitude where the property is located.
  - `tags` string[] — An array of strings, each one is a tag that will be associated with the property.
  - `features` string[] — 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_commission` boolean — An option to specify whether your agency is willing to share the commission with other agencies in the EasyBroker agency network.
  - `collaboration_notes` string — Notes on conditions or details for collaborations.
  - `images` PropertyImageBody[] — An array of objects, each one containing an image url and a title. Note: Images are processed asynchronously and might take some time to appear in your listing. For an existing listing, this array replaces the existing images. Image requirements: URL must be a valid HTTP/HTTPS URL with file extension (.jpg, .png, .gif, .bmp, .heic), maximum 6MB per image, minimum 500px width or height, valid image MIME type, up to 50 images per listing.
    - `title` string
    - `url` string, required
  - `videos` string[] — An array of strings, each one is a youtube video link that will be associated with the property.
  - `virtual_tour` string — A link to a virtual tour of the property.
  - `show_exact_location` boolean — Set it to 'true' to show the exact address location and map location or 'false' to hide it.
  - `construction_size` number — In square meters
  - `lot_size` number — In square meters
  - `lot_length` integer — In meters
  - `lot_width` integer — In meters
  - `covered_space` number — In square meters. Not Available in Mexico.
  - `uncovered_space` number — In square meters. Only available in Mexico and Argentina.
  - `exclusive` boolean, nullable — Indicates whether the listing is exclusive. Set to `null` if not specified.
  - `shared_commission_percentage` number, 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.

## Response `200`

The property was created successfully

- PropertySingle
  - `public_id` string
  - `title` string
  - `foreclosure` boolean — Indicates whether the property is up for auction. This option is available only to agencies in Mexico.
  - `property_images` PropertyImage[] — Note: Images are processed asynchronously and might take some time to appear in your listing. Deprecated, you should use the "images" attribute instead.
    - `url` string
    - `title` string
  - `images` PropertyImage[] — Note: Images are processed asynchronously and might take some time to appear in your listing.
    - `url` string
    - `title` string
  - `description` string
  - `bedrooms` integer
  - `bathrooms` integer
  - `half_bathrooms` integer
  - `parking_spaces` integer
  - `lot_size` number — In square meters
  - `construction_size` number — In square meters
  - `lot_length` integer
  - `lot_width` integer
  - `covered_space` number — In square meters. Not Available in Mexico.
  - `uncovered_space` number — In square meters. Only available in Mexico and Argentina.
  - `floors` integer
  - `floor` integer
  - `age` string — One of "under_construction", "new" or the year the building was built
  - `internal_id` string — A user defined property ID
  - `expenses` string
  - `property_type` string
  - `agent` Agent
    - `id` integer
    - `name` string
    - `full_name` string
    - `mobile_phone` string
    - `profile_image_url` string
    - `email` string
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `published_at` string, date-time
  - `features` PropertyFeature[]
    - `name` string
    - `category` string
  - `public_url` string
  - `collaboration_notes` string
  - `property_files` string[]
  - `videos` string[]
  - `virtual_tour` string
  - `exclusive` boolean, nullable — Indicates whether the listing is exclusive. Set to `null` if not specified.
  - `shared_commission_percentage` number, 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_description` string
  - `location` PropertyLocation
    - `name` string, required
    - `latitude` number
    - `longitude` number
    - `street` string
    - `postal_code` string
    - `show_exact_location` boolean, required
    - `exterior_number` string — The property address exterior number.
    - `interior_number` string — The property address interior number.
  - `tags` string[]
  - `show_prices` boolean
  - `share_commission` boolean
  - `operations` PropertyOperationWithCommission[]
    - union
      - PropertyOperationSaleOrRentalWithCommission
        - `type` 'sale' | 'rental'
        - `amount` number, double
        - `formatted_amount` string
        - `currency` string
        - `unit` 'total' | 'square_meter' | 'hectare' — Some properties, like warehouses, are sold and rented per square meter. Some terrains are rented per hectare.
        - `commission` PropertyCommission
          - `type` 'percentage' | 'months' | 'amount' — Months type only applies for rental operation.
          - `value` number, double
          - `currency` string
      - PropertyOperationTemporaryRental
        - `type` string, required
        - `amount` number, double
        - `formatted_amount` string
        - `currency` string, required
        - `period` 'monthly' | 'weekly' | 'daily' — Used for temporary rentals

## Other responses

- `401` — API key is missing or invalid, or a restricted country was selected
- `422` — The property couldn't be created because it is invalid

---

[API](https://skmtc.dev/easybroker/apis/easybroker-api.md) · [All operations](https://skmtc.dev/easybroker/apis/easybroker-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/easybroker/easybroker-api/revisions/1aea2ecce635/schema)
