# Units Operations for managing rental units ## Get units - [GET /units](https://docs.rentengine.io/openapi/units/getunits.md): Retrieve units with optional filtering and pagination ## Create or update a unit - [POST /units](https://docs.rentengine.io/openapi/units/postunit.md): Create a new unit or update an existing one. ## Insert vs Update - Insert: When no id is provided, a new unit will be created. Required fields for creation include address, property_type, target_rental_rate, and account_id. - Update: When an id is provided, an existing unit will be updated. No other fields are required. ## Address Updates When updating a unit, if you include the address field, you must provide all address components (street_number, street_name, zip_code, state, city). Partial address updates are not supported. ## Structured Access Instructions When providing structured_access_instructions, the showing_method field must also be set. The structure of the access instructions depends on the showing method: - For "Self Guided", "Remote Guided", or "Remote Guided with Gated Access" methods: Include fields like lockbox_location, lockbox_code, etc. - For "Accompanied" method: Include fields like assigned_user_ids, meeting_location, etc. ## Units - [POST UnitsEvents](https://docs.rentengine.io/openapi/units/receive-units-updates.md): Webhook for unit changes (creates, updates, deletes). Only the below fields are included in the record and old_record objects.