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:
status | What it means | Retry? |
|---|---|---|
processing | we are downloading them | no: wait and read the property again |
ready | all of them ready and served by us | no |
partial | some yes, some no | yes, and the detail of which ones is in that same block |
failed | it could not be done | yes |
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 | |
|---|---|
| Photos | JPEG · PNG · WebP |
| Floor plan | JPEG · 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
| Code | What happened |
|---|---|
200 | the retry ran; look at the images block to see how it went |
400 | the client is not identified, or the paId is not valid |
401 · 403 | token missing, invalid or without write permission |
404 | there is no property with that paId for that client |
409 | they 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.
Related
- Creating properties — where the images travel the first time
GET /properties/{paId}— to read theimagesblock at no cost- Publishing a listing — the complete flow, and why images do not block publishing