Create, Read, Update, Delete Properties

Manage property listings: create, read, update, delete, renew, and find expiring properties.

Create, retrieve, update, and delete individual property listings. Also includes endpoints for renewing listings and finding properties that are about to expire.

Create a Property

POST /properties

Authentication: Required (API key or JWT)

Creates a new property listing for your organization. A unique reference number in the format FDR-XXXXX is automatically assigned.

Request Body

Required fields:

FieldTypeDescriptionConstraints
listingTypestringListing typesale, rent, sale_or_rent, fraction
propertyCategorystringProperty categoryresidential, commercial, industrial, land
propertyTypestringProperty typeSee Search Properties for full list
citystringCity nameNon-empty string
countryCodestringCountry codeISO 3166-1 alpha-2 (2 uppercase letters, e.g., ES)
currencystringCurrency codeISO 4217 (3 uppercase letters, e.g., EUR)

Optional fields:

FieldTypeDescriptionConstraints
descriptionstringProperty description
translatedDescriptionsobjectDescriptions in other languages{ "es": "...", "fr": "..." }
addressLine1stringStreet address
addressLine2stringAdditional address
postalCodestringPostal / ZIP code
provinceStatestringProvince or state
regionstringRegion name
communitystringCommunity or neighborhood
latitudenumberLatitude-90 to 90
longitudenumberLongitude-180 to 180
pricenumberListing price>= 0
bedroomsnumberNumber of bedrooms>= 0
bathroomsnumberNumber of bathrooms>= 0
livingAreanumberLiving area size>= 0
plotAreanumberPlot area size>= 0
areaUnitstringUnit for area fieldse.g., sqm, sqft
yearBuiltnumberYear of construction1800 to current year + 5
isNewConstructionbooleanNew build flag
energyRatingDetailsstringEnergy rating info
hasPoolbooleanSwimming pool
hasSeaViewbooleanSea view
hasGaragebooleanGarage
hasTerracebooleanTerrace
hasGardenbooleanGarden
isFurnishedbooleanFurnished
hasAirConditioningbooleanAir conditioning
hasLiftbooleanElevator / lift
imagesarrayProperty images[{ url, alt?, order, isFeatured? }]
thumbnailsarrayThumbnail images[{ url, alt?, order, originalImageIndex }]
additionalFeaturesobjectCustom key-value features
commissionnumberAgent commission %0–100
leadGroupIdnumberAssociated lead group
agentIdstringAssigned agent ID
autoRenewEnabledbooleanAuto-renew listing

Example

curl -X POST https://api.fondaro.com/properties \
  -H "Authorization: Bearer fondaro_pk_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "listingType": "sale",
    "propertyCategory": "residential",
    "propertyType": "villa",
    "city": "Marbella",
    "countryCode": "ES",
    "currency": "EUR",
    "price": 1250000,
    "bedrooms": 4,
    "bathrooms": 3,
    "livingArea": 320,
    "plotArea": 800,
    "areaUnit": "sqm",
    "hasPool": true,
    "hasSeaView": true,
    "description": "Stunning sea-view villa in Nueva Andalucía with private pool and landscaped garden."
  }'

Response

Returns the full created property object with the generated id and referenceNumber.


Get a Property

GET /properties/:id

Authentication: Required (API key or JWT)

Listings belonging to other organizations are only returned while they are active. A non-active listing (inactive, pending, sold, rented, deleted) is visible only to the organization that owns it; anyone else gets a 404.

Path Parameters

ParameterTypeDescription
idUUIDProperty ID

Query Parameters

ParameterTypeDefaultDescription
filterByOrganizationbooleanfalseRestrict to your organization's properties
includeBrandingbooleanfalseInclude organization branding data
includeAdCountbooleanfalseInclude count of ad creatives
includeAdCreativesbooleanfalseInclude full ad creative data

Example

curl https://api.fondaro.com/properties/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d \
  -H "Authorization: Bearer fondaro_pk_abc123"

Errors

StatusCondition
404Property not found, or not active and not owned by your organization

Update a Property

PUT /properties/:id

Authentication: Required (API key or JWT)

Updates an existing property. Only include the fields you want to change; all fields are optional. The property must belong to your organization.

Request Body

All fields from the create endpoint are available, plus:

FieldTypeDescription
statusstringChange listing status: active, inactive, pending, sold, rented, deleted

Example

curl -X PUT https://api.fondaro.com/properties/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d \
  -H "Authorization: Bearer fondaro_pk_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 1150000,
    "status": "active",
    "description": "Price reduced! Stunning sea-view villa in Nueva Andalucía."
  }'

Errors

StatusCondition
404Property not found or not owned by your organization

Delete a Property

DELETE /properties/:id

Authentication: Required (API key or JWT)

Permanently deletes a property listing. The property must belong to your organization.

Example

curl -X DELETE https://api.fondaro.com/properties/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d \
  -H "Authorization: Bearer fondaro_pk_abc123"

Response

{
  "success": true
}

Errors

StatusCondition
404Property not found or not owned by your organization

Renew a Property

PUT /properties/:id/renew

Authentication: Required (API key or JWT)

Extends the expiration date of a property listing by 2 months. The property must belong to your organization.

Example

curl -X PUT https://api.fondaro.com/properties/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d/renew \
  -H "Authorization: Bearer fondaro_pk_abc123"

Response

Returns the full updated property object with the new expiresAt date.

Errors

StatusCondition
404Property not found or not owned by your organization

Get Expiring Properties

GET /properties/expiring/soon

Authentication: Required (API key or JWT)

Returns properties in your organization that are expiring within a given number of days.

Query Parameters

ParameterTypeDefaultDescription
daysnumber7Number of days to look ahead

Example

curl "https://api.fondaro.com/properties/expiring/soon?days=14" \
  -H "Authorization: Bearer fondaro_pk_abc123"

Response

Returns an array of property objects that will expire within the specified timeframe.