← Tool reference

update_home_search_preferences

Remember home preferences

Remember only the home preferences the buyer stated: areas, a price range, meaningful features or refinements. Pass only changed fields; an empty list clears a list, and null clears an optional scalar. It keeps up to 12 areas and 15 must-haves and 15 dealbreakers. Bind expectedRevision to get_home_search and reuse mutationId only for an exact retry. This stores a private buyer-owned search record across connected clients; it does not search, qualify the buyer, or change an offer.

Effect
Draft or workspace edit
Required scopes
workspace:write
Workflow stages
research
Data classes
account profile
Operation cost
2 weighted units; additional domain limits may apply.
Configurations
Standard, Buyer UI v2
Muse proposal
Write. Creates or updates draft, document, or workspace data within the authorized workflow. Meta makes the final classification during review.

Buyer approval and signing controls apply in addition to the scopes above. Read error and retry guidance before implementing recovery.

Input and output contracts

Returns structured content and a JSON text content block. Live discovery may compact a large output schema; execution validates the full contract below.

Input fields

Required applies within the containing object. Optional fields can be omitted; null is accepted only where listed. Field descriptions and constraints come from the source schema. The raw schema remains the complete contract.

FieldRequiredMeaning and constraints
expectedRevisionintegerYes

Minimum: 0.

Maximum: 9007199254740991.

mutationIdstringYes

A fresh random UUID (v4) you generate for this mutation. Send the same UUID only to retry the identical mutation; never a readable label.

Format: uuid.

Pattern validation applies; see the raw schema.

patchobjectYes

Extra fields are not allowed.

patch: nested contract
FieldRequiredMeaning and constraints
areasarray<string>No

Maximum items: 12.

areas: nested contract
Array item contract

Minimum characters: 1. Maximum characters: 80.

priceMininteger | nullNo

Must match at least one alternative.

priceMin: nested contract
Alternative 1: integer

Minimum: 0. Maximum: 100000000.

Alternative 2: null

priceMaxinteger | nullNo

Must match at least one alternative.

priceMax: nested contract
Alternative 1: integer

Minimum: 0. Maximum: 100000000.

Alternative 2: null

mustHavesarray<string>No

Maximum items: 15.

mustHaves: nested contract
Array item contract

Minimum characters: 1. Maximum characters: 120.

dealbreakersarray<string>No

Maximum items: 15.

dealbreakers: nested contract
Array item contract

Minimum characters: 1. Maximum characters: 120.

homeTypesarray<string>No

Maximum items: 5.

homeTypes: nested contract
Array item contract

Allowed: "single_family", "condo", "townhouse", "multi_family", "other".

minBedroomsinteger | nullNo

Must match at least one alternative.

minBedrooms: nested contract
Alternative 1: integer

Minimum: 0. Maximum: 20.

Alternative 2: null

minBathroomsnumber | nullNo

Must match at least one alternative.

minBathrooms: nested contract
Alternative 1: number

Minimum: 0. Maximum: 20. Multiple of: 0.5.

Alternative 2: null

conditionstring | nullNo

Must match at least one alternative.

condition: nested contract
Alternative 1: string

Allowed: "any", "move_in_ready", "open_to_repairs".

Alternative 2: null

commuteNotestring | nullNo

Must match at least one alternative.

commuteNote: nested contract
Alternative 1: string

Minimum characters: 1. Maximum characters: 160.

Alternative 2: null

deferredTopicsarray<string>No

Maximum items: 8.

deferredTopics: nested contract
Array item contract

Allowed: "area", "price", "features", "home_type", "bedrooms", "bathrooms", "condition", "commute".

Output fields

Required applies within the containing object. Optional fields can be omitted; null is accepted only where listed. Field descriptions and constraints come from the source schema. The raw schema remains the complete contract.

FieldRequiredMeaning and constraints
schemaVersionstringYes

Must be "1".

stateobjectYes

Extra fields are not allowed.

state: nested contract
FieldRequiredMeaning and constraints
revisionintegerYes

Minimum: 0.

Maximum: 9007199254740991.

preferencesobjectYes

Extra fields are not allowed.

preferences: nested contract
FieldRequiredMeaning and constraints
areasarray<string>Yes

Maximum items: 12.

areas: nested contract
Array item contract

Minimum characters: 1. Maximum characters: 80.

priceMininteger | nullYes

Must match at least one alternative.

priceMin: nested contract
Alternative 1: integer

Minimum: 0. Maximum: 100000000.

Alternative 2: null

priceMaxinteger | nullYes

Must match at least one alternative.

priceMax: nested contract
Alternative 1: integer

Minimum: 0. Maximum: 100000000.

Alternative 2: null

mustHavesarray<string>Yes

Maximum items: 15.

mustHaves: nested contract
Array item contract

Minimum characters: 1. Maximum characters: 120.

dealbreakersarray<string>Yes

Maximum items: 15.

dealbreakers: nested contract
Array item contract

Minimum characters: 1. Maximum characters: 120.

homeTypesarray<string>Yes

Maximum items: 5.

homeTypes: nested contract
Array item contract

Allowed: "single_family", "condo", "townhouse", "multi_family", "other".

minBedroomsinteger | nullYes

Must match at least one alternative.

minBedrooms: nested contract
Alternative 1: integer

Minimum: 0. Maximum: 20.

Alternative 2: null

minBathroomsnumber | nullYes

Must match at least one alternative.

minBathrooms: nested contract
Alternative 1: number

Minimum: 0. Maximum: 20. Multiple of: 0.5.

Alternative 2: null

conditionstring | nullYes

Must match at least one alternative.

condition: nested contract
Alternative 1: string

Allowed: "any", "move_in_ready", "open_to_repairs".

Alternative 2: null

commuteNotestring | nullYes

Must match at least one alternative.

commuteNote: nested contract
Alternative 1: string

Minimum characters: 1. Maximum characters: 160.

Alternative 2: null

deferredTopicsarray<string>Yes

Maximum items: 8.

deferredTopics: nested contract
Array item contract

Allowed: "area", "price", "features", "home_type", "bedrooms", "bathrooms", "condition", "commute".

activitiesarray<object>Yes

Maximum items: 20.

activities: nested contract
Array item contract

Extra fields are not allowed.

FieldRequiredMeaning and constraints
idstringYes

Pattern validation applies; see the raw schema.

kindstringYes

Allowed: "search_routine", "open_house", "private_showing", "reminder".

providerstringYes

Pattern validation applies; see the raw schema.

externalReferencestringYes

Pattern validation applies; see the raw schema.

summarystringYes

Minimum characters: 1.

Maximum characters: 200.

cadencestring | nullYes

Must match at least one alternative.

cadence: nested contract
Alternative 1: string

Minimum characters: 1. Maximum characters: 120.

Alternative 2: null

eventStartAtstring | nullYes

Must match at least one alternative.

eventStartAt: nested contract
Alternative 1: string

Format: date-time. Pattern validation applies; see the raw schema.

Alternative 2: null

timeZonestring | nullYes

Must match at least one alternative.

timeZone: nested contract
Alternative 1: string

Minimum characters: 1. Maximum characters: 80.

Alternative 2: null

lastReportedStatusstringYes

Allowed: "scheduled", "active", "paused", "completed", "cancelled", "failed".

observedAtstringYes

Format: date-time.

Pattern validation applies; see the raw schema.

recordedByClientIdstringYes

Minimum characters: 1.

Maximum characters: 200.

updatedAtstring | nullYes

Must match at least one alternative.

updatedAt: nested contract
Alternative 1: string

Format: date-time. Pattern validation applies; see the raw schema.

Alternative 2: null

mutationIdstringYes

A fresh random UUID (v4) you generate for this mutation. Send the same UUID only to retry the identical mutation; never a readable label.

Format: uuid.

Pattern validation applies; see the raw schema.

Raw input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "mutationId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "A fresh random UUID (v4) you generate for this mutation. Send the same UUID only to retry the identical mutation; never a readable label."
    },
    "patch": {
      "type": "object",
      "properties": {
        "areas": {
          "maxItems": 12,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "priceMin": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000000
            },
            {
              "type": "null"
            }
          ]
        },
        "priceMax": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 100000000
            },
            {
              "type": "null"
            }
          ]
        },
        "mustHaves": {
          "maxItems": 15,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "dealbreakers": {
          "maxItems": 15,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "homeTypes": {
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "single_family",
              "condo",
              "townhouse",
              "multi_family",
              "other"
            ]
          }
        },
        "minBedrooms": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 20
            },
            {
              "type": "null"
            }
          ]
        },
        "minBathrooms": {
          "anyOf": [
            {
              "type": "number",
              "minimum": 0,
              "maximum": 20,
              "multipleOf": 0.5
            },
            {
              "type": "null"
            }
          ]
        },
        "condition": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "any",
                "move_in_ready",
                "open_to_repairs"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "commuteNote": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            {
              "type": "null"
            }
          ]
        },
        "deferredTopics": {
          "maxItems": 8,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "area",
              "price",
              "features",
              "home_type",
              "bedrooms",
              "bathrooms",
              "condition",
              "commute"
            ]
          }
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "expectedRevision",
    "mutationId",
    "patch"
  ],
  "additionalProperties": false
}
Full output schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "schemaVersion": {
      "type": "string",
      "const": "1"
    },
    "state": {
      "type": "object",
      "properties": {
        "revision": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "preferences": {
          "type": "object",
          "properties": {
            "areas": {
              "maxItems": 12,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              }
            },
            "priceMin": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000000
                },
                {
                  "type": "null"
                }
              ]
            },
            "priceMax": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100000000
                },
                {
                  "type": "null"
                }
              ]
            },
            "mustHaves": {
              "maxItems": 15,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              }
            },
            "dealbreakers": {
              "maxItems": 15,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              }
            },
            "homeTypes": {
              "maxItems": 5,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "single_family",
                  "condo",
                  "townhouse",
                  "multi_family",
                  "other"
                ]
              }
            },
            "minBedrooms": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 20
                },
                {
                  "type": "null"
                }
              ]
            },
            "minBathrooms": {
              "anyOf": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 20,
                  "multipleOf": 0.5
                },
                {
                  "type": "null"
                }
              ]
            },
            "condition": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "any",
                    "move_in_ready",
                    "open_to_repairs"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "commuteNote": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                },
                {
                  "type": "null"
                }
              ]
            },
            "deferredTopics": {
              "maxItems": 8,
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "area",
                  "price",
                  "features",
                  "home_type",
                  "bedrooms",
                  "bathrooms",
                  "condition",
                  "commute"
                ]
              }
            }
          },
          "required": [
            "areas",
            "priceMin",
            "priceMax",
            "mustHaves",
            "dealbreakers",
            "homeTypes",
            "minBedrooms",
            "minBathrooms",
            "condition",
            "commuteNote",
            "deferredTopics"
          ],
          "additionalProperties": false
        },
        "activities": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[0-9a-f]{32}$"
              },
              "kind": {
                "type": "string",
                "enum": [
                  "search_routine",
                  "open_house",
                  "private_showing",
                  "reminder"
                ]
              },
              "provider": {
                "type": "string",
                "pattern": "^[a-z0-9][a-z0-9._-]{0,39}$"
              },
              "externalReference": {
                "type": "string",
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/+=@-]{0,511}$"
              },
              "summary": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "cadence": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 120
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "eventStartAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "timeZone": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastReportedStatus": {
                "type": "string",
                "enum": [
                  "scheduled",
                  "active",
                  "paused",
                  "completed",
                  "cancelled",
                  "failed"
                ]
              },
              "observedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "recordedByClientId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              }
            },
            "required": [
              "id",
              "kind",
              "provider",
              "externalReference",
              "summary",
              "cadence",
              "eventStartAt",
              "timeZone",
              "lastReportedStatus",
              "observedAt",
              "recordedByClientId"
            ],
            "additionalProperties": false
          }
        },
        "updatedAt": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "revision",
        "preferences",
        "activities",
        "updatedAt"
      ],
      "additionalProperties": false
    },
    "mutationId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "A fresh random UUID (v4) you generate for this mutation. Send the same UUID only to retry the identical mutation; never a readable label."
    }
  },
  "required": [
    "schemaVersion",
    "state",
    "mutationId"
  ],
  "additionalProperties": false
}
Tool annotations
{
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false,
  "readOnlyHint": false
}

Reference 00e5441a095c7e20. Download the full catalog.