Docs

Inmuebles

Última actualización: 2026-10-038 min de lectura

Tres tipos de inmueble (kind): property, venta; rental, alquiler; complex, complejo residencial. La lectura es gratuita y abierta a cualquier clave; crear, editar y eliminar requieren el ámbito objects:write y tampoco se cobran.

Lista

curl "https://developers.grem.capital/api/v1/objects?kind=property&city=Berlin&limit=20" \
  -H "Authorization: Bearer gsk_live_xxx"

GET /objects:

ParámetroDescripción
kindobligatorio: property, rental o complex; no distingue mayúsculas
city, countryfiltros por coincidencia exacta
priceMin, priceMaxprecio en dólares estadounidenses (según el precio normalizado)
areaMin, areaMaxsuperficie, m²
roomshabitaciones (venta y alquiler); admite decimales
type, residentialTypecategoría: códigos de los diccionarios (venta y alquiler)
pagepágina, desde 1; un valor menor cuenta como 1
limitpor página, 20 por defecto, 1-50; un valor fuera se ajusta al rango
sortnewest (por defecto) u oldest
scopesolo claves de agencia: por defecto, los inmuebles de la agencia; catalog, el catálogo público

Respuesta: data, los inmuebles; paginate, currentPage, totalPages, totalCount.

limit y page fuera del rango se ajustan a él, no se rechazan. Otros valores no válidos de un parámetro conocido (un valor de enumeración desconocido, un page no entero, texto en lugar de un número) se rechazan con 400 validation indicando el campo.

Un inmueble

GET /objects/{kind}/{id}: un inmueble con la misma forma. Id desconocido, 404. Una clave de agencia puede añadir scope=catalog para obtener la vista pública.

Forma de un inmueble

CampoDescripción
id, kind, name, slugidentidad
statusen un inmueble ajeno, active o sold
typecategoría, código
price, currencyprecio; el complejo tiene price: { from, to, currency }
constructionYearaño de construcción, un entero o null
addressdirección completa, con calle y coordenadas
nativeAreaUnitla unidad en que se introdujo el inmueble (para mostrar); las superficies llegan como { "value": 50, "unit": "m2" }
photosfotos: id, isMain, mimetype, variants, ready
processingStatusready, processing o failed: si las fotos están listas
promotedel inmueble está promocionado
authorel agente o la agencia del inmueble

Las categorías y otros atributos son códigos; las etiquetas traducidas están en los diccionarios. El complejo tiene además apartmentPlans (planos) y progress (avance de obra).

ready: false en una foto significa que las variantes con marca de agua aún se están generando. Muestre un marcador de posición y vuelva a leer el inmueble más tarde; no guarde en caché una imagen sin terminar.

Qué ve: cualquier inmueble, la ficha pública, como en el sitio; sus inmuebles, la vista completa del propietario. Nadie recibe los contactos del propietario, datos del vendedor de importaciones, notas de moderación ni originales sin marca de agua.

Crear, editar, eliminar

AcciónSolicitudRespuesta
CrearPOST /objects/{kind}201 con el inmueble
EditarPUT /objects/{kind}/{id}el inmueble; solo el propietario, si no 404
EliminarDELETE /objects/{kind}/{id}un borrador se elimina definitivamente, un inmueble publicado se archiva; un inmueble con un contrato de comisión vigente: 409 conflict
curl -X POST https://developers.grem.capital/api/v1/objects/property \
  -H "Authorization: Bearer gsk_live_xxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 9a1d2c3b-4e5f-4a6b-8c7d-0e1f2a3b4c5d" \
  -d '{
    "name": "Piso de 2 habitaciones, Torstraße 12",
    "type": "Residential",
    "address": { "country": "Germany", "city": "Berlin", "street": "Torstraße", "streetNumber": "12" },
    "price": 320000, "currency": "EUR",
    "spaceAll": 64, "rooms": 2, "floor": 3, "buildingFloor": 5,
    "photos": ["https://example.com/1.jpg"],
    "publish": false
  }'
  • publish: false (por defecto), un borrador, fuera del catálogo; publish: true, publicado. Para publicar, property y rental necesitan al menos 1 foto, complex 2.
  • No todos los roles de cuenta pueden crear todos los tipos, igual que en el panel.
  • Los campos desconocidos se ignoran. Tome los códigos de categoría de los diccionarios. Los códigos de condition, conditionType y amenities (en camelCase, como needsRenovation, fridge) figuran en el propio esquema de escritura (las tablas de abajo y /openapi.json); GET /dictionaries no los traduce.
  • Superficies: un número en m² o { "value": 700, "unit": "ft2" }.
  • PUT sin photos conserva las fotos existentes.
  • Idempotency-Key al crear evita un duplicado al repetir.

Fotos

photos es un array; cada elemento es:

  • una dirección pública https://...: GREM descarga la imagen por sí mismo;
  • el id de un archivo subido con POST /uploads (Archivos).

Una dirección que no se puede descargar se omite y se indica en warnings de la respuesta. Con strictPhotos: true, esa solicitud falla con 422.

Campos de venta

Obligatorios: name, type, address, price.

CampoDescripción
typeResidential, Commercial, Industrial o Land plot
residentialType, commercialType, industrialTypesubtipo: un código o un array de códigos
marketSegmentprimary (obra nueva) o secondary
descriptiondescripción, hasta 5000 caracteres
addresscountry, city (obligatorio), district, region, street, streetNumber, postalCode, location
price, currencyprecio; moneda UAH, USD, EUR, AZN, GBP, AED, CNY, TRY, GEL
constructionYearaño, de 1700 a 2100
spaceAll, spaceLiving, spaceKitchen, effectiveArea, auxiliaryArea, landPlotAreasuperficies
rooms, bedrooms, numberOfBathrooms, balconies, numberWindows, unitsCountcantidades
floor, buildingFloor, ceilingHeightplanta, plantas, altura de techo
conditionneedsRenovation, partialRenovation, renovated, designer, shellCore, newFromDeveloper
buildingTypenewBuilding, secondary, stalinka, khrushchevka, brezhnevka, czech, gostinka, prerevolutionary, townhouseRow, detached, other
wallMaterialType, constructionTech, kitchenTypematerial de los muros, tecnología constructiva, tipo de cocina
amenities, buildingAmenitiesequipamiento de la vivienda y del edificio: arrays de códigos
utilitySystem, heating, windowView, balcony, parkingsuministros, calefacción, vistas, balcón, aparcamiento
safetyshelterNearby, powerBackup, autonomousHeating, waterReserve, starlink, gasAvailable, internetAvailable, elevatorWorks (sí/no)
accessibilityramp, groundLevelEntrance, wideDoors, disabledParking, wheelchairElevator (sí/no)
programseOselya, eVidnovlennya, mortgageEligible, installment
monthRentalRate, annualIncome, annualYield, paybackPeriod, propertyTax, insuranceCost, managementFee, repairsReservecifras de inversión
commissioncomisión para agentes: payer, type, value
tourtour 3D: kind, url
complexIdel complejo al que pertenece la vivienda
photos, videomedios
publish, strictPhotosver arriba

Campos de alquiler

Obligatorios: name, type (Residential, Commercial, Industrial), address, price. La mayoría de campos son como en venta; los propios del alquiler:

CampoDescripción
rentalTypelong, larga estancia; short, por días
price, dayPrice, depositrenta, precio por día, fianza
totalArea, totalFloors, bathroomssuperficie, plantas, baños
minRentTime, minTermMonthsplazo mínimo
availableFromdisponible desde
checkIn, checkOuthora de entrada y salida: from, to — hora del día (15 = 15:00)
withChildren, withPetsse admiten niños; mascotas: yes, no, with someone
furniture, furnitureListmobiliario
conditionTypeestado: los mismos valores que condition en venta
onsiteAmenities, internalFeatureequipamiento
utilitiesIncluded, utilitiesCostsuministros
checkInPay, onlinePay, bankTransfer, reportingDocumentsformas de pago y documentos

Campos del complejo

Obligatorios: name, address.

CampoDescripción
description, descriptionPresentation, descriptionSocialdescripciones
pricefrom, to, currency
spacesuperficies de las viviendas: from, to
apartTypetipos de vivienda
classeconomy, comfort, comfortPlus, business, premium, elite
stageplanning, excavation, construction, finishing, commissioned, delivered
completionQuartertrimestre de finalización
queuesfases: name, stage, completionQuarter
sectionsNumber, floors, apartmentsNumber, parkingSpacescantidades
installment, installmentTermspago a plazos: downPaymentPct, termMonths, interestRate
infrastructureinfraestructura: un array de códigos
territoryDescription, parkingDescription, infrastructureDescriptiondescripciones
apartmentPlansplanos: apartType, area, price, description, photos
progressavance de obra: title, date, description, photos

El esquema completo de cada tipo con todos los valores: componentes ObjectWriteProperty, ObjectWriteRental, ObjectWriteComplex en /openapi.json. Se generan a partir de las mismas comprobaciones que ejecuta el servidor.

Clave de agencia

SolicitudQué hace
PATCH /objects/{kind}/{id}/agencypasar un inmueble a la agencia o devolverlo a personal: cuerpo {"targetAgencyId": "<id>"} o {"targetAgencyId": null}; sin el campo, a la agencia de la clave
PATCH /objects/{kind}/{id}/assigneeasignar un agente: {"assignTo": "<user id>"}

Con una clave personal, ambas responden 403. Un inmueble no puede pasar directamente de una agencia a otra (409 conflict): primero páselo a personal. Asignar un agente a un inmueble personal, o a alguien que no es miembro activo de la agencia, también da 409 conflict. Permisos: a la agencia, el autor del inmueble; de vuelta a personal, un gestor, el propietario de la agencia o el autor; asignar a cualquiera, de gestor hacia arriba; un agente, solo a sí mismo.

Eventos

object.created, object.updated, object.published, object.deleted: ver Webhooks.

Artículos relacionados

¿Le resultó útil este artículo?