Retrying the asset ingestion

POST /property-v1/properties/{paId}/assets

On the normal path you do not call this. Photos and the floor plan travel inside the object when you create the property, and we download them ourselves. This endpoint exists to retry when one of them could not be fetched.

Why we download your images

Because if the listing travels with your CDN's URL, the portal ends up serving content we do not control. By downloading them and serving them ourselves, the listing stops depending on your CDN staying up and serving the same thing.

When to call it

When the images block of any response tells you something failed. That block comes in every property response —creation, update, takedown and read— precisely so that you do not have to ask separately:

statusWhat it meansRetry?
processingwe are downloading themno: wait and read the property again
readyall of them ready and served by usno
partialsome yes, some noyes, and the detail of which ones is in that same block
failedit could not be doneyes

How to request it

curl -X POST https://property-api.mapaprop.com/property-v1/properties/01M4.../assets \
  -H "Authorization: Bearer $TOKEN" \
  -H "x-client-ref: cliente-42"

No body: the URLs are already in the property, so there is nothing to send. What it does is try again with whatever was left pending.

It is idempotent and deterministic. Retrying overwrites what had already been downloaded with the same result, so calling it twice duplicates nothing and does not change the URLs. If you want to change an image, that is updating the property, not retrying.

What is accepted

Formats
PhotosJPEG · PNG · WebP
Floor planJPEG · PNG · WebP · PDF

An empty file, one of a type not on that list, or one that exceeds the size cap is not retried on its own: the images block tells you which one and why, and that is fixed by changing the file on your side.

Response codes

CodeWhat happened
200the retry ran; look at the images block to see how it went
400the client is not identified, or the paId is not valid
401 · 403token missing, invalid or without write permission
404there is no property with that paId for that client
409they are being downloaded right now. It is not a mistake on your part: wait and read the property again

The 409 is the correct answer to "retry while it is still processing". Retrying in a loop on a 409 speeds nothing up — the ingestion is already running.