Skip to main content
POST
/
api
/
v1
/
listing
/
bulk-update
Bulk update listings
curl --request POST \
  --url https://api.example.com/api/v1/listing/bulk-update \
  --header 'Content-Type: application/json' \
  --header 'x-calry-api-key: <api-key>' \
  --data '
{
  "data": {
    "123e4567-e89b-12d3-a456-426614174000": {
      "bathroomCount": 3,
      "timeZone": "Asia/Dubai"
    },
    "223e4567-e89b-12d3-a456-426614174000": {
      "internalName": "Updated Villa Name",
      "maxOccupancy": 8
    }
  }
}
'
{
  "errors": {
    "123e4567-e89b-12d3-a456-426614174000": "Listing not found",
    "0b8c2f59-8142-47f4-b6b0-032d3d21465b": "The following fields cannot be updated because they are synced from the provider: latitude. Updatable fields are: checkIn, contact, checkOut, pictures, timeZone, startPrice, bedroomCount, internalName, maxOccupancy, thumbnailUrl, bathroomCount, parentPropertyID"
  },
  "updated": [
    "323e4567-e89b-12d3-a456-426614174000",
    "423e4567-e89b-12d3-a456-426614174000"
  ]
}

Authorizations

x-calry-api-key
string
header
required

Headers

x-calry-tenant-id
string

Optional tenant ID to specify which tenant to operate as. If not provided, the default tenant will be used.

Body

application/json
data
object
required

Map of listing IDs (UUIDs) to update data. Each key should be a valid listing UUID and represents a listing to be updated.

Example:
{
"123e4567-e89b-12d3-a456-426614174000": {
"bathroomCount": 3,
"timeZone": "Asia/Dubai"
},
"223e4567-e89b-12d3-a456-426614174000": {
"internalName": "Updated Villa Name",
"maxOccupancy": 8
}
}

Response

Listings updated successfully

errors
object
required

Map of listing IDs to error messages for failed updates

Example:
{
"123e4567-e89b-12d3-a456-426614174000": "Listing not found",
"0b8c2f59-8142-47f4-b6b0-032d3d21465b": "The following fields cannot be updated because they are synced from the provider: latitude. Updatable fields are: checkIn, contact, checkOut, pictures, timeZone, startPrice, bedroomCount, internalName, maxOccupancy, thumbnailUrl, bathroomCount, parentPropertyID"
}
updated
string[]
required

List of listing IDs that were successfully updated

Example:
[
"323e4567-e89b-12d3-a456-426614174000",
"423e4567-e89b-12d3-a456-426614174000"
]