Update Masking Settings

View as Markdown

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

{{tenant_key_name}}stringOptional

Request

This endpoint expects a multipart form.
enabledstringRequired

Optional: Flip masking on/off for this location - true|false - defaults to stored value

masking_modestringRequired

Optional: Allocation strategy - shared_tenant|shared_location|per_technician|per_job_ephemeral

cooldown_daysstringRequired

Optional: Cooldown before a released number is re-allocatable - 0..180 days

masking_policystringRequired

Optional: enforced (always mask) or offered (tech can opt-in) - enforced|offered

retention_daysstringRequired

Optional: Days to retain Message rows before purge - 1..3650

store_sms_bodystringRequired

Optional: Persist SMS body on Message row (encrypted at rest) - true|false

grace_window_daysstringRequired

Optional: M4 post-job grace period before releasing the number - 0..60 days

provider_ownershipstringRequired

Optional: platform (our Twilio ISV) or tenant_byo (tenant’s own provider) - platform|tenant_byo

record_voice_callsstringRequired

Optional: Record masked voice calls - true|false - requires disclosure playback

max_masking_numbersstringRequired

Optional: Pool-size cap per tenant - 1..500

voice_no_match_actionstringRequired

Optional: What to do when inbound voice has no session - hangup|voicemail|dispatcher_queue

backoffice_whisper_textstringRequired

Optional: announcement up to 500 chars. Templated — supports {customer_name}, {tech_name}, {location_name}, {accept_key}. Empty falls back to built-in default.

backoffice_whisper_enabledstringRequired

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).

eager_provisioning_enabledstringRequired

Optional: Pre-provision per-tech numbers on new hire + M4 sessions on WO assignment - true|false

masking_default_channels[]stringRequired

Optional: Channels to mask - sms|voice - repeat key for multiple

backoffice_whisper_accept_keystringRequired

Optional: single DTMF digit — must match /^[0-9*#]$/. Default 1.

smart_callback_window_minutesstringRequired

Optional: Inbound reply routing window - 1..1440 minutes

inbound_callback_route_in_hoursstringRequired

Optional: destination during business hours — one of technician|backoffice|voicemail. Default technician (preserves pre-feature behavior).

backoffice_whisper_require_acceptstringRequired

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.

backoffice_whisper_timeout_secondsstringRequired

Optional: integer 1–60 seconds before treating no-press as reject. Default 10.

inbound_callback_route_out_of_hoursstringRequired

Optional: destination outside business hours / on holidays — one of technician|backoffice|voicemail. Default technician.

Response

Successful response