Update Masking Settings
Updates the masking-settings row. Enabling (false → true) triggers DLC brand registration if platform-owned + pending. Mode changes trigger ModeTransitionHandler (audit + provisioning). Pre-enable: all customer_contacts phones must be E.164 (422 otherwise). Includes inbound-callback routing destinations + back-office whisper config (FR-1, FR-6, FR-7).
Headers
Request
Optional: Flip masking on/off for this location - true|false - defaults to stored value
Optional: Allocation strategy - shared_tenant|shared_location|per_technician|per_job_ephemeral
Optional: Cooldown before a released number is re-allocatable - 0..180 days
Optional: enforced (always mask) or offered (tech can opt-in) - enforced|offered
Optional: Days to retain Message rows before purge - 1..3650
Optional: Persist SMS body on Message row (encrypted at rest) - true|false
Optional: M4 post-job grace period before releasing the number - 0..60 days
Optional: platform (our Twilio ISV) or tenant_byo (tenant’s own provider) - platform|tenant_byo
Optional: Record masked voice calls - true|false - requires disclosure playback
Optional: Pool-size cap per tenant - 1..500
Optional: What to do when inbound voice has no session - hangup|voicemail|dispatcher_queue
Optional: announcement up to 500 chars. Templated — supports {customer_name}, {tech_name}, {location_name}, {accept_key}. Empty falls back to built-in default.
Optional: master switch for the whisper announcement on the back-office leg. Ignored unless route resolves to backoffice AND the bound provider implements SupportsCallWhisper (Twilio at v1; RC v2 follow-up).
Optional: Pre-provision per-tech numbers on new hire + M4 sessions on WO assignment - true|false
Optional: Channels to mask - sms|voice - repeat key for multiple
Optional: single DTMF digit — must match /^[0-9*#]$/. Default 1.
Optional: Inbound reply routing window - 1..1440 minutes
Optional: destination during business hours — one of technician|backoffice|voicemail. Default technician (preserves pre-feature behavior).
Optional: when true the staffer must press accept_key to bridge; when false the announcement is informational and bridge proceeds automatically. FR-7 rejects true with multiple active back-office lines.
Optional: integer 1–60 seconds before treating no-press as reject. Default 10.
Optional: destination outside business hours / on holidays — one of technician|backoffice|voicemail. Default technician.

