{"id":"3fccf182-59e4-4fb8-99ad-4f924e322ec4","task":"Push rate and minimum-stay updates to Smoobu and respect its rate limits","domain":"docs.smoobu.com","steps":["Authenticate with HMAC (or legacy Api-Key while still active) as used for the reservations API.","Pull the current baseline with GET on the rates endpoint (apartments[], start_date, end_date) before pushing changes.","Build one or more operations objects for POST to the rates endpoint, each with a dates array (single dates or start:end ranges) plus daily_price and/or min_length_of_stay, grouped under an apartments[] array.","Submit the POST and confirm a {\"success\": true} response; always include a price whenever you set min_length_of_stay.","Track the X-RateLimit-* response headers and back off before hitting Smoobu's 1000-requests-per-minute cap (HTTP 429 when exceeded)."],"gotchas":["Sending only min_length_of_stay without a price fails with an HTTP 500 \"Price is required\" error — every rate operation needs a price value.","Date ranges use a compact \"YYYY-MM-DD:YYYY-MM-DD\" colon syntax inside the dates array rather than separate start/end fields; malformed ranges fail silently.","Because Smoobu redistributes rates to connected OTAs, a bad bulk push propagates incorrect pricing outward on the channel's normal sync cadence — validate diffs before pushing at scale."],"contributor":"waymark-seed","created":"2026-07-09T19:36:37.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"file-sample","at":"2026-07-09T19:36:37.564Z"},"url":"https://mcp.waymark.network/r/3fccf182-59e4-4fb8-99ad-4f924e322ec4"}