{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/sonetel/main/json-schema/sonetel-user-call-settings-schema.json", "title": "User-Call-Settings", "description": "The object that defines the user's call settings", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/sonetel-users-openapi.yml#/components/schemas/User-Call-Settings", "type": "object", "properties": { "incoming": { "type": "object", "description": "A collection of properties that define how incoming calls to the user should be handled.", "properties": { "second_action": { "type": "object", "description": "The action to take if the call is not handled by the destination defined in the `first_action`.", "properties": { "action": { "type": "string", "description": "The action to take when an incoming call reaches the user.", "minLength": 1 }, "to": { "type": "string", "enum": [ "myphones", "sipphones", "phone", "voicemail", "phnum", "sip", "voiceapp" ], "description": "The type of function on which the action is to be taken.", "minLength": 3 } }, "required": [ "action", "to" ] }, "first_action": { "type": "object", "description": "Defines how an incoming call to the user should be handled.", "properties": { "show": { "type": "string", "description": "The caller ID shown when you receive an incoming call.", "minLength": 1 }, "action": { "type": "string", "description": "The action to take when an incoming call reaches the user.", "minLength": 1 }, "ring_time": { "type": "string", "description": "The number of seconds that the incoming call should ring. Only applies when the action is `ring` or `forward`.", "minLength": 1 }, "to": { "type": "string", "enum": [ "myphones", "sipphones", "phone", "voicemail", "user", "phnum", "voiceapp", "sip" ], "description": "The type of function on which the action is to be taken.", "minLength": 3 }, "id": { "type": "string", "description": "The unique id of the destination to which the incoming call should be sent.", "minLength": 1 } }, "required": [ "show", "action", "ring_time", "to", "id" ] }, "standard_action": { "type": "object", "description": "Specifies how WebRTC calls (i.e. calls made using our apps) are handled.", "properties": { "action": { "type": "string", "description": "The action to take.", "minLength": 1 }, "ring_time": { "type": "string", "description": "The number of seconds the call should ring before disconnecting.", "minLength": 1 }, "to": { "type": "string", "description": "The destination where the call should connect.", "minLength": 1 } }, "required": [ "action", "ring_time", "to" ] } } }, "outgoing": { "type": "object", "description": "A collection of properties that control how outgoing calls are handled. At the moment it is only possible to select the caller ID shown to the person you call.", "properties": { "show": { "type": "string", "description": "The caller-id shown when a user makes an outgoing call. Accepts `auto`, `none` or an eligible Sonetel number.", "minLength": 1 }, "callthru-pin": { "type": "string", "description": "Deprecated property used for our old manual Call Thru service.", "x-deprecated": true } }, "required": [ "show" ] } } }