Skip to main content
Glama

SPACEXPLORATION

Update listing

update_listing
DestructiveIdempotent

Update a listing's parcel, pricing, or marketing data, or a lease's suites. Pass at least one group (parcel, pricing, marketing, spaces); send each group whole, not just the changed field. Returns the full updated listing exactly as stored.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hashidYesHashid of the listing to update.
parcelNoParcel/address fields to update: street_address, city, county, state, postal_code, latitude, longitude, and optionally unit, lot_size (INTEGER SQUARE FEET — convert acres × 43,560), lot_size_unit (the unit the size was stated in: sqft | acres | sqm | hectares; display-only), year_built, property_type, place_id (from geocode_address — when the address moves, it matches the listing to a building already on file).
spacesNoA lease's suites, as the whole list: a suite left out is removed, and an empty list removes them all. A whole building leased as one is a single suite. To change suites, start from the spaces get_listing returns to you as the owner: a suite sent with its id is updated, and any field it leaves out keeps its stored value; a suite without an id is added. Publishing a lease needs at least one available suite with available_sqft and a lease_rate or price_on_request=true.
pricingNoPricing fields to update: listing_type (sale|lease). For a sale set sale_price (dollars), or omit it and set price_on_request=true for "price upon request". A lease is priced per suite (see spaces); lease_rate_period (per_sqft_year|per_sqft_month|per_month|per_year, default per_sqft_year) is the basis every suite's rate is quoted in. A lease with at most one suite, such as a whole building leased as one, can instead be priced here: lease_rate and available_sqft (INTEGER SQUARE FEET), or price_on_request=true, set that one suite, creating it when there is none. Optionally expires_at (ISO date).
marketingNoMarketing copy to update: headline, summary, title_override, highlights (string[]).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / pricing / description
      Previous value: -"Pricing fields to update: listing_type (sale|lease); for a sale set sale_price (dollars), for a lease set lease_rate (per the lease_rate_period basis, default per_sqft_year) and optionally lease_rate_period (per_sqft_year|per_sqft_month|per_month|per_year). Omit the price and set price_on_request=true for \"price upon request\". Optionally expires_at (ISO date)."New value: +"Pricing fields to update: listing_type (sale|lease). For a sale set sale_price (dollars), or omit it and set price_on_request=true for \"price upon request\". A lease is priced per suite (see spaces); lease_rate_period (per_sqft_year|per_sqft_month|per_month|per_year, default per_sqft_year) is the basis every suite's rate is quoted in. A lease with at most one suite, such as a whole building leased as one, can instead be priced here: lease_rate and available_sqft (INTEGER SQUARE FEET), or price_on_request=true, set that one suite, creating it when there is none. Optionally expires_at (ISO date)."
    • addedInput schema / properties / spaces
      Added value: +{
      +  "description": "A lease's suites, as the whole list: a suite left out is removed, and an empty list removes them all. A whole building leased as one is a single suite. To change suites, start from the spaces get_listing returns to you as the owner: a suite sent with its id is updated, and any field it leaves out keeps its stored value; a suite without an id is added. Publishing a lease needs at least one available suite with available_sqft and a lease_rate or price_on_request=true.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "available_date": {
      +        "description": "ISO date the suite is available from.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "available_sqft": {
      +        "description": "Available space in INTEGER SQUARE FEET.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "id": {
      +        "description": "The suite's id, as get_listing returns it to you as the owner. Omit to add a suite.",
      +        "type": "integer"
      +      },
      +      "lease_rate": {
      +        "description": "Asking rate in the listing's lease_rate_period basis, e.g. 24.5 for $24.50/SF/yr. Null when quoted on request.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "lease_type": {
      +        "description": "How operating expenses are split: nnn, fsg (full service gross), mg (modified gross), or gross.",
      +        "enum": [
      +          "nnn",
      +          "fsg",
      +          "mg",
      +          "gross",
      +          null
      +        ],
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "max_term_months": {
      +        "description": "Longest lease term offered, in months.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "min_term_months": {
      +        "description": "Shortest lease term offered, in months.",
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "description": "Suite label, e.g. \"Suite 200\" or \"Floor 3\".",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "price_on_request": {
      +        "description": "true when the rate is quoted on request.",
      +        "type": "boolean"
      +      },
      +      "space_type": {
      +        "description": "Use of the space: a value from the space_type attribute get_registry returns.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "status": {
      +        "description": "available (a new suite's default), pending, or leased. Only available suites are shown and priced.",
      +        "enum": [
      +          "available",
      +          "pending",
      +          "leased"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / parcel / description
      Previous value: -"Parcel/address fields to update: street_address, city, county, state, postal_code, latitude, longitude, and optionally unit, lot_size (INTEGER SQUARE FEET — convert acres × 43,560), lot_size_unit (the unit the size was stated in: sqft | acres | sqm | hectares; display-only), year_built, property_type."New value: +"Parcel/address fields to update: street_address, city, county, state, postal_code, latitude, longitude, and optionally unit, lot_size (INTEGER SQUARE FEET — convert acres × 43,560), lot_size_unit (the unit the size was stated in: sqft | acres | sqm | hectares; display-only), year_built, property_type, place_id (from geocode_address — when the address moves, it matches the listing to a building already on file)."
  3. Changed1 schema field changed
    • changedInput schema / properties / parcel / description
      Previous value: -"Parcel/address fields to update: street_address, city, county, state, postal_code, latitude, longitude, and optionally unit, lot_acres, year_built, property_type."New value: +"Parcel/address fields to update: street_address, city, county, state, postal_code, latitude, longitude, and optionally unit, lot_size (INTEGER SQUARE FEET — convert acres × 43,560), lot_size_unit (the unit the size was stated in: sqft | acres | sqm | hectares; display-only), year_built, property_type."
  4. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources