New API Endpoints (2)
TL;DR →
  • You can now create Dynamic Sets entirely through the RM API
  • A new
    GET /segments/{segment_id}/aggregated_metrics
    endpoint returns monthly performance rolled up for any saved segment
  • New notification_settings endpoints let you read and update your alert preferences programmatically
  • We've raised the default rate limit for RM API keys to 60 requests/minute
  • With this release, every known gap between the Wheelhouse app and the RM API is closed
🧩 Dynamic Sets, End to End
Dynamic Sets (comp sets built from real market listings) have been available in the app for a while — now you can build the entire workflow through the API, from search to upgrade.
Here's the full lifecycle:
  1. Find candidates
    — call
    GET /sets/candidates
    with either a
    lat
    /
    long
    /
    radius
    or one or more
    market_ids
    . Results come back nearest-first, each with trailing-year performance metrics, so you can filter by bedrooms, bathrooms, room type, and occupancy before you ever create the set.
  2. Create the set
    — take the
    listing_id
    s you want and pass them to
    POST /sets
    . The set is created on the free plan, with your chosen listings added as active members.
  3. Upgrade it
    — call
    POST /sets/{set_id}/upgrade
    to purchase the paid Dynamic Sets plan for that set, which unlocks its KPI endpoints: aggregated_metrics, time_series, distribution, and report.
Say you manage a portfolio of 3BR cabins near a specific trailhead and want a comp set for one of them. You can now search candidates by lat/long/radius, filter to
min_bedrooms: 3
, review trailing-year occupancy on the results, add the ones you want, and upgrade the set — all without leaving your integration.
📊 Segment Aggregated Metrics
Segments (your saved, dynamic portfolio filters) already return listing-level data via the API. Now you can also pull rolled-up performance for the whole segment.
GET /segments/{segment_id}/aggregated_metrics
returns monthly metrics aggregated across every listing the segment's filter currently matches.
This is the same aggregated view you'd see reporting on that segment in-app — now available directly to your integration, so you can more easily build dashboards or alerts on top of any segment.
🔔 Notification Settings, Programmatically
You can now read and manage a user's alert preferences without going through the app:
  • GET /notification_settings
    returns the event/channel pairs a user currently has enabled — the same settings that control what shows up via
    GET /notifications
    and email.
  • PUT /notification_settings
    lets you enable or disable specific alerts. Only the event/channel pairs you include are affected — everything else is left as-is.
Supported events include:
  • price_posting_error
  • market_report_updated
  • reminder
  • sub_user_invite
  • new_listing_created
  • report_shared
  • report_comment_reply
  • report_comment_mention
  • comp_set_v2_shared
If you're building a custom notification center or want to route specific alerts to your own system, this is the endpoint pair for that.
🚄 A Higher Default Rate Limit
We've raised the default rate limit for RM API keys to
60 requests/minute
. If you're running higher-throughput integrations — syncing large portfolios, polling multiple endpoints, or backfilling historical data — this gives you meaningfully more headroom out of the box.
Getting Started
If you're using the RM API directly, generate or check your API key from your Wheelhouse account under "Api Key," and start with
GET /sets/candidates
or
GET /segments
to see what's available for your account.
If you're connecting through an MCP client, authenticate with OAuth through your client's sign-in flow — the same credentials you use in the Wheelhouse app.
🥳
Pro Tip!
Pair the new
aggregated_metrics
endpoint with your existing Segments to build a lightweight performance dashboard for any saved filter — no need to pull and re-aggregate listing-level data yourself.