Returns the full detail of a set of properties from their IDs, with pagination and optional sorting. It is designed for the chat results panel: IDs are first obtained with GET /api/action/mapaprop-chat-ai-v1/search and then the detail is resolved in pages of up to 10 properties with this endpoint.
customerId is resolved from the access token. Only properties belonging to the authenticated account are returned; any ID from another account is silently discarded.
| Resource information | |
|---|---|
| Authentication | Required (API Token, Bearer) |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
Resource URL
https://mapaprop.app/api/action/mapaprop-chat-ai-v1/properties
Parameters
| Key | Type | Required | Description |
|---|---|---|---|
| propertyIds | string | yes | Comma-separated list of property IDs (e.g. "2600144,2600145,2600150"). Non-numeric values are silently ignored |
| from | int | no | Zero-based pagination offset. Defaults to 0 |
| size | int | no | Number of results per page. Defaults to 10. If a value greater than 10 is sent, it is capped to 10 (no error is raised) |
| sort | string | no | Sort order of the results. Valid values: price_desc, price_asc, area_desc, bedrooms_desc. Any other value is ignored and the results are returned in the order of propertyIds |
Sample code
GET /api/action/mapaprop-chat-ai-v1/properties?propertyIds=2600144,2600145,2600150&from=0&size=10&sort=price_desc HTTP/1.1
Host: mapaprop.app
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
Authorization: Bearer {access_token}
Response
| Object | Field | Type | Required | Description |
|---|---|---|---|---|
| Response | properties | Array of Property | yes | The resolved page of properties |
| total | int | yes | Total number of IDs received in propertyIds (not a search count; it is simply propertyIds.length) | |
| from | int | yes | The offset received, as is | |
| size | int | yes | Number of properties returned on this page (may be less than the requested size) | |
| hasMore | boolean | yes | Whether there are more properties after this page | |
| Property | propertyId | int | yes | Property ID |
| code | string | yes | Property code entered by the customer, without the account prefix | |
| title | string | yes | Property title | |
| description | string | yes | Property description | |
| descriptionFormatted | string | no | Description with line breaks | |
| seoUrl | string | yes | SEO path of the property on the customer's site | |
| type | int | yes | Property type ID. GET /api/action/mapaprop-chat-ai-v1/types | |
| propertyType | string | yes | Translated description of the type | |
| operation | int | yes | Operation ID. GET /api/action/mapaprop-chat-ai-v1/operations | |
| propertyOperation | string | yes | Translated description of the operation | |
| status | string | no | Translated description of the construction status | |
| price | int | yes | Property price | |
| currency | string | yes | Currency of the price | |
| expensesPrice | int | no | Expenses amount | |
| expensesCurrency | string | no | Currency of the expenses | |
| taxPrice | int | no | Tax amount | |
| taxCurrency | string | no | Currency of the taxes | |
| address | string | no | Property address | |
| countryId | int | yes | Country ID | |
| stateId | int | yes | State/province ID (zone1) | |
| countyId | int | no | County ID (zone2) | |
| cityId | int | no | City/neighborhood ID (zone3) | |
| country | string | yes | Country name | |
| state | string | no | State/province name | |
| county | string | no | County name | |
| city | string | no | City/neighborhood name | |
| customerCountryDesc | string | yes | Country name of the customer's account | |
| bedrooms | int | no | Number of bedrooms | |
| ambiences | int | no | Number of rooms | |
| bathrooms | int | no | Number of bathrooms | |
| totalSurface | number | no | Total surface in m². May not be present in properties loaded only with buildingArea/landArea | |
| buildingArea | int | no | Covered surface in m² | |
| landArea | int | no | Land surface in m² | |
| garage | int | no | Number of parking spaces | |
| garageType | string | no | Description of the parking type | |
| sold | boolean | yes | Whether the property was marked as sold | |
| rented | boolean | yes | Whether the property was marked as rented | |
| reserved | boolean | yes | Whether the property was reserved | |
| suspended | boolean | yes | Whether the listing was suspended | |
| mainImage | string | yes | Full URL of the main image | |
| images | Array of Image | no | Property images | |
| mapLatitude | string | no | Latitude | |
| mapLongitude | string | no | Longitude | |
| mapEmbedUrl | string | no | Ready-to-embed map URL (Google Maps), only if the property has coordinates | |
| labels | Array of string | no | Labels for amenities/highlighted attributes. Constants | |
| attributes | Array of object | no | Active attributes of the property | |
| Image | image | string | yes | Image URL |
| thumbnail | string | yes | Thumbnail URL |
Sample response
{
"properties": [
{
"propertyId": 2600144,
"code": "casas236516",
"title": "Departamento 2 ambientes en Palermo",
"description": "Excelente departamento a estrenar...",
"seoUrl": "venta-de-departamento-en-palermo-capital-federal-11099-2600144",
"type": 1,
"propertyType": "Departamento",
"operation": 1,
"propertyOperation": "Venta",
"price": 210000,
"currency": "USD",
"address": "Av. Santa Fe 3200",
"countryId": 1,
"stateId": 1,
"countyId": 46,
"country": "Argentina",
"state": "Capital Federal",
"county": "Palermo",
"customerCountryDesc": "Argentina",
"bedrooms": 2,
"bathrooms": 1,
"totalSurface": 55,
"sold": false,
"rented": false,
"reserved": false,
"suspended": false,
"mainImage": "https://s3.amazonaws.com/mapaprop-dev/photos/11099/2600144/1t.jpg",
"images": [
{
"image": "https://s3.amazonaws.com/mapaprop-dev/photos/11099/2600144/1.jpg",
"thumbnail": "https://s3.amazonaws.com/mapaprop-dev/photos/11099/2600144/1t.jpg"
}
],
"mapLatitude": "-34.5875",
"mapLongitude": "-58.4205",
"mapEmbedUrl": "https://www.google.com/maps/embed/v1/place?key=...&q=-34.5875,-58.4205&zoom=15",
"labels": ["furnished", "grill"]
}
],
"total": 3,
"from": 0,
"size": 1,
"hasMore": true
}
If propertyIds is not sent, or none of its values is a valid number, the service responds HTTP 400 with an error JSON: {"error": "REQUIRED_INPUT", "description": "validation failed"} when the parameter is missing, or {"error": "REQUIRED_INPUT", "description": "No valid property IDs provided"} when only non-numeric values are sent.