Properties
The account's portfolio: read, sync by your system's code, change status, confirm availability, send photos by URL and move to the trash.
- GET/v1/properties— List the portfolio
- GET/v1/properties/by-ref/{ref}— One property by your code
- GET/v1/properties/{propertyId}— One property
- GET/v1/feed— Feed sync status
- POST/v1/feed/sync— Sync the feed now
- PUT/v1/properties/by-ref/{ref}— Create or update by your code
- POST/v1/properties— Create a property
- PATCH/v1/properties/{propertyId}— Partially update a property
- POST/v1/properties/{propertyId}/status— Change the status
- POST/v1/properties/confirm— Confirm availability in bulk
- DELETE/v1/properties/{propertyId}— Move to the trash
Routes
/v1/propertiesList the portfolio
The account's portfolio, newest first, with filters. To sync, use updatedSince — or the events.
properties:readQuery parameters
limitinteger- Items per page: 1 to 100 (default 50).
cursorstring- The
nextCursorfrom the previous page. The list is over when it comes back null. It is only valid for this route and this account. statusstring- Status (
DELETED= trash).one ofACTIVEINACTIVESOLDRENTEDDELETED purposestring- Purpose.one of
VENDALOCACAO typestring- Subtype.one of
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA citySlugstring- City identifier in the catalog.
updatedSincestring- Only what changed since this date/time (ISO 8601, UTC).
radarstringpending= only items with recommendation pending items;ready= only ready items.one ofpendingready
Response200OK
datalist of Propertyrequired- The properties.
nextCursorstringrequirednullable- Next page cursor (null = done).
Example
curl -X GET 'https://api.imobyflow.com.br/v1/properties' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en'Errors for this route
/v1/properties/by-ref/{ref}One property by your code
The property by your system's code (externalRef).
properties:readPath parameters
refstringrequired- The property's code in your system (up to 80 characters; encode spaces and
/).
Response200OK
dataPropertyrequired- The property.
Example
curl -X GET 'https://api.imobyflow.com.br/v1/properties/by-ref/AP1234' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en'Errors for this route
/v1/properties/{propertyId}One property
The property, with its recommendation, review and confirmation status.
properties:readPath parameters
propertyIdstringrequired- Property id (
prop-…).
Response200OK
dataPropertyrequired- The property.
Example
curl -X GET 'https://api.imobyflow.com.br/v1/properties/prop-3f9a1c2b7d4e' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en'Errors for this route
/v1/feedFeed sync status
How the last CRM link sync ended and whether another is scheduled — to check the result after a POST /v1/feed/sync. Never includes the link or the token.
properties:readResponse200OK
dataFeedSyncrequired- The status.
Example
curl -X GET 'https://api.imobyflow.com.br/v1/feed' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en'Errors for this route
/v1/feed/syncSync the feed now
Call it after changing the portfolio in your CRM: ImobyFlow fetches the SAME feed link, through the same 6-hourly sync — only what changed is written. The first call in each 10-minute window syncs right away; later ones leave ONE sync scheduled for the end of the window, so no change waits 6 hours and calling on every change overloads nothing. Follow it with GET /v1/feed or the property events.
properties:writeSupports dry runSupports Idempotency-KeyQuery parameters
dryRunbooleantrue= dry run: validates and says what would happen, without writing anything.
Response202Accepted200 when one was already scheduled (`ALREADY_SCHEDULED`) and on dry runs.
dataFeedSyncrequired- The status.
resultFeedSyncResultrequired- The outcome.
Example
# Dry run: nothing is written. Remove ?dryRun=true to write for real.
curl -X POST 'https://api.imobyflow.com.br/v1/feed/sync?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en' \
-H "Idempotency-Key: $(uuidgen)"Errors for this route
/v1/properties/by-ref/{ref}Create or update by your code
The natural sync path: creates the property when the code is new (201) or updates the existing one (200). Absent fields are kept; nothing changed = UNCHANGED, nothing written. Edits made in the dashboard win and come back in result.conflicts.
properties:writeSupports dry runSupports Idempotency-KeyPath parameters
refstringrequired- The property's code in your system (up to 80 characters; encode spaces and
/).
Query parameters
dryRunbooleantrue= dry run: validates and says what would happen, without writing anything.
Request body
externalRefstring- The property's code in your system (POST only; in PUT it goes in the path).
titlestring- Title. HTML markup is stripped.
descriptionstring- Description.
<br>and</p>become line breaks; other markup is stripped. typestring- Subtype.one of
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA purposeslist of string- Purposes.one of
VENDALOCACAO salePricenumbernullable- Sale price, in BRL. Required with
VENDA. rentPricenumbernullable- Rent, in BRL. Required with
LOCACAO. addressAddressInput- Address.
bedroomsintegernullable- Bedrooms.
suitesintegernullable- Suites.
bathroomsintegernullable- Bathrooms.
parkingSpotsintegernullable- Parking spots.
areanumbernullable- Total private area, in m².
privateAreanumbernullable- Covered area, in m².
listingUrlstringnullable- Listing URL on your website (http or https).
captadorNamestringnullable- Listing agent name as text.
captadorAccountIdstringnullable- Id of the responsible broker on the team.
partnershipTermsPartnershipTerms- Partner terms.
photoslist of string- Up to 30 URLs; the 1st is the cover. Downloaded after the response (see
photoSync). Absent = gallery unchanged; empty list = remove the photos.
Example body
{
"title": "Apartamento 3 quartos no Bigorrilho",
"type": "APARTAMENTO",
"purposes": [
"VENDA"
],
"salePrice": 890000,
"address": {
"cityId": "4106902",
"neighborhoodSlug": "bigorrilho",
"street": "Rua Padre Anchieta",
"number": "1500",
"complement": "Ap 82"
},
"bedrooms": 3,
"suites": 1,
"bathrooms": 2,
"parkingSpots": 2,
"area": 98,
"photos": [
"https://www.suaimobiliaria.com.br/fotos/AP1234/1.jpg",
"https://www.suaimobiliaria.com.br/fotos/AP1234/2.jpg"
]
}Response200OK201 when it creates.
dataPropertyrequired- The object as it now stands.
resultPropertyWriteResultrequired- The outcome.
Example
# Dry run: nothing is written. Remove ?dryRun=true to write for real.
curl -X PUT 'https://api.imobyflow.com.br/v1/properties/by-ref/AP1234?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"title": "Apartamento 3 quartos no Bigorrilho",
"type": "APARTAMENTO",
"purposes": [
"VENDA"
],
"salePrice": 890000,
"address": {
"cityId": "4106902",
"neighborhoodSlug": "bigorrilho",
"street": "Rua Padre Anchieta",
"number": "1500",
"complement": "Ap 82"
},
"bedrooms": 3,
"suites": 1,
"bathrooms": 2,
"parkingSpots": 2,
"area": 98,
"photos": [
"https://www.suaimobiliaria.com.br/fotos/AP1234/1.jpg",
"https://www.suaimobiliaria.com.br/fotos/AP1234/2.jpg"
]
}
JSONErrors for this route
/v1/propertiesCreate a property
Creates a property. Minimum: type, purposes, the price for each purpose and the address with the city. An existing code → 409 with the id.
properties:writeSupports dry runSupports Idempotency-KeyQuery parameters
dryRunbooleantrue= dry run: validates and says what would happen, without writing anything.
Request body
externalRefstring- The property's code in your system (POST only; in PUT it goes in the path).
titlestring- Title. HTML markup is stripped.
descriptionstring- Description.
<br>and</p>become line breaks; other markup is stripped. typestring- Subtype.one of
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA purposeslist of string- Purposes.one of
VENDALOCACAO salePricenumbernullable- Sale price, in BRL. Required with
VENDA. rentPricenumbernullable- Rent, in BRL. Required with
LOCACAO. addressAddressInput- Address.
bedroomsintegernullable- Bedrooms.
suitesintegernullable- Suites.
bathroomsintegernullable- Bathrooms.
parkingSpotsintegernullable- Parking spots.
areanumbernullable- Total private area, in m².
privateAreanumbernullable- Covered area, in m².
listingUrlstringnullable- Listing URL on your website (http or https).
captadorNamestringnullable- Listing agent name as text.
captadorAccountIdstringnullable- Id of the responsible broker on the team.
partnershipTermsPartnershipTerms- Partner terms.
photoslist of string- Up to 30 URLs; the 1st is the cover. Downloaded after the response (see
photoSync). Absent = gallery unchanged; empty list = remove the photos.
Example body
{
"externalRef": "AP1234",
"title": "Apartamento 3 quartos no Bigorrilho",
"type": "APARTAMENTO",
"purposes": [
"VENDA"
],
"salePrice": 890000,
"address": {
"cityId": "4106902",
"neighborhoodSlug": "bigorrilho",
"street": "Rua Padre Anchieta",
"number": "1500",
"complement": "Ap 82"
},
"bedrooms": 3,
"suites": 1,
"bathrooms": 2,
"parkingSpots": 2,
"area": 98,
"photos": [
"https://www.suaimobiliaria.com.br/fotos/AP1234/1.jpg",
"https://www.suaimobiliaria.com.br/fotos/AP1234/2.jpg"
]
}Response201Created
dataPropertyrequired- The object as it now stands.
resultPropertyWriteResultrequired- The outcome.
Example
# Dry run: nothing is written. Remove ?dryRun=true to write for real.
curl -X POST 'https://api.imobyflow.com.br/v1/properties?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"externalRef": "AP1234",
"title": "Apartamento 3 quartos no Bigorrilho",
"type": "APARTAMENTO",
"purposes": [
"VENDA"
],
"salePrice": 890000,
"address": {
"cityId": "4106902",
"neighborhoodSlug": "bigorrilho",
"street": "Rua Padre Anchieta",
"number": "1500",
"complement": "Ap 82"
},
"bedrooms": 3,
"suites": 1,
"bathrooms": 2,
"parkingSpots": 2,
"area": 98,
"photos": [
"https://www.suaimobiliaria.com.br/fotos/AP1234/1.jpg",
"https://www.suaimobiliaria.com.br/fotos/AP1234/2.jpg"
]
}
JSONErrors for this route
/v1/properties/{propertyId}Partially update a property
Changes only what is sent. To clear a field, send null.
properties:writeSupports dry runSupports Idempotency-KeyPath parameters
propertyIdstringrequired- Property id (
prop-…).
Query parameters
dryRunbooleantrue= dry run: validates and says what would happen, without writing anything.
Request body
externalRefstring- The property's code in your system (POST only; in PUT it goes in the path).
titlestring- Title. HTML markup is stripped.
descriptionstring- Description.
<br>and</p>become line breaks; other markup is stripped. typestring- Subtype.one of
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA purposeslist of string- Purposes.one of
VENDALOCACAO salePricenumbernullable- Sale price, in BRL. Required with
VENDA. rentPricenumbernullable- Rent, in BRL. Required with
LOCACAO. addressAddressInput- Address.
bedroomsintegernullable- Bedrooms.
suitesintegernullable- Suites.
bathroomsintegernullable- Bathrooms.
parkingSpotsintegernullable- Parking spots.
areanumbernullable- Total private area, in m².
privateAreanumbernullable- Covered area, in m².
listingUrlstringnullable- Listing URL on your website (http or https).
captadorNamestringnullable- Listing agent name as text.
captadorAccountIdstringnullable- Id of the responsible broker on the team.
partnershipTermsPartnershipTerms- Partner terms.
photoslist of string- Up to 30 URLs; the 1st is the cover. Downloaded after the response (see
photoSync). Absent = gallery unchanged; empty list = remove the photos.
Example body
{
"salePrice": 870000
}Response200OK
dataPropertyrequired- The object as it now stands.
resultPropertyWriteResultrequired- The outcome.
Example
# Dry run: nothing is written. Remove ?dryRun=true to write for real.
curl -X PATCH 'https://api.imobyflow.com.br/v1/properties/prop-3f9a1c2b7d4e?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"salePrice": 870000
}
JSONErrors for this route
/v1/properties/{propertyId}/statusChange the status
Available, archived, sold or rented — the same function as the dashboard: only available ones use the plan quota, and partners negotiating it are notified. Sold does not come back through the feed.
properties:writeSupports dry runSupports Idempotency-KeyPath parameters
propertyIdstringrequired- Property id (
prop-…).
Query parameters
dryRunbooleantrue= dry run: validates and says what would happen, without writing anything.
Request body
statusstringrequired- The new status.one of
ACTIVEINACTIVESOLDRENTED
Example body
{
"status": "SOLD"
}Response200OK
dataPropertyrequired- The object as it now stands.
resultPropertyWriteResultrequired- The outcome.
Example
# Dry run: nothing is written. Remove ?dryRun=true to write for real.
curl -X POST 'https://api.imobyflow.com.br/v1/properties/prop-3f9a1c2b7d4e/status?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"status": "SOLD"
}
JSONErrors for this route
/v1/properties/confirmConfirm availability in bulk
The 60-day rule takes unconfirmed properties offline. Send up to 200 ids and refs; confirmed less than 24 h ago is not rewritten (ALREADY_CONFIRMED).
properties:writeSupports dry runSupports Idempotency-KeyQuery parameters
dryRunbooleantrue= dry run: validates and says what would happen, without writing anything.
Request body
idslist of string- Property ids.
refslist of string- Your system codes.
Example body
{
"refs": [
"AP1234",
"CA0042"
]
}Response200OK
datalist of ConfirmItemrequired- Each property outcome.
resultobjectrequired- The summary.
result.dryRunbooleanrequired- Dry run.
result.summarymaprequired- Count per outcome.
Example
# Dry run: nothing is written. Remove ?dryRun=true to write for real.
curl -X POST 'https://api.imobyflow.com.br/v1/properties/confirm?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data @- <<'JSON'
{
"refs": [
"AP1234",
"CA0042"
]
}
JSONErrors for this route
/v1/properties/{propertyId}Move to the trash
A 30-day trash (restorable in the dashboard). Shrink guard: at most 20% of the portfolio (and at least 10) in 24 hours — a loop in your system cannot empty the portfolio. With the CRM feed on, the feed is the one that takes properties offline.
properties:writeSupports dry runSupports Idempotency-KeyPath parameters
propertyIdstringrequired- Property id (
prop-…).
Query parameters
dryRunbooleantrue= dry run: validates and says what would happen, without writing anything.
Response200OK
dataPropertyrequired- The object as it now stands.
resultPropertyWriteResultrequired- The outcome.
Example
# Dry run: nothing is written. Remove ?dryRun=true to write for real.
curl -X DELETE 'https://api.imobyflow.com.br/v1/properties/prop-3f9a1c2b7d4e?dryRun=true' \
-H "Authorization: Bearer $IMOBYFLOW_API_KEY" \
-H 'Accept-Language: en' \
-H "Idempotency-Key: $(uuidgen)"Errors for this route
Objects
Address
The full address — the property belongs to the account itself.
neighborhoodstringrequirednullable- Neighborhood name.
neighborhoodSlugstringrequirednullable- Catalog neighborhood. Null when the neighborhood is not recognized yet — the property stays out of recommendations until curation decides.
citystringrequirednullable- City name.
cityIdstringrequirednullable- IBGE code.
citySlugstringrequirednullable- City identifier in the catalog.
statestringrequirednullable- State (UF).
streetstringrequirednullable- Street.
numberstringrequirednullable- Number.
complementstringrequirednullable- Complement.
PartnershipTerms
Terms for partners.
commissionPercentnumberrequirednullable- Sale commission offered to partners, in %.
rentCommissionMonthsnumberrequirednullable- Rent commission, in months of rent.
splitListingPercentnumberrequirednullable- Share of the commission kept by the listing side, in %.
PropertyRadar
The property's status in recommendations (Radar).
eligiblebooleanrequired- Is in recommendations right now (active and with no pending item).
pendinglist of stringrequired- What is missing to enter recommendations. A cover photo is required.one of
CITY_MISSINGCITY_NOT_IN_CATALOGNEIGHBORHOOD_MISSINGNEIGHBORHOOD_NOT_IN_CATALOGTYPE_MISSINGPURPOSE_MISSINGSALE_PRICE_MISSINGRENT_PRICE_MISSINGCOVER_PHOTO_MISSINGOTHER labelslist of stringrequired- The same pending items, spelled out.
Curation
ImobyFlow's review before the property is shown to partners. New properties from the API start under review.
statusstringrequirednullablePENDING,APPROVEDorREJECTED.reasonstringrequirednullable- The rejection reason, as a code.one of
LANCAMENTOSEM_VALORQUALIDADE_BAIXANAO_ANGARIACAOMARCA_DAGUAFOTOS_INSUFICIENTESDADOS_INCOERENTESOUTRO labelstringrequirednullable- The reason, spelled out.
Confirmation
The 60-day rule: unconfirmed properties go offline. Writing the property through the API (or confirming it) renews the date.
lastConfirmedAtstringrequirednullable- Last confirmation that it is still available.
dueAtstringrequirednullable- When the confirmation is due (every 60 days).
noticeAtstringrequirednullable- When the confirmation notice was sent.
offlineAtstringrequirednullable- When it goes offline without an answer (7 days after the notice).
LaunchBlock
New-development data (development and unit type).
constructionStagestringrequirednullable- Construction stage.one of
LAUNCHOFF_PLANNEWREADY deliveryDatestringrequirednullable- Expected delivery.
constructionProgressintegerrequirednullable- Construction progress, in %.
unitsTotalintegerrequirednullable- Total units.
unitsAvailableintegerrequirednullable- Available units.
unitsReservedintegerrequirednullable- Reserved units.
unitsSoldintegerrequirednullable- Sold units.
floorPlanslist of stringrequired- The floor plans.
PhotoSync
Download of the photos sent by URL. It happens after the response — this is where you see whether the gallery made it.
statestringrequiredQUEUED,DONE,PARTIAL(some failed),FAILEDorNOT_QUEUED(the queue refused — the next request retries).requestedintegerrequirednullable- Photos requested.
ingestedintegerrequirednullable- Photos downloaded and stored.
failedintegerrequirednullable- Photos that failed.
queuedAtstringrequirednullable- When it was queued.
finishedAtstringrequirednullable- When it finished.
Property
A property in the account's portfolio.
idstringrequired- Property id.
externalRefstringrequirednullable- The property's code in YOUR system.
kindstringrequiredPROPERTY(standalone),DEVELOPMENT(new development) orTYPOLOGY(unit type of a development).one ofPROPERTYDEVELOPMENTTYPOLOGYdevelopmentIdstringrequirednullable- The development of this unit type.
statusstringrequired- Status.
DELETED= in the trash (30 days).one ofACTIVEINACTIVESOLDRENTEDDELETED typestringrequirednullable- Subtype (see the reference lists).one of
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA categorystringrequirednullable- The subtype's category.one of
RESIDENCIALCOMERCIALTERRENORURAL purposeslist of stringrequired- Purposes:
VENDA(sale),LOCACAO(rent) or both.one ofVENDALOCACAO salePricenumberrequirednullable- Sale price, in BRL.
rentPricenumberrequirednullable- Monthly rent, in BRL.
titlestringrequirednullable- Listing title.
descriptionstringrequirednullable- Description, as plain text.
addressAddressrequired- Address.
bedroomsintegerrequirednullable- Bedrooms.
suitesintegerrequirednullable- Suites.
bathroomsintegerrequirednullable- Bathrooms.
parkingSpotsintegerrequirednullable- Parking spots.
areanumberrequirednullable- Total private area, in m² — the comparable one.
privateAreanumberrequirednullable- Covered area, in m² (display only).
amenitieslist of stringrequired- Property and building amenities.
coverPhotostringrequirednullable- The cover (1st photo). Without a cover the property is left out of recommendations.
photoslist of stringrequired- The gallery, in order.
listingUrlstringrequirednullable- Listing URL on your website.
captadorobjectrequirednullable- The responsible broker on the team.
captador.accountIdstringrequired- Broker id.
captador.namestringrequirednullable- Name.
captadorNamestringrequirednullable- Listing agent name as text (someone not on the team).
sharedToNetworkbooleanrequired- Shared with partners.
partnershipTermsPartnershipTermsrequired- Partner terms.
radarPropertyRadarrequired- Recommendation status.
curationCurationrequired- ImobyFlow's review.
confirmationConfirmationrequired- Availability confirmation.
inactiveReasonstringrequirednullable- Why it is archived (only when
status=INACTIVE). deletedAtstringrequirednullable- When it was moved to the trash.
launchLaunchBlockrequirednullable- New-development data (development and unit type only).
photoSyncPhotoSyncrequirednullable- Download of the photos sent by URL.
createdAtstringrequired- When it was created (UTC).
updatedAtstringrequired- Last change (UTC).
AddressInput
The address. Send it whole when you send it.
cityIdstring- IBGE code (7 digits). With it,
cityandstateare not needed. citystring- City name (with
state). An unknown name returns 400 with suggestions. statestring- State (UF), 2 letters.
neighborhoodSlugstring- Neighborhood by catalog identifier — the guaranteed path.
neighborhoodstring- Neighborhood as text. It goes through the alias dictionary; anything unrecognized waits for curation and never becomes a made-up neighborhood.
streetstring- Street.
numberstring- Number.
complementstring- Complement.
PropertyInput
The fields the API accepts for a property. Unknown fields are an error (400). Absent fields are kept; to clear one, send null.
externalRefstring- The property's code in your system (POST only; in PUT it goes in the path).
titlestring- Title. HTML markup is stripped.
descriptionstring- Description.
<br>and</p>become line breaks; other markup is stripped. typestring- Subtype.one of
APARTAMENTOCASA_RUACASA_CONDOMINIOCASA_VILASTUDIOFLATCOBERTURASALA_COMERCIALLOJA_PONTOGALPAOPREDIOTERRENO_RUATERRENO_CONDOMINIOCHACARA_SITIOFAZENDA purposeslist of string- Purposes.one of
VENDALOCACAO salePricenumbernullable- Sale price, in BRL. Required with
VENDA. rentPricenumbernullable- Rent, in BRL. Required with
LOCACAO. addressAddressInput- Address.
bedroomsintegernullable- Bedrooms.
suitesintegernullable- Suites.
bathroomsintegernullable- Bathrooms.
parkingSpotsintegernullable- Parking spots.
areanumbernullable- Total private area, in m².
privateAreanumbernullable- Covered area, in m².
listingUrlstringnullable- Listing URL on your website (http or https).
captadorNamestringnullable- Listing agent name as text.
captadorAccountIdstringnullable- Id of the responsible broker on the team.
partnershipTermsPartnershipTerms- Partner terms.
photoslist of string- Up to 30 URLs; the 1st is the cover. Downloaded after the response (see
photoSync). Absent = gallery unchanged; empty list = remove the photos.
PropertyWriteResult
The write outcome.
outcomestringrequired- What happened:
CREATED,UPDATED,UNCHANGED(nothing changed, nothing written),CONFIRMED(only the availability date),STATUS_SET,DELETED,ALREADY_DELETED… dryRunbooleanrequired- It was a dry run — nothing was written.
conflictslist of stringrequired- Fields the team edited in the dashboard, so they were not overwritten — dashboard edits win.
photosstringrequirednullable- The gallery:
UNCHANGED,QUEUED,ALREADY_QUEUEDorCLEARED. Null when the request did not mention photos.
FeedSync
The CRM feed sync. Never includes the link or the token.
configuredbooleanrequired- The CRM feed link is set up on the account.
connectorstringrequirednullable- The CRM behind the link (the feed format).
autoSyncbooleanrequired- The 6-hourly sync is on.
statusstringrequirednullable- How the last sync ended (the same status as the dashboard) —
QUEUEDwhile it runs. messagestringrequirednullable- The last sync message, the same as in the dashboard.
lastSyncAtstringrequirednullable- When the last one finished.
feedCountintegerrequirednullable- Properties in the feed at the last read.
countsobjectrequired- What the last sync did.
counts.createdintegerrequirednullable- Created.
counts.updatedintegerrequirednullable- Updated.
counts.archivedintegerrequirednullable- Archived (left the feed and passed the grace period).
counts.skippedintegerrequirednullable- Skipped (incomplete or over quota).
counts.unchangedintegerrequirednullable- Checked with no change (nothing written).
counts.confirmedintegerrequirednullable- Confirmed (only the availability date renewed).
conflictsintegerrequired- Properties with a field edited in the dashboard that the feed tried to change — awaiting a decision under Properties › Import.
scheduledForstringrequirednullable- The sync scheduled by
POST /v1/feed/syncfor the end of the window (null = none).
FeedSyncResult
The outcome.
outcomestringrequiredQUEUED(syncs now) ·SCHEDULED(scheduled for the end of the 10-minute window) ·ALREADY_SCHEDULED(one was already scheduled — nothing new).one ofQUEUEDSCHEDULEDALREADY_SCHEDULEDdryRunbooleanrequired- It was a dry run (nothing queued).
ConfirmItem
One property outcome in the confirmation.
idstring- The requested id (when the request used
ids). refstring- The requested code (when the request used
refs). propertyIdstringrequirednullable- The property found (null when not found).
outcomestringrequiredCONFIRMED,ALREADY_CONFIRMED(less than 24 h ago — not rewritten) orNOT_FOUND.one ofCONFIRMEDALREADY_CONFIRMEDNOT_FOUND