Create a property (Beta) > ## Documentation Index > Fetch the complete documentation index at: https://easybroker-staging.readme.io/llms.txt > Use this file to discover all available pages before exploring further. # Create a property (Beta) 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. # OpenAPI definition ```json { "openapi": "3.0.0", "info": { "version": "1.0", "title": "EasyBroker API", "description": "API for accessing and working with EasyBroker accounts. To get started click the Authorize button below and enter your API key." }, "externalDocs": { "description": "View the getting started guide in Spanish", "url": "https://dev.easybroker.com/docs/api-de-easybroker" }, "security": [ { "ApiKeyAuth": [] } ], "servers": [ { "url": "https://api.stagingeb.com/v1", "description": "API URL" } ], "paths": { "/properties": { "post": { "tags": [ "Properties" ], "summary": "Create a property (Beta)", "description": "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.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PropertyBody" } } } }, "responses": { "200": { "description": "The property was created successfully", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PropertySingle" } } } }, "401": { "$ref": "#/components/responses/UnauthorizedError" }, "422": { "description": "The property couldn't be created because it is invalid", "content": { "application/json": { "schema": { "type": "object", "properties": { "errors": { "type": "object", "example": { "property_type": [ "can't be blank" ] } } } } } } } } } } }, "components": { "responses": { "UnauthorizedError": { "description": "API key is missing or invalid", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "string", "example": "Your API key is invalid" } } } } } } }, "schemas": { "PropertySingleBase": { "properties": { "public_id": { "type": "string", "example": "EB-XXX123" }, "title": { "type": "string", "example": "Beautiful property in Condesa" }, "foreclosure": { "type": "boolean", "example": true, "description": "Indicates whether the property is up for auction. This option is available only to agencies in Mexico." }, "property_images": { "type": "array", "items": { "$ref": "#/components/schemas/PropertyImage" }, "description": "Note: Images are processed asynchronously and might take some time to appear in your listing. Deprecated, you should use the \"images\" attribute instead.", "deprecated": true }, "images": { "type": "array", "items": { "$ref": "#/components/schemas/PropertyImage" }, "description": "Note: Images are processed asynchronously and might take some time to appear in your listing." }, "description": { "type": "string", "example": "This property is very well-lit in a lovely neighborhood overlooking a park." }, "bedrooms": { "type": "integer" }, "bathrooms": { "type": "integer" }, "half_bathrooms": { "type": "integer" }, "parking_spaces": { "type": "integer" }, "lot_size": { "type": "number", "description": "In square meters" }, "construction_size": { "type": "number", "description": "In square meters" }, "lot_length": { "type": "integer" }, "lot_width": { "type": "integer" }, "covered_space": { "type": "number", "description": "In square meters. Not Available in Mexico." }, "uncovered_space": { "type": "number", "description": "In square meters. Only available in Mexico and Argentina." }, "floors": { "type": "integer" }, "floor": { "type": "integer" }, "age": { "type": "string", "example": 2020, "description": "One of \"under_construction\", \"new\" or the year the building was built" }, "internal_id": { "type": "string", "example": "custom-id-001", "description": "A user defined property ID" }, "expenses": { "type": "string", "example": "$100 USD" }, "property_type": { "type": "string", "example": "Apartment" }, "agent": { "$ref": "#/components/schemas/Agent" }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "published_at": { "type": "string", "format": "date-time" }, "features": { "type": "array", "items": { "$ref": "#/components/schemas/PropertyFeature" } }, "public_url": { "type": "string", "example": "https://www.easybroker.com/mx/inmueble/john-smith-amazing-house" }, "collaboration_notes": { "type": "string", "example": "25% per referral" }, "property_files": { "type": "array", "items": { "type": "string", "example": "https://www.easybroker.com/assets/product/logo-be4da843987ccd1c05e26f8703f1787847471b36d08bdb1ec8a91ce4007b0e98.svg" } }, "videos": { "type": "array", "items": { "type": "string", "example": "https://www.youtube.com/watch?v=zVRu7AktR48" } }, "virtual_tour": { "type": "string", "example": "https://my.matterport.com/show/?m=yHsh2roFXnp" }, "exclusive": { "type": "boolean", "nullable": true, "example": false, "description": "Indicates whether the listing is exclusive. Set to `null` if not specified." }, "shared_commission_percentage": { "type": "number", "nullable": true, "example": 50, "description": "Indicates the percentage of the agency fee that is shared. At the moment, it can only contain 50% or `null` if not specified." } } }, "PropertySingle": { "allOf": [ { "$ref": "#/components/schemas/PropertySingleBase" }, { "properties": { "private_description": { "type": "string", "example": "Selling this property is our top priority and we are willing to offer a discount." }, "location": { "$ref": "#/components/schemas/PropertyLocation" }, "tags": { "type": "array", "example": [ "premium", "exclusive" ], "items": { "type": "string" } }, "show_prices": { "type": "boolean", "example": true }, "share_commission": { "type": "boolean", "example": true }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PropertyOperationWithCommission" } } } } ] }, "PropertyOperationWithCommission": { "oneOf": [ { "$ref": "#/components/schemas/PropertyOperationSaleOrRentalWithCommission" }, { "$ref": "#/components/schemas/PropertyOperationTemporaryRental" } ] }, "PropertyOperationSaleOrRentalWithCommission": { "properties": { "type": { "type": "string", "enum": [ "sale", "rental" ] }, "amount": { "type": "number", "format": "double", "example": 500000 }, "formatted_amount": { "type": "string", "example": "$500,000 USD" }, "currency": { "type": "string", "example": "USD" }, "unit": { "type": "string", "enum": [ "total", "square_meter", "hectare" ], "description": "Some properties, like warehouses, are sold and rented per square meter. Some terrains are rented per hectare." }, "commission": { "$ref": "#/components/schemas/PropertyCommission" } } }, "PropertyCommission": { "properties": { "type": { "type": "string", "enum": [ "percentage", "months", "amount" ], "example": "amount", "description": "Months type only applies for rental operation." }, "value": { "type": "number", "format": "double", "example": 10000 }, "currency": { "type": "string", "example": "USD" } } }, "PropertyOperationTemporaryRental": { "required": [ "type", "currency" ], "properties": { "type": { "type": "string", "example": "temporary_rental" }, "amount": { "type": "number", "format": "double", "example": 500 }, "formatted_amount": { "type": "string", "example": "$500 USD" }, "currency": { "type": "string", "example": "USD" }, "period": { "type": "string", "enum": [ "monthly", "weekly", "daily" ], "description": "Used for temporary rentals" } } }, "PropertyImage": { "properties": { "url": { "type": "string", "example": "https://www.easybroker.com/assets/product/logo-be4da843987ccd1c05e26f8703f1787847471b36d08bdb1ec8a91ce4007b0e98.svg" }, "title": { "type": "string", "example": "Fitted kitchen with granite countertops" } } }, "PropertyFeature": { "properties": { "name": { "type": "string", "example": "Pets allowed" }, "category": { "type": "string", "example": "General" } } }, "PropertyLocationBase": { "required": [ "name", "show_exact_location" ], "properties": { "name": { "type": "string", "example": "Condesa, Cuauhtemoc, Ciudad de México" }, "latitude": { "type": "number", "example": 20.676145 }, "longitude": { "type": "number", "example": -103.368962 }, "street": { "type": "string", "example": "Av. México" }, "postal_code": { "type": "string", "example": "06700" }, "show_exact_location": { "type": "boolean", "example": true } } }, "PropertyLocation": { "allOf": [ { "$ref": "#/components/schemas/PropertyLocationBase" }, { "properties": { "exterior_number": { "type": "string", "example": "21A", "description": "The property address exterior number." }, "interior_number": { "type": "string", "example": "304", "description": "The property address interior number." } } } ] }, "PropertyOperationSaleOrRentalBody": { "required": [ "type", "currency", "amount", "active" ], "properties": { "type": { "type": "string", "enum": [ "sale", "rental" ] }, "active": { "type": "boolean", "example": true, "description": "Indicates whether this operation is active or not." }, "amount": { "type": "number", "format": "double", "example": 500000 }, "currency": { "type": "string", "example": "USD" }, "unit": { "type": "string", "description": "Indicates the property price unit. Defaults to \"total\"", "enum": [ "total", "square_meter", "hectare" ] }, "commission": { "type": "object", "$ref": "#/components/schemas/PropertyCommissionBody" }, "foreclosure": { "type": "boolean", "example": true, "description": "Indicates whether the property is up for auction. This option is available only to agencies in Mexico." } } }, "TemporaryRentalRateBody": { "required": [ "type", "amount" ], "properties": { "type": { "type": "string", "enum": [ "daily", "weekly", "monthly" ] }, "amount": { "type": "number", "format": "double", "example": 200 } } }, "PropertyOperationTemporaryRentalBody": { "required": [ "type", "currency", "rates", "active" ], "properties": { "type": { "type": "string", "example": "temporary_rental" }, "active": { "type": "boolean", "example": true, "description": "Indicates whether this operation is active or not." }, "currency": { "type": "string", "example": "USD" }, "rates": { "type": "array", "items": { "$ref": "#/components/schemas/TemporaryRentalRateBody" } } } }, "PropertyOperationBody": { "oneOf": [ { "$ref": "#/components/schemas/PropertyOperationSaleOrRentalBody" }, { "$ref": "#/components/schemas/PropertyOperationTemporaryRentalBody" } ] }, "PropertyCommissionBody": { "properties": { "type": { "type": "string", "enum": [ "amount", "percentage", "months" ], "description": "The month type is only available for rental commission.", "example": "amount" }, "value": { "type": "number", "description": "Commission value corresponding to the specified type. For commission type \"months\", valid values are: 0.5, 1, 1.5, 2, 3, 4, 5.", "example": 1000 }, "currency": { "type": "string", "description": "Only applicable for the \"amount\" type.", "example": "USD" } } }, "PropertyLocationBody": { "properties": { "name": { "type": "string", "example": "Carmen Serdan, Monterrey, Nuevo León", "description": "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": { "type": "string", "example": "Av. México", "description": "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": { "type": "string", "example": "21A", "description": "The property address exterior number." }, "interior_number": { "type": "string", "example": "304", "description": "The property address interior number." }, "cross_street": { "type": "string", "example": "Av. España", "description": "The property address cross street." }, "postal_code": { "type": "string", "example": "06140", "description": "The property address postal code." }, "latitude": { "type": "number", "example": 30.01, "description": "The latitude where the property is located." }, "longitude": { "type": "number", "example": 30.01, "description": "The longitude where the property is located." } } }, "PropertyImageBody": { "required": [ "url" ], "properties": { "title": { "type": "string", "example": "Cozy living room" }, "url": { "type": "string", "example": "https://example.com/images/living-room.png" } } }, "PropertyBody": { "required": [ "property_type", "title", "description", "location", "operations", "status" ], "properties": { "property_type": { "type": "string", "example": "House", "description": "The name of the property type. You can get the full list of property types from the `property_types` endpoint." }, "title": { "type": "string", "example": "Beautiful property in Condesa.", "description": "The property listing title." }, "description": { "type": "string", "example": "This property is very well-lit in a lovely neighborhood overlooking a park.", "description": "The property listing description." }, "status": { "type": "string", "enum": [ "published", "sold", "rented", "reserved", "suspended", "not_published" ], "example": "not_published", "description": "The property status" }, "private_description": { "type": "string", "example": "Selling this property is our top priority and we are willing to offer a discount.", "description": "A private description visible only to your team." }, "operations": { "type": "array", "items": { "$ref": "#/components/schemas/PropertyOperationBody" } }, "agent": { "type": "string", "example": "robert@properties.com", "description": "The EasyBroker account email of the agent assigned to the property." }, "show_prices": { "type": "boolean", "example": true, "description": "An option that allows you to show or hide the EB listing prices." }, "bedrooms": { "type": "integer", "example": 1, "description": "The number of bedrooms." }, "bathrooms": { "type": "integer", "example": 1, "description": "The number of bathrooms." }, "half_bathrooms": { "type": "integer", "example": 1, "description": "The number of half bathrooms." }, "parking_spaces": { "type": "integer", "example": 1, "description": "The number of parking spaces." }, "age": { "type": "string", "example": 2020, "description": "One of \"under_construction\", \"new_construction\" or the year the property was built." }, "floor": { "type": "string", "example": 1, "description": "The floor number in which the property is located, useful for apartments. It can be set to a custom value such as 'Penthouse'" }, "floors": { "type": "integer", "example": 5, "description": "The number of floors in the building." }, "expenses": { "type": "string", "example": "5000", "description": "The monthly expenses of the property." }, "internal_id": { "type": "string", "example": "PROPERTY123", "description": "A unique id used in your organization. It can only contain letters, numbers and a small set of special characters (- _ , . & /)" }, "location": { "$ref": "#/components/schemas/PropertyLocationBody" }, "tags": { "type": "array", "items": { "type": "string" }, "example": [ "premium", "exclusive" ], "description": "An array of strings, each one is a tag that will be associated with the property." }, "features": { "type": "array", "items": { "type": "string" }, "example": [ "elevator", "pets allowed", "fireplace" ], "description": "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": { "type": "boolean", "example": true, "description": "An option to specify whether your agency is willing to share the commission with other agencies in the EasyBroker agency network." }, "collaboration_notes": { "type": "string", "example": "We only share commission with agencies located in the same city.", "description": "Notes on conditions or details for collaborations." }, "images": { "type": "array", "items": { "$ref": "#/components/schemas/PropertyImageBody" }, "description": "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." }, "videos": { "type": "array", "items": { "type": "string" }, "example": [ "http://youtu.be/F-X4SLhorvw", "https://www.youtube.com/watch?v=cowtgmZuai0" ], "description": "An array of strings, each one is a youtube video link that will be associated with the property." }, "virtual_tour": { "type": "string", "example": "https://my.matterport.com/show/?m=TesXpMS6SkN", "description": "A link to a virtual tour of the property." }, "show_exact_location": { "type": "boolean", "example": true, "description": "Set it to 'true' to show the exact address location and map location or 'false' to hide it." }, "construction_size": { "type": "number", "example": 80, "description": "In square meters" }, "lot_size": { "type": "number", "example": 100, "description": "In square meters" }, "lot_length": { "type": "integer", "example": 10, "description": "In meters" }, "lot_width": { "type": "integer", "example": 10, "description": "In meters" }, "covered_space": { "type": "number", "example": 80, "description": "In square meters. Not Available in Mexico." }, "uncovered_space": { "type": "number", "example": 25, "description": "In square meters. Only available in Mexico and Argentina." }, "exclusive": { "type": "boolean", "nullable": true, "example": false, "description": "Indicates whether the listing is exclusive. Set to `null` if not specified." }, "shared_commission_percentage": { "type": "number", "nullable": true, "example": 50, "description": "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." } } }, "Agent": { "properties": { "id": { "type": "integer", "example": 1234 }, "name": { "type": "string", "example": "John Smith" }, "full_name": { "type": "string", "example": "John Smith Doe" }, "mobile_phone": { "type": "string", "example": "5555550000" }, "profile_image_url": { "type": "string", "example": "https://www.easybroker.com/assets/product/logo-be4da843987ccd1c05e26f8703f1787847471b36d08bdb1ec8a91ce4007b0e98.svg" }, "email": { "type": "string", "example": "john@smith.com" } } } }, "securitySchemes": { "ApiKeyAuth": { "type": "apiKey", "in": "header", "name": "X-Authorization", "description": "You can find your API key in the general settings section of your EasyBroker account. It's only accessible for account administrators." } } }, "x-readme": { "explorer-enabled": true, "proxy-enabled": true }, "_id": { "buffer": { "0": 99, "1": 142, "2": 110, "3": 111, "4": 217, "5": 194, "6": 135, "7": 0, "8": 24, "9": 185, "10": 196, "11": 37 } } } ```