Report status
GET /api/report/appraisal/<report_uuid>/status
Tells whether the generation of a report is complete. Use it to know when the data blocks and the PDF of an asynchronously created report can be requested.
Example Request
curl --location 'https://insights.immobiliare.it/api/report/appraisal/95318f91-dbc4-4a20-ae71-e511ef6282cf/status' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>'
Request Fields
| Field | Required | Default | Description | Type | Example | Notes |
|---|---|---|---|---|---|---|
report_uuid | yes | UUID of the report, returned by the creation | string | 95318f91-dbc4-4a20-ae71-e511ef6282cf | Path parameter |
JSON keys in the response:
- status:
truewhen the report is ready,falsewhile it is still being generated.
Not ready is reported as 400
The endpoint does not answer 200 for both outcomes. While the report is still being generated it replies with HTTP 400 and _metadata.status set to 400, carrying {"status": false} and a null message; only once the report is ready does it reply 200 with {"status": true}.
A pending report is therefore indistinguishable from a genuine error by status code alone. Do not treat the 400 as a failure and do not abort the polling on it: read data.status to decide, and use the presence of _metadata.error_code to tell a real error apart, since the pending response does not carry one.
Polling the generation
The report is normally ready within a minute of the creation, but the time depends on the property and on the load of the service.
- Create the report, see Create report, and keep the returned
uuid. - Poll this endpoint until
data.statusistrue. - Request the data blocks, or the PDF.
Requesting a data block before the report is ready answers 400 with error_code DATA_NOT_EXIST:
{
"_metadata": {
"error_code": "DATA_NOT_EXIST",
"message": "There has been a problem",
"query": {},
"status": 400
},
"data": {}
}
Prefer the callback when you can
Polling is the fallback. If your integration can expose an HTTP endpoint, declare a callback.url on the creation instead and let the service notify you once the generation is complete.
Example Response
HTTP 200
{
"_metadata": {
"message": "",
"query": {},
"status": 200
},
"data": {
"status": true
}
}
HTTP 400
{
"_metadata": {
"message": null,
"query": {},
"status": 400
},
"data": {
"status": false
}
}