To publish or update a listing you need to build a property object with the structure described on this page. It is sent inside the property field of the body of POST /cabaprop/publish and PUT /cabaprop/property.

status, external_reference, real_estate_id and branch_office_id are filled in automatically by the server — do not send them (if you do, they are ignored).

Model

{
  "title": "Hermosa casa 4 ambientes con parrilla",
  "description": "Casa de 4 ambientes con jardín y parrilla, a metros del subte D.",
  "operation_type": "1",
  "property_type": "3",
  "sub_property_type": "12",
  "location": {
    "barrios": [1234],
    "area_level_1": "Buenos Aires",
    "area_level_2": "Palermo",
    "cp": "1425",
    "cp_suffix": "",
    "letter": "",
    "lat": "-34.5885",
    "lng": "-58.4306",
    "locality": "Palermo, Capital Federal",
    "street": "Av. Santa Fe",
    "number": "3253"
  },
  "share": {},
  "surface": {
    "totalSurface": 180,
    "coveredSurface": 140
  },
  "antiquity": {
    "years": 15,
    "type": 2
  },
  "price": {
    "currency": 1,
    "total": 250000,
    "expenses": 15000,
    "expensesCurrency": 2
  },
  "characteristics": {
    "ambience": 4,
    "bedrooms": 3,
    "bathrooms": 2,
    "toilettes": 1,
    "accessibilities": false
  },
  "images": [
    {
      "url": "https://tu-servidor.com/fotos/casa-4amb-1.jpg",
      "title": "imagen1",
      "originalname": "Hermosa casa 4 ambientes1",
      "filename": null
    }
  ],
  "houseMaps": [
    {
      "url": "https://tu-servidor.com/planos/casa-4amb.jpg",
      "title": "plano",
      "originalname": "Hermosa casa 4 ambientes",
      "filename": null
    }
  ],
  "video": "https://www.youtube.com/watch?v=xxxxxxxxxxx",
  "video360": "",
  "extras": {
    "serviciosEsenciales": {
      "internet_wifi": true,
      "tv_cable": false,
      "telefono": false
    },
    "seguridad": {
      "alarma": true,
      "grupoElectrogeno": false
    },
    "calefaccion": {
      "aireAcondicionado": true,
      "split": true,
      "termotanque_calefon": true
    },
    "vigilancia": {
      "encargado": false,
      "vigilancia_24hs": false
    },
    "adicionales": {
      "amoblado": false,
      "hidromasaje": false,
      "laundry": false,
      "parrilla": true,
      "piscina": false,
      "sala_de_juegos": false,
      "sum": false
    }
  }
}

Fields

FieldTypeRequiredDescription
titlestringyesListing title. It cannot be modified once published (see notes).
descriptionstringnoListing description.
operation_typestring/numberyesId of the operation on Cabaprop. Resolve it with GET /cabaprop/utils/get-operations or with the operation mapping.
property_typestring/numberyesId of the property type on Cabaprop. Resolve it with GET /cabaprop/utils/get-types or with the type mapping.
sub_property_typestring/numbernoSub-type id. 0 if not applicable.
location.barriosnumberyesOne or more neighborhood ids (CABA), resolved with GET /cabaprop/utils/get-zones or with the zone mapping. It cannot be modified once published (see notes).
location.area_level_1stringnoProvince/state. For CABA, typically "Buenos Aires".
location.area_level_2stringnoNeighborhood/locality.
location.cpstringnoPostal code.
location.cp_suffixstringnoPostal code suffix.
location.letterstringnoPostal code letter.
location.lat / location.lngstring/numbernoCoordinates. They must correspond to a point inside CABA (see notes).
location.localitystringnoDescriptive locality.
location.streetstringnoStreet.
location.numberstringyes (the key)Street number. The key must be present even if the value is "" — see notes.
surface.totalSurfacenumbernoTotal surface (m²).
surface.coveredSurfacenumbernoCovered surface (m²).
antiquity.yearsnumber/stringnoAge in years.
antiquity.typenumber/stringno2 when the age is reported, empty if not applicable.
price.currencynumberyesPrice currency: 2 = ARS, 1 = any other currency.
price.totalnumbernoPrice of the operation.
price.expensesnumbernoMaintenance fees.
price.expensesCurrencynumbernoCurrency of the maintenance fees: same code as price.currency.
characteristics.ambiencenumbernoNumber of rooms.
characteristics.bedroomsnumbernoNumber of bedrooms.
characteristics.bathroomsnumbernoNumber of bathrooms.
characteristics.toilettesnumbernoNumber of half-baths.
characteristics.accessibilitiesboolean/numbernoAccessibility.
imagesarrayyes, minimum 3See Images below. Cabaprop requirement in order to publish.
houseMapsarraynoFloor plans. Same shape as images.
videostringnoVideo URL (YouTube or other embed).
video360stringnoURL of a 360° tour.
extrasobjectnoAmenities, grouped by category (see the model above).

Images

Each image is an object:

FieldTypeDescription
urlstringPublic URL of the image (accessible without authentication).
titlestringImage title.
originalnamestringOriginal file name.
filenamestring | nullInternal file name, if applicable.

Cabaprop requires a minimum of 3 images to publish a listing. POST /cabaprop/publish returns 400 with the message "La propiedad debe tener al menos 3 imagenes para publicarse en Cabaprop" if fewer are sent.

Notes

  • title, location and property_type/operation_type cannot be modified once the listing is published. To change them you have to unpublish (DELETE /cabaprop/property/unpublish) and publish again (POST /cabaprop/publish).
  • If operation_type, property_type or location.barrios are missing or empty, POST /cabaprop/publish returns 400 with {"error":"La zona/tipo/operacion no tiene mapping en Cabaprop","missing":[...]} before attempting to publish.
  • The location.number key must be present in the JSON even if you do not have the data (send it as ""). If the key is absent, Cabaprop rejects the publication with the message "Debe ingresar una calle y un número de calle".
  • If the coordinates (location.lat/location.lng) do not correspond to a point inside CABA, Cabaprop may reject the publication with the message "Las coordenadas ingresadas no se encuentran dentro de los límites de la ciudad".
  • These portal business errors are returned with HTTP 200 and the shape {"success":false,"errorCode":"...","detail":"..."} — see the errors section of POST /cabaprop/publish, PUT /cabaprop/property and DELETE /cabaprop/property/unpublish.