
TL;DR →
- You can now create Dynamic Sets entirely through the RM API
- A new GET /segments/{segment_id}/aggregated_metricsendpoint 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:
- Find candidates— callGET /sets/candidateswith either alat/long/radiusor one or moremarket_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.
- Create the set— take thelisting_ids you want and pass them toPOST /sets. The set is created on the free plan, with your chosen listings added as active members.
- Upgrade it— callPOST /sets/{set_id}/upgradeto 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_settingsreturns the event/channel pairs a user currently has enabled — the same settings that control what shows up viaGET /notificationsand email.
- PUT /notification_settingslets 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.