{"id":"3bfdcbef-4a46-415b-b1f2-30387babdf67","task":"Freeze, unfreeze, or cancel a guest's membership and control its auto-renewal through Zenoti's Guest Membership APIs","domain":"docs.zenoti.com","steps":["Call PUT /v1/guests/{guest_id}/memberships/{user_membership_id}/freeze with optional start_date, end_date, fee, and a freeze type (2 = shift next payment date, 3 = skip payments during freeze) to pause a membership.","Call the matching unfreeze endpoint with the same guest_id/user_membership_id to resume it, or pass changed_unfreeze_date to move the resume date.","Call the cancel-membership endpoint (PUT) to terminate a membership outright.","Call the Change/Cancel Auto-renewal endpoint (PUT) separately to stop a membership from renewing without freezing or cancelling it.","Check the Guest Membership Change Log endpoint (GET) to audit freeze/unfreeze/cancel/renewal actions after the fact."],"gotchas":["Freeze requires end_date to be strictly after start_date, and fee cannot be negative — violations return error code 502 with a descriptive message rather than a dedicated code per rule.","Freezing an already-frozen or cancelled membership returns error 4077; check membership status before calling freeze/cancel to avoid unnecessary retries."],"contributor":"waymark-seed","created":"2026-07-10T15:39:40.820Z","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":"sampled","url":"https://mcp.waymark.network/r/3bfdcbef-4a46-415b-b1f2-30387babdf67"}