> ## Documentation Index
> Fetch the complete documentation index at: https://docs.watahub.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Property

> Update details of an existing property



## OpenAPI

````yaml /openapi/application.json patch /api/v1/accounts/{account_id}/properties/{id}
openapi: 3.1.0
info:
  title: API de Yampi
  description: >-
    API de cuenta de Yampi: chats, inventario, negocios, contratos, tesorería y
    Livia. Autenticación con el header `api_access_token`.
  version: 1.2.0
  termsOfService: https://yampi.ai/terms/
  contact:
    email: hola@yampi.ai
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://app.yampi.ai
    description: Producción
security: []
tags:
  - name: Agents
    description: Agent management APIs
  - name: Canned Responses
    description: Pre-defined responses for common queries
  - name: Contacts
    description: Contact management APIs
  - name: Contact Labels
    description: Manage contact labels
  - name: Conversation Assignments
    description: Manage conversation assignments
  - name: Conversation Labels
    description: Manage conversation labels
  - name: Conversations
    description: Conversation management APIs
  - name: Custom Attributes
    description: Custom fields for contacts and conversations
  - name: Custom Filters
    description: Saved filters for conversations
  - name: Inboxes
    description: Communication channels setup
  - name: Integrations
    description: Third-party integrations
  - name: Messages
    description: Message management APIs
  - name: Profile
    description: User profile APIs
  - name: Reports
    description: Analytics and reporting APIs
  - name: Teams
    description: Team management APIs
  - name: Webhooks
    description: Event notification webhooks
  - name: Automation Rule
    description: Workflow automation rules
  - name: Help Center
    description: Knowledge base management
  - name: Account
    description: Current account profile and settings
  - name: Audit Logs
    description: Account audit log
  - name: Properties
    description: Property portfolio APIs
  - name: Companies
    description: Company CRM APIs
  - name: Opportunities
    description: Opportunity CRM APIs
  - name: Opportunity Reminders
    description: Reminders on opportunities
  - name: Contract Templates
    description: Contract template library
  - name: Contract Submissions
    description: Contract sending and tracking
  - name: Contract Imports
    description: Import signed contracts into the account
  - name: Livia
    description: Asistentes de Livia
  - name: Livia Tareas
    description: Tareas one-shot de Livia
  - name: SLA Policies
    description: SLA policy management
  - name: Applied SLAs
    description: SLA instances applied to conversations
  - name: SAML Settings
    description: Account SAML SSO settings
  - name: Treasury Subscriptions
    description: Recurring treasury subscriptions
  - name: Treasury Rent Readjustments
    description: Proposed rent raises reviewed before the tenant is notified
  - name: Treasury Payments
    description: Treasury payment recording
  - name: Treasury Adjustments
    description: Debit and credit adjustments
  - name: Treasury Adjustment Concepts
    description: Catálogo de conceptos de la agencia para cargos y descuentos.
  - name: Treasury Rules
    description: Notification, retry, collection and tax rules
  - name: Treasury Dashboard
    description: Treasury dashboard
  - name: Treasury Settings
    description: Treasury account settings
  - name: Treasury Owners
    description: Owner statements
  - name: Treasury Reports
    description: Aging and commission reports
  - name: Livia Documentos
    description: Documentos de conocimiento de Livia
  - name: Livia Escenarios
    description: Escenarios de un asistente de Livia
  - name: Livia Herramientas
    description: Herramientas HTTP de Livia
  - name: Livia Desk
    description: Hilos y mensajes de Livia Desk
  - name: Client Qualifications
    description: >-
      Criterios con los que un asistente califica a un cliente a partir de una
      conversación, y las bandas en las que cae.
  - name: Livia Preferencias
    description: Preferencias de Livia a nivel de cuenta
  - name: Documents
    description: Account document library
  - name: Document Folders
    description: Document library folders
  - name: Calendar Events
    description: Account calendar, availability and booking links
  - name: Agent Tasks
    description: Agent task inbox and lifecycle
  - name: Labels
    description: Account labels
  - name: Notifications
    description: User notifications and notification settings
  - name: Search
    description: Account search and AI search
  - name: Macros
    description: Conversation macros
  - name: Campaigns
    description: Outbound campaigns
  - name: Flow Definitions
    description: Livia flow builder
  - name: Custom Roles
    description: Custom agent roles
  - name: Assignment Policies
    description: Conversation assignment policies
  - name: Requirements
    description: Capture requirements
  - name: Zones
    description: Location zones and cities
  - name: Geocoding
    description: Authenticated geocoding
  - name: Domains
    description: Account custom domains
  - name: Connector Clients
    description: MCP connector client identifiers
  - name: Presigned Contracts
    description: Already-signed contracts uploaded to the account
  - name: Contract Webhooks
    description: Outbound contract webhook URLs
  - name: Contracts Settings
    description: Account contracts settings
  - name: Treasury Collections
    description: Collection steps, notices, agreements and exceptions
  - name: Treasury Guarantees
    description: Rental guarantees and claims
  - name: Treasury E-Invoices
    description: Electronic invoicing
  - name: Treasury Available Contracts
    description: Completed contracts that can seed subscriptions
  - name: Opportunity Pipelines
    description: CRM funnels
  - name: Opportunity Columns
    description: CRM kanban columns
  - name: Opportunity Lose Reasons
    description: CRM lose reasons
  - name: Requirement Quotes
    description: Priced quotes on capture requirements
  - name: Conversation Participants
    description: Agents participating in a conversation
  - name: Conversation Draft Messages
    description: Per-conversation composer drafts
  - name: MCP
    description: Account-scoped MCP JSON-RPC server
  - name: Treasury Bank Batches
    description: Bank payout files and beneficiary account confirmation
  - name: Treasury Bank Statements
    description: Imported bank statements and matching of their lines
  - name: Treasury Third Parties
    description: >-
      Propietarios, administraciones, proveedores y aliados a los que la agencia
      les paga o les cobra.
  - name: Treasury Giros
    description: What each recipient receives, by date and channel
  - name: Contract Drafts
    description: Contracts being written before they are sent
  - name: Contract Reviews
    description: Review rounds, versions and comments on a contract
  - name: Contact Assignment Requests
    description: Requests to be assigned a contact
  - name: Onboarding
    description: Account onboarding details
  - name: Owner Portal Invites
    description: Owner portal invite, eligibility and revoke
  - name: Channel Authorizations
    description: Start OAuth or embedded signup for inbox channels
  - name: CSAT Survey Responses
    description: Account CSAT responses, metrics and review notes
  - name: Dashboard
    description: Account dashboard summary and trends
  - name: Dashboard Apps
    description: Embedded dashboard apps
  - name: Bulk Actions
    description: Bulk conversation and contact actions
  - name: Assignable Agents
    description: Agents assignable across a set of inboxes
  - name: Tracking Pixels
    description: Advertising tracking pixels
  - name: Calls
    description: Account call history
  - name: WhatsApp Calls
    description: WhatsApp voice calls
  - name: WhatsApp Groups
    description: WhatsApp Cloud group management on an inbox
paths:
  /api/v1/accounts/{account_id}/properties/{id}:
    parameters:
      - $ref: '#/components/parameters/account_id'
    patch:
      tags:
        - Properties
      summary: Update Property
      description: Update details of an existing property
      operationId: updateProperty
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/property_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/property_show_response'
components:
  parameters:
    account_id:
      in: path
      name: account_id
      schema:
        type: integer
      required: true
      description: The numeric ID of the account
  schemas:
    property_create_update_payload:
      type: object
      description: >-
        Body of create and update (PropertiesController#property_params). On
        update, managers and assignments are scoped to the current account;
        registration_number cannot change once another agency manages the
        property.
      required:
        - property
      properties:
        property:
          type: object
          properties:
            registration_number:
              type: string
              description: >-
                Matricula inmobiliaria. On create, an existing one links the
                canonical property instead of duplicating it.
            address:
              type: string
            address_line_2:
              type: string
            zip_code:
              type: string
            zone:
              type: string
            locality:
              type: string
            latitude:
              type: number
            longitude:
              type: number
            geocoding_place_id:
              type: string
            property_type:
              type: string
            area:
              type: number
            bedrooms:
              type: integer
            bathrooms:
              type: integer
            parking_spaces:
              type: integer
            admin_fee:
              type: number
            admin_fee_due_day:
              type: integer
              minimum: 1
              maximum: 31
            stratum:
              type: integer
            amenities:
              type: array
              items:
                type: string
              description: Stored JSON-encoded.
            country_code:
              type: string
            country_name:
              type: string
            state_code:
              type: string
            state_name:
              type: string
            city_name:
              type: string
            labels:
              type: array
              items:
                type: string
              description: >-
                Only read on create; on update pipeline labels come from the
                contract and tenancy flows.
            additional_attributes:
              type: object
              description: Merged into the stored attributes on update.
              properties:
                built_area:
                  type: number
                terrain_area:
                  type: number
                private_area:
                  type: number
                year_built:
                  type: integer
                floor:
                  type: integer
                visits:
                  type: integer
                physical_condition:
                  type: string
            property_managers_attributes:
              type: array
              description: >-
                The management of the current account
                (PropertiesController::MANAGER_ATTRIBUTES).
              items:
                type: object
                properties:
                  id:
                    type: integer
                    description: Required on update to edit the existing management.
                  internal_id:
                    type: string
                    nullable: true
                    description: >-
                      Internal code of the property in the agency ("Código
                      interno"). Unique per account; blank clears it.
                  display_title:
                    type: string
                  description:
                    type: string
                  listing_price:
                    type: number
                  rental_price:
                    type: number
                  currency:
                    type: string
                  offer_type:
                    type: string
                    enum:
                      - rent
                      - sale
                      - both
                  status:
                    type: string
                    enum:
                      - active
                      - inactive
                  open_to_market:
                    type: boolean
                  responsible_user_id:
                    type: integer
                    nullable: true
                  captured_at:
                    type: string
                    format: date
                  external_url:
                    type: string
                  rental_period:
                    type: string
                  management_fee:
                    type: number
                  commission_type:
                    type: string
                  sale_management_fee:
                    type: number
                  sale_commission_type:
                    type: string
                  contract_start_date:
                    type: string
                    format: date
                  contract_end_date:
                    type: string
                    format: date
                  guarantee_owner_payment:
                    type: boolean
                  guarantee_admin_payment:
                    type: boolean
                  unrecovered_advance_policy:
                    type: string
                    enum:
                      - owner
                      - agency
                  moratory_interest_beneficiary:
                    type: string
                  notes:
                    type: string
                  internal_photos:
                    type: array
                    items:
                      type: string
                  portals:
                    type: array
                    items:
                      type: string
                  additional_attributes:
                    type: object
                    additionalProperties: true
                  publications_attributes:
                    type: array
                    description: >-
                      Title and description of each offered side of a dual
                      listing.
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                        offer:
                          type: string
                          enum:
                            - rent
                            - sale
                        display_title:
                          type: string
                        description:
                          type: string
            property_assignments_attributes:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: integer
                  contact_id:
                    type: integer
                  role:
                    type: string
                  ownership_percentage:
                    type: number
                  _destroy:
                    type: boolean
    property_show_response:
      type: object
      description: >-
        Show, create, update and duplicate render the property with the detail
        of the current account's management.
      properties:
        payload:
          allOf:
            - $ref: '#/components/schemas/property'
            - type: object
              properties:
                detail:
                  type: object
                  additionalProperties: true
                  description: >-
                    Internal detail card (Properties::InternalDetailPresenter),
                    e.g. property_code, display_title, photos; null keys are
                    omitted.
                publications:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                      offer:
                        type: string
                      display_title:
                        type: string
                        nullable: true
                      description:
                        type: string
                        nullable: true
                      description_html:
                        type: string
                        nullable: true
                responsible_agent:
                  type: object
                  nullable: true
                  properties:
                    display_name:
                      type: string
                    avatar_url:
                      type: string
                      nullable: true
                active_tenants:
                  type: array
                  description: Sensitive. Tenants of the live lease.
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                      name:
                        type: string
                      email:
                        type: string
                        nullable: true
                      phone_number:
                        type: string
                        nullable: true
                      primary:
                        type: boolean
                owner_reserves:
                  type: array
                  description: Sensitive. What each owner's reserve keeps on this property.
                  items:
                    type: object
                    properties:
                      contact_name:
                        type: string
                      amount:
                        type: number
    property:
      type: object
      description: >-
        A property as the account's portfolio sees it
        (app/views/api/v1/accounts/properties/_property.json.jbuilder). Fields
        marked "Sensitive" are only present when
        permissions.can_view_sensitive_details is true.
      properties:
        id:
          type: integer
        wasi_id:
          type: string
          nullable: true
          description: >-
            Code of the property in Wasi, when it was imported or synced from
            there.
        registration_number:
          type: string
          nullable: true
          description: Sensitive. Matricula inmobiliaria; globally unique.
        address:
          type: string
          nullable: true
          description: Sensitive.
        address_line_2:
          type: string
          nullable: true
          description: Sensitive.
        latitude:
          type: number
          nullable: true
          description: Sensitive.
        longitude:
          type: number
          nullable: true
          description: Sensitive.
        geocoding_place_id:
          type: string
          nullable: true
          description: Sensitive. Place id returned by the geocoder.
        zip_code:
          type: string
          nullable: true
        zone:
          type: string
          nullable: true
        locality:
          type: string
          nullable: true
        property_type:
          type: string
          nullable: true
        area:
          type: number
          nullable: true
        bedrooms:
          type: integer
          nullable: true
        bathrooms:
          type: integer
          nullable: true
        parking_spaces:
          type: integer
          nullable: true
        admin_fee:
          type: number
          nullable: true
        admin_fee_due_day:
          type: integer
          nullable: true
          minimum: 1
          maximum: 31
          description: Day of the month the administration fee is due.
        stratum:
          type: integer
          nullable: true
          description: Socioeconomic stratum.
        amenities:
          type: string
          nullable: true
          description: Amenities as stored, a JSON-encoded array of strings.
        country_code:
          type: string
          nullable: true
        country_name:
          type: string
          nullable: true
        state_code:
          type: string
          nullable: true
        state_name:
          type: string
          nullable: true
        city_name:
          type: string
          nullable: true
        additional_attributes:
          type: object
          additionalProperties: true
          description: >-
            Physical facts such as built_area, terrain_area, private_area,
            year_built, floor, visits and physical_condition.
        market_status:
          type: string
          nullable: true
          description: Market status derived from the property's canonical labels.
        market_status_label:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/property_label'
        labels:
          type: array
          items:
            $ref: '#/components/schemas/property_label'
        custom_labels:
          type: array
          description: Labels other than the canonical market-status ones.
          items:
            $ref: '#/components/schemas/property_label'
        property_managers:
          type: array
          description: The management of the current account only (zero or one item).
          items:
            type: object
            properties:
              id:
                type: integer
              account_id:
                type: integer
              description:
                type: string
                nullable: true
              display_title:
                type: string
                nullable: true
              internal_id:
                type: string
                nullable: true
                description: >-
                  Internal code of the property in the agency (shown as "Código
                  interno"). Unique per account; blank is stored as null.
              listing_price:
                type: number
                nullable: true
              rental_price:
                type: number
                nullable: true
              currency:
                type: string
                nullable: true
              offer_type:
                type: string
                enum:
                  - rent
                  - sale
                  - both
              publication_titles:
                type: object
                additionalProperties:
                  type: string
                description: >-
                  For a dual listing (offer_type both), the title of each side
                  keyed by offer; empty otherwise.
              previous_offer_type:
                type: string
                nullable: true
                enum:
                  - rent
                  - sale
                  - both
                  - null
              open_to_market:
                type: boolean
                nullable: true
              publicly_shareable:
                type: boolean
              status:
                type: string
                enum:
                  - active
                  - inactive
              internal_photos:
                type: array
                items:
                  type: string
              optimized_photos:
                type: array
                description: >-
                  Signed thumb and large renditions of internal_photos for the
                  gallery.
                items:
                  type: object
                  properties:
                    thumb:
                      type: string
                    large:
                      type: string
              captured_at:
                type: string
                format: date
                nullable: true
              created_at:
                type: string
                format: date-time
              updated_at:
                type: string
                format: date-time
              external_url:
                type: string
                nullable: true
              rental_period:
                type: string
                nullable: true
              portals:
                type: array
                nullable: true
                items:
                  type: string
              additional_attributes:
                type: object
                additionalProperties: true
                description: >-
                  note_entries is only included for viewers with sensitive
                  access.
              mandate_contract_submission_id:
                type: integer
                nullable: true
                description: Sensitive.
              mandate_scope:
                type: string
                nullable: true
                enum:
                  - rent
                  - sale
                  - both
                  - null
                description: Sensitive.
              exclusive:
                type: boolean
                nullable: true
                description: Sensitive.
              revoked_on:
                type: string
                format: date
                nullable: true
                description: Sensitive.
              management_fee:
                type: number
                nullable: true
                description: Sensitive.
              contract_start_date:
                type: string
                format: date
                nullable: true
                description: Sensitive.
              contract_end_date:
                type: string
                format: date
                nullable: true
                description: Sensitive.
              commission_type:
                type: string
                nullable: true
                description: Sensitive.
              sale_management_fee:
                type: number
                nullable: true
                description: >-
                  Sensitive. Recorded for reporting; Treasury does not charge it
                  yet.
              sale_commission_type:
                type: string
                nullable: true
                description: Sensitive.
              guarantee_owner_payment:
                type: boolean
                nullable: true
                description: >-
                  Sensitive. Payment guarantee to the owner agreed in the
                  mandate.
              guarantee_admin_payment:
                type: boolean
                nullable: true
                description: >-
                  Sensitive. Guarantee of the administration fee agreed in the
                  mandate.
              unrecovered_advance_policy:
                type: string
                nullable: true
                enum:
                  - owner
                  - agency
                  - null
                description: Sensitive.
              moratory_interest_beneficiary:
                type: string
                nullable: true
                description: Sensitive.
              notes:
                type: string
                nullable: true
                description: Sensitive.
              responsible_user_id:
                type: integer
                nullable: true
        permissions:
          type: object
          properties:
            can_view:
              type: boolean
            can_reassign_responsible:
              type: boolean
            can_edit:
              type: boolean
            can_edit_registration_number:
              type: boolean
              description: False once another agency manages the property too.
            can_duplicate:
              type: boolean
            can_destroy:
              type: boolean
            can_view_sensitive_details:
              type: boolean
            can_view_contacts:
              type: boolean
            can_view_contracts:
              type: boolean
            can_view_events:
              type: boolean
            can_view_documents:
              type: boolean
              description: Si el miembro puede listar y subir documentos de la propiedad
        active_contract_submission_id:
          type: integer
          nullable: true
          description: Sensitive.
        active_tenant_name:
          type: string
          nullable: true
          description: Sensitive.
        active_tenants_count:
          type: integer
          description: Sensitive.
        active_tenancy_status:
          type: string
          nullable: true
          description: Sensitive.
        linked_contracts_count:
          type: integer
          description: Sensitive.
        has_associated_contract:
          type: boolean
          description: Sensitive.
        closed_deal:
          type: object
          nullable: true
          description: Latest won deal of this account's management.
          properties:
            id:
              type: integer
            title:
              type: string
            opportunity_type:
              type: string
            closed_value:
              type: number
              nullable: true
            expected_value:
              type: number
              nullable: true
            currency:
              type: string
              nullable: true
            closed_at:
              type: string
              format: date-time
              nullable: true
            counterparty:
              $ref: '#/components/schemas/property_person_ref'
            owner:
              $ref: '#/components/schemas/property_person_ref'
            deal_attributions:
              type: array
              description: Sensitive.
              items:
                type: object
                properties:
                  id:
                    type: integer
                  role:
                    type: string
                  share_percentage:
                    type: number
                  user:
                    $ref: '#/components/schemas/property_person_ref'
        agent_profile:
          type: object
          description: >-
            Present only when the current agent has a public profile slug and
            the listing is publicly shareable.
          properties:
            slug:
              type: string
            property_url:
              type: string
            property_share_url:
              type: string
        property_assignments:
          type: array
          description: Sensitive.
          items:
            type: object
            properties:
              id:
                type: integer
              contact_id:
                type: integer
              role:
                type: string
              ownership_percentage:
                type: number
                nullable: true
              lock:
                type: object
                nullable: true
                description: >-
                  The presigned contract person that locks this tenant or
                  co-debtor.
                properties:
                  contract_submission_id:
                    type: integer
                  contract_submitter_id:
                    type: integer
                  pending_change_request_id:
                    type: integer
                    nullable: true
                  pending_change_request_mine:
                    type: boolean
              contact:
                type: object
                properties:
                  id:
                    type: integer
                  name:
                    type: string
                  email:
                    type: string
                    nullable: true
                  phone_number:
                    type: string
                    nullable: true
                    description: Only with full access to the contact.
                  document_type:
                    type: string
                    nullable: true
                    description: Only with full access to the contact.
                  document_number:
                    type: string
                    nullable: true
                    description: Only with full access to the contact.
    property_label:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        color:
          type: string
    property_person_ref:
      type: object
      nullable: true
      properties:
        id:
          type: integer
        name:
          type: string
        thumbnail:
          type: string
          nullable: true

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.