Updates one or more units that belong to the same facility. The units do not need to belong to the same unit group, and each unit can receive a different set of changes.

If a field is omitted from the request body, then the existing value for that field will not change.

Notes for unit_group_id:

  • This parameter is only available when Custom Unit Groups are enabled.
  • It will assign the unit to the given unit group.
  • A reference unit may only be moved if the request would empty its original group.
  • A value of null will keep the unit in its current group.
  • An empty string will remove the unit from its current unit group.

Array parameters (unit_amenities, tax_rates, or custom_field_values_attributes):

  • If null is provided, the field's values will not be changed.
  • If an empty array is provided, the field's values will be deleted.

Allowed values for door_type

  • none
  • roll_up
  • swing

Allowed values for access_type

  • indoor
  • outdoor

Possible errors:

  • 400 Bad Request - Some of the parameters were invalid. The error_hash field in the response is structured as follows:
    • Each key in error_hash represents an error type (i.e. 'id', 'width', etc)
    • Each error type contains an array of objects representing the units with that error. These unit objects contain keys of 'id', 'name', and 'message'.
  • 404 Not Found - Some of the unit ids were not found. The error_hash field in the response follows the structure described above.
  • 500 Internal Server Error

Params

Param name Description
units
required

Validations:

  • Must be an Array of nested elements

units[allow_future_move_ins_limit]
optional

Validations:

  • Must be a Integer

units[id]
required

Validations:

  • Must be a String

units[name]
optional

Validations:

  • Must be a String

units[width]
optional

Validations:

  • Must be a Integer

units[length]
optional

Validations:

  • Must be a Integer

units[height]
optional

Validations:

  • Must be a Integer

units[door_height]
optional

Validations:

  • Must be a Integer

units[door_width]
optional

Validations:

  • Must be a Integer

units[door_type]
optional

Validations:

  • Must be a String

units[access_type]
optional

Validations:

  • Must be a String

units[standard_rate]
optional

Ignored if facility uses tiered pricing

Validations:

  • Must be a Integer

units[walk_thru_order]
optional

Number of unit in walk through order

Validations:

  • Must be a Integer

units[unit_type]
optional

Unit type id

Validations:

  • Must be a String

units[floor]
optional

Floor number

Validations:

  • Must be a Integer

units[rentable]
optional

Is the unit rentable

Validations:

  • Must be one of: true, false, 1, 0.

units[combination_lock_number]
optional

Validations:

  • Must be a String

units[overlock_lock_number]
optional

Validations:

  • Must be a String

units[attribute_description]
optional

Validations:

  • Must be a String

units[tax_rates]
optional

Array of tax rate ids

Validations:

  • Must be an array of String

units[unit_amenities]
optional

Array of unit amenity ids

Validations:

  • Must be an array of String

units[unit_group_id]
optional

Unit group id; only available when Custom Unit Groups are enabled

Validations:

  • Must be a String

units[tier]
optional

Tier id. Required if tiering is enabled

Validations:

  • Must be a String

units[rank]
optional

Rank of the desirability of the unit across all units at the facility

Validations:

  • Must be a Integer

units[exclude_from_api]
optional

True if the unit is excluded from relevant API responses; only available if the client application has the "read_excluded" permission.

Validations:

  • Must be one of: true, false, 1, 0.

units[custom_field_values_attributes]
optional

Array of custom field id and value pairs

Validations:

  • Must be an Array of nested elements

units[custom_field_values_attributes][custom_field_id]
optional

Custom field's ID

Validations:

  • Must be a Integer

units[custom_field_values_attributes][value]
optional

Value of the custom field for this unit

Validations:

  • Must be a String

Examples

PUT /v1/bf850fa8-9dfb-4c92-bdbe-582c447b52d4/units/bulk_update
{
  "units": [
    {
      "id": "0561dc8c-f15f-46fb-9363-353d3bb4586d",
      "name": "updated unit name #1",
      "width": 9,
      "length": 10,
      "height": 11,
      "door_height": 7,
      "door_width": 8,
      "door_type": "swing",
      "access_type": "outdoor",
      "floor": 0,
      "walk_thru_order": 5,
      "standard_rate": 764.95,
      "rentable": true,
      "combination_lock_number": "14953",
      "overlock_lock_number": "72092",
      "attribute_description": "",
      "tax_rates": [
        "651566ec-5300-4f80-a883-eef2a9b1fe63"
      ],
      "unit_amenities": [
        "16167d4e-b59c-4167-abe7-e0073c049211"
      ],
      "unit_type": "de09aae9-6e93-4667-b48d-066d543e7a66"
    },
    {
      "id": "7442785e-0e41-40a8-a3d1-0641046f6014",
      "name": "updated unit name #2",
      "width": 12,
      "length": 13,
      "height": 14,
      "door_height": 9,
      "door_width": 10,
      "door_type": "roll_up",
      "access_type": "indoor",
      "floor": 1,
      "walk_thru_order": 2,
      "standard_rate": 769.95,
      "rentable": true,
      "combination_lock_number": "24387",
      "overlock_lock_number": "33761",
      "attribute_description": "",
      "tax_rates": [
        "651566ec-5300-4f80-a883-eef2a9b1fe63"
      ],
      "unit_amenities": [
        "16167d4e-b59c-4167-abe7-e0073c049211"
      ],
      "unit_type": "de09aae9-6e93-4667-b48d-066d543e7a66"
    }
  ],
  "unit": {}
}
200
{
  "units": [
    {
      "id": "0561dc8c-f15f-46fb-9363-353d3bb4586d",
      "price": 764.95,
      "name": "updated unit name #1",
      "description": "0th floor",
      "width": 9.0,
      "length": 10.0,
      "height": 11.0,
      "door_height": 7.0,
      "door_width": 8.0,
      "door_type": "swing",
      "access_type": "outdoor",
      "floor": 0,
      "directions": null,
      "size": "9x10x11",
      "area": 60.0,
      "standard_rate": 764.95,
      "managed_rate": null,
      "tiered_rate": null,
      "available_for_move_in": true,
      "rentable": true,
      "status": "vacant",
      "payment_status": null,
      "current_ledger_id": null,
      "current_tenant_id": null,
      "combo_lock_group": null,
      "combination_lock_number": "14953",
      "overlock_lock_number": null,
      "attribute_description": "",
      "deleted": false,
      "damaged": false,
      "complimentary": null,
      "unrentable": false,
      "company_owned": false,
      "is_prepped": null,
      "rank": null,
      "custom_fields": [],
      "allow_future_move_ins_limit": null,
      "channel_rate": null,
      "unit_amenities": [],
      "unit_type": {
        "id": "de09aae9-6e93-4667-b48d-066d543e7a66",
        "name": "Unit Type 172",
        "deleted": false,
        "internal_account_code": "4000",
        "code_and_description": "4000 - Rental Revenue",
        "ii_excluded": []
      },
      "tier": null,
      "unit_group_id": "3560ecdb-c7f6-4bd8-aedf-5fea20acd509"
    },
    {
      "id": "7442785e-0e41-40a8-a3d1-0641046f6014",
      "price": 769.95,
      "name": "updated unit name #2",
      "description": "1st floor",
      "width": 12.0,
      "length": 13.0,
      "height": 14.0,
      "door_height": 9.0,
      "door_width": 10.0,
      "door_type": "roll_up",
      "access_type": "indoor",
      "floor": 1,
      "directions": null,
      "size": "12x13x14",
      "area": 60.0,
      "standard_rate": 769.95,
      "managed_rate": null,
      "tiered_rate": null,
      "available_for_move_in": false,
      "rentable": true,
      "status": "occupied",
      "payment_status": null,
      "current_ledger_id": null,
      "current_tenant_id": null,
      "combo_lock_group": null,
      "combination_lock_number": "24387",
      "overlock_lock_number": null,
      "attribute_description": "",
      "deleted": false,
      "damaged": false,
      "complimentary": null,
      "unrentable": false,
      "company_owned": false,
      "is_prepped": null,
      "rank": null,
      "custom_fields": [],
      "allow_future_move_ins_limit": null,
      "channel_rate": null,
      "unit_amenities": [],
      "unit_type": {
        "id": "de09aae9-6e93-4667-b48d-066d543e7a66",
        "name": "Unit Type 172",
        "deleted": false,
        "internal_account_code": "4000",
        "code_and_description": "4000 - Rental Revenue",
        "ii_excluded": []
      },
      "tier": null,
      "unit_group_id": "04f0b140-15d5-449f-be3c-3bbbc7a42f46"
    }
  ],
  "meta": {
    "pagination": {
      "current_page": 1,
      "total_pages": 1,
      "per_page": 100,
      "total_entries": 2,
      "previous_page": null,
      "next_page": null
    },
    "status_code": 200,
    "status_message": "OK",
    "status_cat": "https://http.cat/200",
    "request_method": "PUT",
    "request_id": null,
    "parameters": {
      "units": [
        {
          "id": "0561dc8c-f15f-46fb-9363-353d3bb4586d",
          "name": "updated unit name #1",
          "width": 9,
          "length": 10,
          "height": 11,
          "door_height": 7,
          "door_width": 8,
          "door_type": "swing",
          "access_type": "outdoor",
          "floor": 0,
          "walk_thru_order": 5,
          "standard_rate": 764.95,
          "rentable": true,
          "combination_lock_number": "14953",
          "overlock_lock_number": "72092",
          "attribute_description": "",
          "tax_rates": [
            "651566ec-5300-4f80-a883-eef2a9b1fe63"
          ],
          "unit_amenities": [
            "16167d4e-b59c-4167-abe7-e0073c049211"
          ],
          "unit_type": "de09aae9-6e93-4667-b48d-066d543e7a66"
        },
        {
          "id": "7442785e-0e41-40a8-a3d1-0641046f6014",
          "name": "updated unit name #2",
          "width": 12,
          "length": 13,
          "height": 14,
          "door_height": 9,
          "door_width": 10,
          "door_type": "roll_up",
          "access_type": "indoor",
          "floor": 1,
          "walk_thru_order": 2,
          "standard_rate": 769.95,
          "rentable": true,
          "combination_lock_number": "24387",
          "overlock_lock_number": "33761",
          "attribute_description": "",
          "tax_rates": [
            "651566ec-5300-4f80-a883-eef2a9b1fe63"
          ],
          "unit_amenities": [
            "16167d4e-b59c-4167-abe7-e0073c049211"
          ],
          "unit_type": "de09aae9-6e93-4667-b48d-066d543e7a66"
        }
      ],
      "facility_id": "bf850fa8-9dfb-4c92-bdbe-582c447b52d4",
      "unit": {}
    }
  }
}