Browse the documentation

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.

Routes

GET/v1/properties

List the portfolio

The account's portfolio, newest first, with filters. To sync, use updatedSince — or the events.

Permission: properties:read

Query parameters

limitinteger
Items per page: 1 to 100 (default 50).
cursorstring
The nextCursor from 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 of ACTIVE INACTIVE SOLD RENTED DELETED
purposestring
Purpose.one of VENDA LOCACAO
typestring
Subtype.one of APARTAMENTO CASA_RUA CASA_CONDOMINIO CASA_VILA STUDIO FLAT COBERTURA SALA_COMERCIAL LOJA_PONTO GALPAO PREDIO TERRENO_RUA TERRENO_CONDOMINIO CHACARA_SITIO FAZENDA
citySlugstring
City identifier in the catalog.
updatedSincestring
Only what changed since this date/time (ISO 8601, UTC).
radarstring
pending = only items with recommendation pending items; ready = only ready items.one of pending ready

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

And the errors common to every route

GET/v1/properties/by-ref/{ref}

One property by your code

The property by your system's code (externalRef).

Permission: properties:read

Path 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

And the errors common to every route

GET/v1/properties/{propertyId}

One property

The property, with its recommendation, review and confirmation status.

Permission: properties:read

Path 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

And the errors common to every route

GET/v1/feed

Feed 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.

Permission: properties:read

Response200OK

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

    And the errors common to every route

    POST/v1/feed/sync

    Sync 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.

    Permission: properties:writeSupports dry runSupports Idempotency-Key

    Query parameters

    dryRunboolean
    true = 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

    And the errors common to every route

    PUT/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.

    Permission: properties:writeSupports dry runSupports Idempotency-Key

    Path parameters

    refstringrequired
    The property's code in your system (up to 80 characters; encode spaces and /).

    Query parameters

    dryRunboolean
    true = 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 APARTAMENTO CASA_RUA CASA_CONDOMINIO CASA_VILA STUDIO FLAT COBERTURA SALA_COMERCIAL LOJA_PONTO GALPAO PREDIO TERRENO_RUA TERRENO_CONDOMINIO CHACARA_SITIO FAZENDA
    purposeslist of string
    Purposes.one of VENDA LOCACAO
    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"
      ]
    }
    JSON

    Errors for this route

    And the errors common to every route

    POST/v1/properties

    Create 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.

    Permission: properties:writeSupports dry runSupports Idempotency-Key

    Query parameters

    dryRunboolean
    true = 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 APARTAMENTO CASA_RUA CASA_CONDOMINIO CASA_VILA STUDIO FLAT COBERTURA SALA_COMERCIAL LOJA_PONTO GALPAO PREDIO TERRENO_RUA TERRENO_CONDOMINIO CHACARA_SITIO FAZENDA
    purposeslist of string
    Purposes.one of VENDA LOCACAO
    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"
      ]
    }
    JSON

    Errors for this route

    And the errors common to every route

    PATCH/v1/properties/{propertyId}

    Partially update a property

    Changes only what is sent. To clear a field, send null.

    Permission: properties:writeSupports dry runSupports Idempotency-Key

    Path parameters

    propertyIdstringrequired
    Property id (prop-…).

    Query parameters

    dryRunboolean
    true = 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 APARTAMENTO CASA_RUA CASA_CONDOMINIO CASA_VILA STUDIO FLAT COBERTURA SALA_COMERCIAL LOJA_PONTO GALPAO PREDIO TERRENO_RUA TERRENO_CONDOMINIO CHACARA_SITIO FAZENDA
    purposeslist of string
    Purposes.one of VENDA LOCACAO
    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
    }
    JSON

    Errors for this route

    And the errors common to every route

    POST/v1/properties/{propertyId}/status

    Change 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.

    Permission: properties:writeSupports dry runSupports Idempotency-Key

    Path parameters

    propertyIdstringrequired
    Property id (prop-…).

    Query parameters

    dryRunboolean
    true = dry run: validates and says what would happen, without writing anything.

    Request body

    statusstringrequired
    The new status.one of ACTIVE INACTIVE SOLD RENTED

    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"
    }
    JSON

    Errors for this route

    And the errors common to every route

    POST/v1/properties/confirm

    Confirm 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).

    Permission: properties:writeSupports dry runSupports Idempotency-Key

    Query parameters

    dryRunboolean
    true = 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"
      ]
    }
    JSON

    Errors for this route

    And the errors common to every route

    DELETE/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.

    Permission: properties:writeSupports dry runSupports Idempotency-Key

    Path parameters

    propertyIdstringrequired
    Property id (prop-…).

    Query parameters

    dryRunboolean
    true = 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

    And the errors common to every 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_MISSING CITY_NOT_IN_CATALOG NEIGHBORHOOD_MISSING NEIGHBORHOOD_NOT_IN_CATALOG TYPE_MISSING PURPOSE_MISSING SALE_PRICE_MISSING RENT_PRICE_MISSING COVER_PHOTO_MISSING OTHER
    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.

    statusstringrequirednullable
    PENDING, APPROVED or REJECTED.
    reasonstringrequirednullable
    The rejection reason, as a code.one of LANCAMENTO SEM_VALOR QUALIDADE_BAIXA NAO_ANGARIACAO MARCA_DAGUA FOTOS_INSUFICIENTES DADOS_INCOERENTES OUTRO
    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 LAUNCH OFF_PLAN NEW READY
    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.

    statestringrequired
    QUEUED, DONE, PARTIAL (some failed), FAILED or NOT_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.
    kindstringrequired
    PROPERTY (standalone), DEVELOPMENT (new development) or TYPOLOGY (unit type of a development).one of PROPERTY DEVELOPMENT TYPOLOGY
    developmentIdstringrequirednullable
    The development of this unit type.
    statusstringrequired
    Status. DELETED = in the trash (30 days).one of ACTIVE INACTIVE SOLD RENTED DELETED
    typestringrequirednullable
    Subtype (see the reference lists).one of APARTAMENTO CASA_RUA CASA_CONDOMINIO CASA_VILA STUDIO FLAT COBERTURA SALA_COMERCIAL LOJA_PONTO GALPAO PREDIO TERRENO_RUA TERRENO_CONDOMINIO CHACARA_SITIO FAZENDA
    categorystringrequirednullable
    The subtype's category.one of RESIDENCIAL COMERCIAL TERRENO RURAL
    purposeslist of stringrequired
    Purposes: VENDA (sale), LOCACAO (rent) or both.one of VENDA LOCACAO
    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, city and state are 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 APARTAMENTO CASA_RUA CASA_CONDOMINIO CASA_VILA STUDIO FLAT COBERTURA SALA_COMERCIAL LOJA_PONTO GALPAO PREDIO TERRENO_RUA TERRENO_CONDOMINIO CHACARA_SITIO FAZENDA
    purposeslist of string
    Purposes.one of VENDA LOCACAO
    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_QUEUED or CLEARED. 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) — QUEUED while 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/sync for the end of the window (null = none).

    FeedSyncResult

    The outcome.

    outcomestringrequired
    QUEUED (syncs now) · SCHEDULED (scheduled for the end of the 10-minute window) · ALREADY_SCHEDULED (one was already scheduled — nothing new).one of QUEUED SCHEDULED ALREADY_SCHEDULED
    dryRunbooleanrequired
    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).
    outcomestringrequired
    CONFIRMED, ALREADY_CONFIRMED (less than 24 h ago — not rewritten) or NOT_FOUND.one of CONFIRMED ALREADY_CONFIRMED NOT_FOUND