wxcli 1.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wxcli/__init__.py +4 -0
- wxcli/_playbook/.claude/agents/migration-advisor.md +239 -0
- wxcli/_playbook/.claude/agents/wxc-calling-builder.md +946 -0
- wxcli/_playbook/.claude/rules/cleanup.md +29 -0
- wxcli/_playbook/.claude/rules/cucm-migration.md +58 -0
- wxcli/_playbook/.claude/rules/org-health.md +14 -0
- wxcli/_playbook/.claude/settings.json +8 -0
- wxcli/_playbook/.claude/skills/audit-compliance/SKILL.md +515 -0
- wxcli/_playbook/.claude/skills/call-control/SKILL.md +747 -0
- wxcli/_playbook/.claude/skills/configure-features/SKILL.md +623 -0
- wxcli/_playbook/.claude/skills/configure-routing/SKILL.md +627 -0
- wxcli/_playbook/.claude/skills/contact-center/SKILL.md +1181 -0
- wxcli/_playbook/.claude/skills/cucm-migrate/SKILL.md +820 -0
- wxcli/_playbook/.claude/skills/customer-assist/SKILL.md +443 -0
- wxcli/_playbook/.claude/skills/device-platform/SKILL.md +407 -0
- wxcli/_playbook/.claude/skills/manage-call-settings/SKILL.md +757 -0
- wxcli/_playbook/.claude/skills/manage-devices/SKILL.md +790 -0
- wxcli/_playbook/.claude/skills/manage-identity/SKILL.md +638 -0
- wxcli/_playbook/.claude/skills/manage-licensing/SKILL.md +528 -0
- wxcli/_playbook/.claude/skills/manage-meetings/SKILL.md +708 -0
- wxcli/_playbook/.claude/skills/messaging-bots/SKILL.md +365 -0
- wxcli/_playbook/.claude/skills/messaging-spaces/SKILL.md +520 -0
- wxcli/_playbook/.claude/skills/org-health/SKILL.md +159 -0
- wxcli/_playbook/.claude/skills/provision-calling/SKILL.md +421 -0
- wxcli/_playbook/.claude/skills/query-live/SKILL.md +183 -0
- wxcli/_playbook/.claude/skills/query-live/domains/call-flow-trace.md +223 -0
- wxcli/_playbook/.claude/skills/query-live/domains/call-history.md +44 -0
- wxcli/_playbook/.claude/skills/query-live/domains/features.md +169 -0
- wxcli/_playbook/.claude/skills/query-live/domains/numbers.md +93 -0
- wxcli/_playbook/.claude/skills/query-live/domains/people-and-settings.md +146 -0
- wxcli/_playbook/.claude/skills/query-live/domains/routing.md +124 -0
- wxcli/_playbook/.claude/skills/reporting/SKILL.md +501 -0
- wxcli/_playbook/.claude/skills/reporting/references/cdr-recipes.md +1628 -0
- wxcli/_playbook/.claude/skills/reporting-cc/SKILL.md +251 -0
- wxcli/_playbook/.claude/skills/reporting-meetings/SKILL.md +290 -0
- wxcli/_playbook/.claude/skills/teardown/SKILL.md +214 -0
- wxcli/_playbook/.claude/skills/video-mesh/SKILL.md +379 -0
- wxcli/_playbook/.claude/skills/wxc-calling-debug/SKILL.md +475 -0
- wxcli/_playbook/CLAUDE.md +373 -0
- wxcli/_playbook/docs/reference/CLAUDE.md +25 -0
- wxcli/_playbook/docs/reference/admin-apps-data.md +643 -0
- wxcli/_playbook/docs/reference/admin-audit-security.md +322 -0
- wxcli/_playbook/docs/reference/admin-hybrid.md +383 -0
- wxcli/_playbook/docs/reference/admin-identity-scim.md +1007 -0
- wxcli/_playbook/docs/reference/admin-licensing.md +414 -0
- wxcli/_playbook/docs/reference/admin-org-management.md +586 -0
- wxcli/_playbook/docs/reference/admin-partner.md +357 -0
- wxcli/_playbook/docs/reference/archive/wxc-sdk-patterns.md +1229 -0
- wxcli/_playbook/docs/reference/archive/wxcadm-advanced.md +835 -0
- wxcli/_playbook/docs/reference/archive/wxcadm-core.md +743 -0
- wxcli/_playbook/docs/reference/archive/wxcadm-devices-workspaces.md +1305 -0
- wxcli/_playbook/docs/reference/archive/wxcadm-features.md +849 -0
- wxcli/_playbook/docs/reference/archive/wxcadm-locations.md +938 -0
- wxcli/_playbook/docs/reference/archive/wxcadm-person.md +1255 -0
- wxcli/_playbook/docs/reference/archive/wxcadm-routing.md +1262 -0
- wxcli/_playbook/docs/reference/authentication.md +965 -0
- wxcli/_playbook/docs/reference/call-control.md +1205 -0
- wxcli/_playbook/docs/reference/call-features-additional.md +2541 -0
- wxcli/_playbook/docs/reference/call-features-major.md +1320 -0
- wxcli/_playbook/docs/reference/call-routing.md +2304 -0
- wxcli/_playbook/docs/reference/contact-center-analytics.md +1049 -0
- wxcli/_playbook/docs/reference/contact-center-core.md +1614 -0
- wxcli/_playbook/docs/reference/contact-center-journey.md +457 -0
- wxcli/_playbook/docs/reference/contact-center-routing.md +1138 -0
- wxcli/_playbook/docs/reference/devices-core.md +1869 -0
- wxcli/_playbook/docs/reference/devices-dect.md +1150 -0
- wxcli/_playbook/docs/reference/devices-platform.md +467 -0
- wxcli/_playbook/docs/reference/devices-workspaces.md +1426 -0
- wxcli/_playbook/docs/reference/emergency-services.md +1122 -0
- wxcli/_playbook/docs/reference/location-calling-core.md +2037 -0
- wxcli/_playbook/docs/reference/location-calling-media.md +1334 -0
- wxcli/_playbook/docs/reference/location-recording-advanced.md +1482 -0
- wxcli/_playbook/docs/reference/meetings-content.md +473 -0
- wxcli/_playbook/docs/reference/meetings-core.md +903 -0
- wxcli/_playbook/docs/reference/meetings-infrastructure.md +899 -0
- wxcli/_playbook/docs/reference/meetings-settings.md +850 -0
- wxcli/_playbook/docs/reference/messaging-bots.md +1091 -0
- wxcli/_playbook/docs/reference/messaging-spaces.md +695 -0
- wxcli/_playbook/docs/reference/person-call-settings-behavior.md +1639 -0
- wxcli/_playbook/docs/reference/person-call-settings-handling.md +1394 -0
- wxcli/_playbook/docs/reference/person-call-settings-media.md +1898 -0
- wxcli/_playbook/docs/reference/person-call-settings-permissions.md +1329 -0
- wxcli/_playbook/docs/reference/provisioning.md +1366 -0
- wxcli/_playbook/docs/reference/reporting-analytics.md +1318 -0
- wxcli/_playbook/docs/reference/self-service-call-settings.md +1020 -0
- wxcli/_playbook/docs/reference/virtual-lines.md +1132 -0
- wxcli/_playbook/docs/reference/webhooks-events.md +1444 -0
- wxcli/_playbook/docs/reference/wxcadm-xsi-realtime.md +953 -0
- wxcli/_version.py +24 -0
- wxcli/auth.py +137 -0
- wxcli/commands/__init__.py +0 -0
- wxcli/commands/_registry.py +181 -0
- wxcli/commands/activation_email.py +103 -0
- wxcli/commands/admin_recordings.py +585 -0
- wxcli/commands/analytics.py +105 -0
- wxcli/commands/announcement_playlists.py +219 -0
- wxcli/commands/announcements.py +519 -0
- wxcli/commands/archive_users.py +36 -0
- wxcli/commands/attachment_actions.py +60 -0
- wxcli/commands/audit_events.py +83 -0
- wxcli/commands/authorizations.py +113 -0
- wxcli/commands/auto_attendant.py +642 -0
- wxcli/commands/broadworks_billing_reports.py +126 -0
- wxcli/commands/broadworks_enterprises.py +160 -0
- wxcli/commands/broadworks_subscribers.py +319 -0
- wxcli/commands/broadworks_workspaces.py +108 -0
- wxcli/commands/call_controls.py +1304 -0
- wxcli/commands/call_park.py +494 -0
- wxcli/commands/call_pickup.py +229 -0
- wxcli/commands/call_queue.py +1878 -0
- wxcli/commands/call_recording.py +707 -0
- wxcli/commands/call_routing.py +1610 -0
- wxcli/commands/call_settings_for_me_phase_5.py +212 -0
- wxcli/commands/caller_reputation.py +169 -0
- wxcli/commands/calling_service.py +305 -0
- wxcli/commands/cc_address_book.py +770 -0
- wxcli/commands/cc_agent_greetings.py +242 -0
- wxcli/commands/cc_agent_summaries.py +39 -0
- wxcli/commands/cc_agent_wellbeing.py +216 -0
- wxcli/commands/cc_agents.py +425 -0
- wxcli/commands/cc_ai_assistant.py +55 -0
- wxcli/commands/cc_ai_feature.py +294 -0
- wxcli/commands/cc_audio_files.py +149 -0
- wxcli/commands/cc_auto_csat.py +311 -0
- wxcli/commands/cc_aux_code.py +458 -0
- wxcli/commands/cc_business_hour.py +353 -0
- wxcli/commands/cc_call_monitoring.py +228 -0
- wxcli/commands/cc_callbacks.py +194 -0
- wxcli/commands/cc_campaign.py +212 -0
- wxcli/commands/cc_captures.py +39 -0
- wxcli/commands/cc_contact_list.py +169 -0
- wxcli/commands/cc_contact_number.py +295 -0
- wxcli/commands/cc_data_sources.py +235 -0
- wxcli/commands/cc_desktop_layout.py +380 -0
- wxcli/commands/cc_desktop_profile.py +322 -0
- wxcli/commands/cc_dial_number.py +511 -0
- wxcli/commands/cc_dial_plan.py +347 -0
- wxcli/commands/cc_dnc.py +101 -0
- wxcli/commands/cc_entry_point.py +545 -0
- wxcli/commands/cc_ewt.py +51 -0
- wxcli/commands/cc_flow.py +477 -0
- wxcli/commands/cc_global_vars.py +430 -0
- wxcli/commands/cc_holiday_list.py +335 -0
- wxcli/commands/cc_journey.py +1261 -0
- wxcli/commands/cc_legacy_flows.py +49 -0
- wxcli/commands/cc_multimedia_profile.py +436 -0
- wxcli/commands/cc_notification.py +51 -0
- wxcli/commands/cc_outdial_ani.py +604 -0
- wxcli/commands/cc_overrides.py +341 -0
- wxcli/commands/cc_queue.py +1083 -0
- wxcli/commands/cc_queue_stats.py +55 -0
- wxcli/commands/cc_realtime.py +51 -0
- wxcli/commands/cc_resource_collection.py +312 -0
- wxcli/commands/cc_search.py +46 -0
- wxcli/commands/cc_site.py +400 -0
- wxcli/commands/cc_skill.py +350 -0
- wxcli/commands/cc_skill_profile.py +289 -0
- wxcli/commands/cc_subscriptions.py +426 -0
- wxcli/commands/cc_summaries.py +130 -0
- wxcli/commands/cc_tasks.py +844 -0
- wxcli/commands/cc_team.py +325 -0
- wxcli/commands/cc_user_profiles.py +349 -0
- wxcli/commands/cc_users.py +701 -0
- wxcli/commands/cc_work_types.py +363 -0
- wxcli/commands/cdr.py +89 -0
- wxcli/commands/classifications.py +38 -0
- wxcli/commands/cleanup.py +1427 -0
- wxcli/commands/client_settings.py +72 -0
- wxcli/commands/conference.py +328 -0
- wxcli/commands/configure.py +72 -0
- wxcli/commands/converged_recordings.py +347 -0
- wxcli/commands/converged_recordings_export.py +310 -0
- wxcli/commands/cq_playlists.py +42 -0
- wxcli/commands/cucm.py +2794 -0
- wxcli/commands/cucm_config.py +129 -0
- wxcli/commands/customer_assist.py +373 -0
- wxcli/commands/data_sources.py +227 -0
- wxcli/commands/dect_devices.py +787 -0
- wxcli/commands/device_configurations.py +77 -0
- wxcli/commands/device_dynamic_settings.py +320 -0
- wxcli/commands/device_settings.py +1489 -0
- wxcli/commands/devices.py +280 -0
- wxcli/commands/domains.py +142 -0
- wxcli/commands/ecm.py +178 -0
- wxcli/commands/emergency_services.py +827 -0
- wxcli/commands/events.py +83 -0
- wxcli/commands/external_voicemail.py +52 -0
- wxcli/commands/groups.py +206 -0
- wxcli/commands/guest_management.py +76 -0
- wxcli/commands/hds.py +340 -0
- wxcli/commands/hot_desk.py +67 -0
- wxcli/commands/hot_desking_members.py +118 -0
- wxcli/commands/hot_desking_portal.py +124 -0
- wxcli/commands/hunt_group.py +577 -0
- wxcli/commands/hybrid_clusters.py +71 -0
- wxcli/commands/hybrid_connectors.py +67 -0
- wxcli/commands/identity_org.py +159 -0
- wxcli/commands/init_playbook.py +155 -0
- wxcli/commands/licenses.py +106 -0
- wxcli/commands/live_monitoring.py +40 -0
- wxcli/commands/location_call_handling.py +577 -0
- wxcli/commands/location_schedules.py +341 -0
- wxcli/commands/location_settings.py +1297 -0
- wxcli/commands/location_voicemail.py +494 -0
- wxcli/commands/locations.py +336 -0
- wxcli/commands/meeting_captions.py +110 -0
- wxcli/commands/meeting_chats.py +63 -0
- wxcli/commands/meeting_invitees.py +234 -0
- wxcli/commands/meeting_messages.py +28 -0
- wxcli/commands/meeting_participants.py +278 -0
- wxcli/commands/meeting_polls.py +111 -0
- wxcli/commands/meeting_preferences.py +515 -0
- wxcli/commands/meeting_qa.py +78 -0
- wxcli/commands/meeting_qualities.py +43 -0
- wxcli/commands/meeting_reports.py +101 -0
- wxcli/commands/meeting_session_types.py +105 -0
- wxcli/commands/meeting_site.py +57 -0
- wxcli/commands/meeting_slido.py +44 -0
- wxcli/commands/meeting_summaries.py +92 -0
- wxcli/commands/meeting_tracking_codes.py +233 -0
- wxcli/commands/meeting_transcripts.py +230 -0
- wxcli/commands/meetings.py +1997 -0
- wxcli/commands/memberships.py +164 -0
- wxcli/commands/messages.py +213 -0
- wxcli/commands/mode_management.py +244 -0
- wxcli/commands/my_call_settings.py +3577 -0
- wxcli/commands/numbers.py +405 -0
- wxcli/commands/operating_modes.py +410 -0
- wxcli/commands/org_contacts.py +284 -0
- wxcli/commands/org_health_cli.py +55 -0
- wxcli/commands/org_settings.py +71 -0
- wxcli/commands/organizations.py +83 -0
- wxcli/commands/paging_group.py +257 -0
- wxcli/commands/partner_admins.py +141 -0
- wxcli/commands/partner_reports.py +188 -0
- wxcli/commands/partner_tags.py +216 -0
- wxcli/commands/people.py +279 -0
- wxcli/commands/person_call_settings.py +71 -0
- wxcli/commands/pstn.py +280 -0
- wxcli/commands/recording_report.py +154 -0
- wxcli/commands/report_templates.py +38 -0
- wxcli/commands/reports.py +144 -0
- wxcli/commands/resource_group_memberships.py +160 -0
- wxcli/commands/resource_groups.py +67 -0
- wxcli/commands/roles.py +63 -0
- wxcli/commands/room_tabs.py +160 -0
- wxcli/commands/rooms.py +225 -0
- wxcli/commands/scim_bulk.py +46 -0
- wxcli/commands/scim_groups.py +246 -0
- wxcli/commands/scim_schemas.py +82 -0
- wxcli/commands/scim_users.py +283 -0
- wxcli/commands/security_audit.py +54 -0
- wxcli/commands/service_apps.py +51 -0
- wxcli/commands/single_number_reach.py +209 -0
- wxcli/commands/team_memberships.py +155 -0
- wxcli/commands/teams.py +153 -0
- wxcli/commands/ucm_profile.py +42 -0
- wxcli/commands/update.py +219 -0
- wxcli/commands/user_settings.py +5116 -0
- wxcli/commands/video_mesh.py +1090 -0
- wxcli/commands/virtual_extensions.py +502 -0
- wxcli/commands/virtual_line_settings.py +2072 -0
- wxcli/commands/webhooks.py +176 -0
- wxcli/commands/wholesale_billing_reports.py +147 -0
- wxcli/commands/wholesale_provisioning.py +523 -0
- wxcli/commands/workspace_locations.py +339 -0
- wxcli/commands/workspace_metrics.py +103 -0
- wxcli/commands/workspace_personalization.py +70 -0
- wxcli/commands/workspace_settings.py +3347 -0
- wxcli/commands/workspaces.py +279 -0
- wxcli/commands/xapi.py +114 -0
- wxcli/config.py +139 -0
- wxcli/errors.py +77 -0
- wxcli/main.py +210 -0
- wxcli/migration/CLAUDE.md +106 -0
- wxcli/migration/__init__.py +1 -0
- wxcli/migration/advisory/CLAUDE.md +196 -0
- wxcli/migration/advisory/__init__.py +46 -0
- wxcli/migration/advisory/advisor.py +107 -0
- wxcli/migration/advisory/advisory_patterns.py +2552 -0
- wxcli/migration/advisory/recommendation_rules.py +835 -0
- wxcli/migration/cucm/CLAUDE.md +74 -0
- wxcli/migration/cucm/__init__.py +5 -0
- wxcli/migration/cucm/connection.py +265 -0
- wxcli/migration/cucm/discovery.py +225 -0
- wxcli/migration/cucm/extractors/__init__.py +1 -0
- wxcli/migration/cucm/extractors/announcements.py +92 -0
- wxcli/migration/cucm/extractors/base.py +90 -0
- wxcli/migration/cucm/extractors/device_profiles.py +98 -0
- wxcli/migration/cucm/extractors/devices.py +193 -0
- wxcli/migration/cucm/extractors/e911.py +103 -0
- wxcli/migration/cucm/extractors/features.py +309 -0
- wxcli/migration/cucm/extractors/helpers.py +73 -0
- wxcli/migration/cucm/extractors/informational.py +295 -0
- wxcli/migration/cucm/extractors/locations.py +221 -0
- wxcli/migration/cucm/extractors/moh.py +100 -0
- wxcli/migration/cucm/extractors/remote_destinations.py +96 -0
- wxcli/migration/cucm/extractors/routing.py +493 -0
- wxcli/migration/cucm/extractors/shared_lines.py +146 -0
- wxcli/migration/cucm/extractors/templates.py +229 -0
- wxcli/migration/cucm/extractors/tier4.py +173 -0
- wxcli/migration/cucm/extractors/users.py +240 -0
- wxcli/migration/cucm/extractors/voicemail.py +243 -0
- wxcli/migration/cucm/extractors/workspaces.py +88 -0
- wxcli/migration/cucm/unity_connection.py +304 -0
- wxcli/migration/execute/CLAUDE.md +372 -0
- wxcli/migration/execute/__init__.py +303 -0
- wxcli/migration/execute/batch.py +277 -0
- wxcli/migration/execute/dependency.py +483 -0
- wxcli/migration/execute/engine.py +964 -0
- wxcli/migration/execute/handlers.py +2232 -0
- wxcli/migration/execute/planner.py +1939 -0
- wxcli/migration/execute/runtime.py +571 -0
- wxcli/migration/export/CLAUDE.md +49 -0
- wxcli/migration/export/__init__.py +8 -0
- wxcli/migration/export/csv_export.py +126 -0
- wxcli/migration/export/deployment_plan.py +479 -0
- wxcli/migration/export/json_export.py +60 -0
- wxcli/migration/models.py +941 -0
- wxcli/migration/phone_models.py +50 -0
- wxcli/migration/preflight/CLAUDE.md +52 -0
- wxcli/migration/preflight/__init__.py +89 -0
- wxcli/migration/preflight/checks.py +911 -0
- wxcli/migration/preflight/runner.py +293 -0
- wxcli/migration/rate_limiter.py +144 -0
- wxcli/migration/report/CLAUDE.md +245 -0
- wxcli/migration/report/__init__.py +7 -0
- wxcli/migration/report/appendix.py +2437 -0
- wxcli/migration/report/assembler.py +183 -0
- wxcli/migration/report/charts.py +263 -0
- wxcli/migration/report/executive.py +776 -0
- wxcli/migration/report/explainer.py +704 -0
- wxcli/migration/report/helpers.py +74 -0
- wxcli/migration/report/ingest.py +152 -0
- wxcli/migration/report/notice_templates.py +192 -0
- wxcli/migration/report/score.py +375 -0
- wxcli/migration/report/styles.py +1052 -0
- wxcli/migration/report/user_diff.py +1052 -0
- wxcli/migration/report/user_notice.py +425 -0
- wxcli/migration/state.py +139 -0
- wxcli/migration/store.py +860 -0
- wxcli/migration/transform/CLAUDE.md +107 -0
- wxcli/migration/transform/__init__.py +12 -0
- wxcli/migration/transform/analysis_pipeline.py +453 -0
- wxcli/migration/transform/analyzers/__init__.py +142 -0
- wxcli/migration/transform/analyzers/css_permission.py +189 -0
- wxcli/migration/transform/analyzers/css_routing.py +335 -0
- wxcli/migration/transform/analyzers/device_compatibility.py +122 -0
- wxcli/migration/transform/analyzers/dn_ambiguity.py +131 -0
- wxcli/migration/transform/analyzers/duplicate_user.py +221 -0
- wxcli/migration/transform/analyzers/extension_conflict.py +173 -0
- wxcli/migration/transform/analyzers/feature_approximation.py +227 -0
- wxcli/migration/transform/analyzers/layout_overflow.py +174 -0
- wxcli/migration/transform/analyzers/location_ambiguity.py +184 -0
- wxcli/migration/transform/analyzers/missing_data.py +300 -0
- wxcli/migration/transform/analyzers/selective_call_handling.py +394 -0
- wxcli/migration/transform/analyzers/shared_line.py +170 -0
- wxcli/migration/transform/analyzers/voicemail_compatibility.py +267 -0
- wxcli/migration/transform/analyzers/workspace_license.py +212 -0
- wxcli/migration/transform/cross_reference.py +1136 -0
- wxcli/migration/transform/cucm_pattern.py +246 -0
- wxcli/migration/transform/decisions.py +301 -0
- wxcli/migration/transform/e164.py +145 -0
- wxcli/migration/transform/engine.py +256 -0
- wxcli/migration/transform/mappers/CLAUDE.md +123 -0
- wxcli/migration/transform/mappers/__init__.py +76 -0
- wxcli/migration/transform/mappers/announcement_mapper.py +122 -0
- wxcli/migration/transform/mappers/base.py +190 -0
- wxcli/migration/transform/mappers/button_template_mapper.py +186 -0
- wxcli/migration/transform/mappers/call_forwarding_mapper.py +228 -0
- wxcli/migration/transform/mappers/call_settings_mapper.py +144 -0
- wxcli/migration/transform/mappers/css_mapper.py +868 -0
- wxcli/migration/transform/mappers/dect_mapper.py +367 -0
- wxcli/migration/transform/mappers/device_layout_mapper.py +289 -0
- wxcli/migration/transform/mappers/device_mapper.py +227 -0
- wxcli/migration/transform/mappers/device_profile_mapper.py +190 -0
- wxcli/migration/transform/mappers/device_settings_mapper.py +464 -0
- wxcli/migration/transform/mappers/e911_mapper.py +129 -0
- wxcli/migration/transform/mappers/ecbn_mapper.py +263 -0
- wxcli/migration/transform/mappers/executive_assistant_mapper.py +156 -0
- wxcli/migration/transform/mappers/feature_mapper.py +1179 -0
- wxcli/migration/transform/mappers/line_mapper.py +310 -0
- wxcli/migration/transform/mappers/location_mapper.py +235 -0
- wxcli/migration/transform/mappers/moh_mapper.py +114 -0
- wxcli/migration/transform/mappers/monitoring_mapper.py +221 -0
- wxcli/migration/transform/mappers/receptionist_mapper.py +245 -0
- wxcli/migration/transform/mappers/routing_mapper.py +821 -0
- wxcli/migration/transform/mappers/snr_mapper.py +201 -0
- wxcli/migration/transform/mappers/softkey_mapper.py +205 -0
- wxcli/migration/transform/mappers/user_mapper.py +264 -0
- wxcli/migration/transform/mappers/voicemail_group_mapper.py +286 -0
- wxcli/migration/transform/mappers/voicemail_mapper.py +514 -0
- wxcli/migration/transform/mappers/workspace_mapper.py +464 -0
- wxcli/migration/transform/normalizers.py +2008 -0
- wxcli/migration/transform/pattern_converter.py +106 -0
- wxcli/migration/transform/pipeline.py +271 -0
- wxcli/migration/transform/rules.py +255 -0
- wxcli/org_health/CLAUDE.md +63 -0
- wxcli/org_health/__init__.py +7 -0
- wxcli/org_health/analyze.py +93 -0
- wxcli/org_health/checks.py +458 -0
- wxcli/org_health/collector.py +62 -0
- wxcli/org_health/models.py +78 -0
- wxcli/org_health/report.py +300 -0
- wxcli/output.py +101 -0
- wxcli-1.2.0.dist-info/METADATA +505 -0
- wxcli-1.2.0.dist-info/RECORD +413 -0
- wxcli-1.2.0.dist-info/WHEEL +5 -0
- wxcli-1.2.0.dist-info/entry_points.txt +2 -0
- wxcli-1.2.0.dist-info/licenses/LICENSE +191 -0
- wxcli-1.2.0.dist-info/scm_file_list.json +751 -0
- wxcli-1.2.0.dist-info/scm_version.json +8 -0
- wxcli-1.2.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,1020 @@
|
|
|
1
|
+
# Self-Service Call Settings Reference — /people/me/ API Surface
|
|
2
|
+
|
|
3
|
+
User-level self-service endpoints for managing personal call settings via user OAuth tokens. These endpoints mirror many admin-path settings but use `/telephony/config/people/me/` instead of `/telephony/config/people/{personId}/`.
|
|
4
|
+
|
|
5
|
+
## Sources
|
|
6
|
+
|
|
7
|
+
- specs/webex-cloud-calling.json (6 "Call Settings For Me" tags + Mode Management + Beta Barge-In, 156 endpoints across 99 paths)
|
|
8
|
+
- CLAUDE.md known issue #4 (6 user-only endpoints)
|
|
9
|
+
- person-call-settings-*.md (admin-path equivalents)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Overview & Authentication
|
|
14
|
+
|
|
15
|
+
### Token Requirements
|
|
16
|
+
|
|
17
|
+
All `/telephony/config/people/me/` endpoints require **user-level OAuth tokens**. Admin tokens (service app, integration with admin grant) will not work — they return 404 on user-only endpoints and are not supported on any `/me/` path.
|
|
18
|
+
|
|
19
|
+
The authenticated user **must have a Webex Calling license** assigned. Users without a calling license receive error 4008.
|
|
20
|
+
|
|
21
|
+
### Scopes
|
|
22
|
+
|
|
23
|
+
| Operation | Required Scope |
|
|
24
|
+
|-----------|---------------|
|
|
25
|
+
| GET (read settings) | `spark:people_read` |
|
|
26
|
+
| PUT (modify settings) | `spark:people_write` |
|
|
27
|
+
| POST (create criteria/numbers) | `spark:people_write` |
|
|
28
|
+
| DELETE (remove criteria/numbers) | `spark:people_write` |
|
|
29
|
+
|
|
30
|
+
### Error Patterns
|
|
31
|
+
|
|
32
|
+
| HTTP Code | Error Code | Meaning | Resolution |
|
|
33
|
+
|-----------|-----------|---------|------------|
|
|
34
|
+
| 404 | 4008 | User not calling-licensed | Assign Webex Calling license to the authenticated user |
|
|
35
|
+
| 404 | — | Endpoint not found | Verify the path; some settings require specific feature enablement |
|
|
36
|
+
| 400 | — | Bad request | Check request body against the schema |
|
|
37
|
+
| 401 | — | Unauthorized | Token expired or missing required scope |
|
|
38
|
+
| 403 | — | Forbidden | User lacks permission for this setting (may be admin-locked) |
|
|
39
|
+
|
|
40
|
+
### Base URL
|
|
41
|
+
|
|
42
|
+
All endpoints use `https://webexapis.com/v1` as the base URL:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
https://webexapis.com/v1/telephony/config/people/me/...
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 2. User-Only Settings (No Admin Path)
|
|
51
|
+
|
|
52
|
+
These 6 settings exist **only** at `/telephony/config/people/me/settings/{feature}`. There is no admin-path equivalent (`/telephony/config/people/{personId}/...`). Admin tokens get 404. You **must** use a user-level OAuth token from the calling-licensed user whose settings you want to read or modify.
|
|
53
|
+
|
|
54
|
+
### Summary Table
|
|
55
|
+
|
|
56
|
+
| Setting | GET | PUT | Criteria CRUD | Tag |
|
|
57
|
+
|---------|-----|-----|---------------|-----|
|
|
58
|
+
| simultaneousRing | Yes | Yes | Create/Get/Update/Delete | Call Settings For Me Phase 4 |
|
|
59
|
+
| sequentialRing | Yes | Yes | Create/Get/Update/Delete | Call Settings For Me With UserHub Phase3 |
|
|
60
|
+
| priorityAlert | Yes | Yes | Create/Get/Update/Delete | Call Settings For Me With UserHub Phase2 |
|
|
61
|
+
| callNotify | Yes | Yes | Create/Get/Update/Delete | Call Settings For Me With UserHub Phase2 |
|
|
62
|
+
| anonymousCallReject | Yes | Yes | — | Call Settings For Me With UserHub Phase3 |
|
|
63
|
+
| callPolicies | Yes | Yes | — | Beta Call Settings For Me With Userhub Phase1 |
|
|
64
|
+
|
|
65
|
+
> **Note:** There is no standalone "List criteria" endpoint. Criteria are returned as a `criterias` array in the parent GET response (e.g., `GET /me/settings/simultaneousRing` includes all criteria in its response body).
|
|
66
|
+
|
|
67
|
+
### 2.1 Simultaneous Ring
|
|
68
|
+
|
|
69
|
+
Rings multiple phone numbers/destinations at the same time when the user receives an incoming call.
|
|
70
|
+
|
|
71
|
+
**Endpoints:**
|
|
72
|
+
|
|
73
|
+
| Method | Path | Summary |
|
|
74
|
+
|--------|------|---------|
|
|
75
|
+
| GET | `/me/settings/simultaneousRing` | Retrieve settings |
|
|
76
|
+
| PUT | `/me/settings/simultaneousRing` | Modify settings |
|
|
77
|
+
| POST | `/me/settings/simultaneousRing/criteria` | Create criteria |
|
|
78
|
+
| GET | `/me/settings/simultaneousRing/criteria/{id}` | Get criteria |
|
|
79
|
+
| PUT | `/me/settings/simultaneousRing/criteria/{id}` | Modify criteria |
|
|
80
|
+
| DELETE | `/me/settings/simultaneousRing/criteria/{id}` | Delete criteria |
|
|
81
|
+
|
|
82
|
+
**Raw HTTP — Read:**
|
|
83
|
+
```http
|
|
84
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/simultaneousRing
|
|
85
|
+
Authorization: Bearer {user_token}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Raw HTTP — Modify:**
|
|
89
|
+
```http
|
|
90
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/simultaneousRing
|
|
91
|
+
Authorization: Bearer {user_token}
|
|
92
|
+
Content-Type: application/json
|
|
93
|
+
|
|
94
|
+
{
|
|
95
|
+
"enabled": true,
|
|
96
|
+
"doNotRingIfOnCall": false,
|
|
97
|
+
"phoneNumbers": [
|
|
98
|
+
{
|
|
99
|
+
"phoneNumber": "+14085551234",
|
|
100
|
+
"answerConfirmationEnabled": false
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Data model details: see `person-call-settings-handling.md` section 4 (Simultaneous Ring).
|
|
107
|
+
|
|
108
|
+
### 2.2 Sequential Ring
|
|
109
|
+
|
|
110
|
+
Rings a sequence of phone numbers one after another until the call is answered or goes to voicemail.
|
|
111
|
+
|
|
112
|
+
**Endpoints:**
|
|
113
|
+
|
|
114
|
+
| Method | Path | Summary |
|
|
115
|
+
|--------|------|---------|
|
|
116
|
+
| GET | `/me/settings/sequentialRing` | Retrieve settings |
|
|
117
|
+
| PUT | `/me/settings/sequentialRing` | Modify settings |
|
|
118
|
+
| POST | `/me/settings/sequentialRing/criteria` | Create criteria |
|
|
119
|
+
| GET | `/me/settings/sequentialRing/criteria/{id}` | Get criteria |
|
|
120
|
+
| PUT | `/me/settings/sequentialRing/criteria/{id}` | Modify criteria |
|
|
121
|
+
| DELETE | `/me/settings/sequentialRing/criteria/{id}` | Delete criteria |
|
|
122
|
+
|
|
123
|
+
**Raw HTTP — Read:**
|
|
124
|
+
```http
|
|
125
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/sequentialRing
|
|
126
|
+
Authorization: Bearer {user_token}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Raw HTTP — Modify:**
|
|
130
|
+
```http
|
|
131
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/sequentialRing
|
|
132
|
+
Authorization: Bearer {user_token}
|
|
133
|
+
Content-Type: application/json
|
|
134
|
+
|
|
135
|
+
{
|
|
136
|
+
"enabled": true,
|
|
137
|
+
"ringBaseLocationFirst": true,
|
|
138
|
+
"baseLocationNumberOfRings": 3,
|
|
139
|
+
"continueIfBaseLocationIsBusy": true,
|
|
140
|
+
"callerIdForOutgoingCalls": false,
|
|
141
|
+
"phoneNumbers": [
|
|
142
|
+
{
|
|
143
|
+
"phoneNumber": "+14085551234",
|
|
144
|
+
"numberOfRings": 3,
|
|
145
|
+
"answerConfirmationEnabled": false
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Data model details: see `person-call-settings-handling.md` section 5 (Sequential Ring).
|
|
152
|
+
|
|
153
|
+
### 2.3 Priority Alert
|
|
154
|
+
|
|
155
|
+
Plays a distinctive ring pattern for calls matching specific criteria (e.g., from certain callers or during specific schedules).
|
|
156
|
+
|
|
157
|
+
**Endpoints:**
|
|
158
|
+
|
|
159
|
+
| Method | Path | Summary |
|
|
160
|
+
|--------|------|---------|
|
|
161
|
+
| GET | `/me/settings/priorityAlert` | Retrieve settings |
|
|
162
|
+
| PUT | `/me/settings/priorityAlert` | Modify settings |
|
|
163
|
+
| POST | `/me/settings/priorityAlert/criteria` | Create criteria |
|
|
164
|
+
| GET | `/me/settings/priorityAlert/criteria/{id}` | Get criteria |
|
|
165
|
+
| PUT | `/me/settings/priorityAlert/criteria/{id}` | Modify criteria |
|
|
166
|
+
| DELETE | `/me/settings/priorityAlert/criteria/{id}` | Delete criteria |
|
|
167
|
+
|
|
168
|
+
**Raw HTTP — Read:**
|
|
169
|
+
```http
|
|
170
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/priorityAlert
|
|
171
|
+
Authorization: Bearer {user_token}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Raw HTTP — Modify:**
|
|
175
|
+
```http
|
|
176
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/priorityAlert
|
|
177
|
+
Authorization: Bearer {user_token}
|
|
178
|
+
Content-Type: application/json
|
|
179
|
+
|
|
180
|
+
{
|
|
181
|
+
"enabled": true
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Data model details: see `person-call-settings-handling.md` section 10 (Priority Alert).
|
|
186
|
+
|
|
187
|
+
### 2.4 Call Notify
|
|
188
|
+
|
|
189
|
+
Sends email/text notifications when calls matching specific criteria are received.
|
|
190
|
+
|
|
191
|
+
**Endpoints:**
|
|
192
|
+
|
|
193
|
+
| Method | Path | Summary |
|
|
194
|
+
|--------|------|---------|
|
|
195
|
+
| GET | `/me/settings/callNotify` | Retrieve settings |
|
|
196
|
+
| PUT | `/me/settings/callNotify` | Modify settings |
|
|
197
|
+
| POST | `/me/settings/callNotify/criteria` | Create criteria |
|
|
198
|
+
| GET | `/me/settings/callNotify/criteria/{id}` | Get criteria |
|
|
199
|
+
| PUT | `/me/settings/callNotify/criteria/{id}` | Modify criteria |
|
|
200
|
+
| DELETE | `/me/settings/callNotify/criteria/{id}` | Delete criteria |
|
|
201
|
+
|
|
202
|
+
**Raw HTTP — Read:**
|
|
203
|
+
```http
|
|
204
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/callNotify
|
|
205
|
+
Authorization: Bearer {user_token}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Raw HTTP — Modify:**
|
|
209
|
+
```http
|
|
210
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/callNotify
|
|
211
|
+
Authorization: Bearer {user_token}
|
|
212
|
+
Content-Type: application/json
|
|
213
|
+
|
|
214
|
+
{
|
|
215
|
+
"enabled": true,
|
|
216
|
+
"destination": "user@example.com"
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### 2.5 Anonymous Call Reject
|
|
221
|
+
|
|
222
|
+
Rejects calls from callers who have blocked their caller ID.
|
|
223
|
+
|
|
224
|
+
**Endpoints:**
|
|
225
|
+
|
|
226
|
+
| Method | Path | Summary |
|
|
227
|
+
|--------|------|---------|
|
|
228
|
+
| GET | `/me/settings/anonymousCallReject` | Retrieve settings |
|
|
229
|
+
| PUT | `/me/settings/anonymousCallReject` | Modify settings |
|
|
230
|
+
|
|
231
|
+
**Raw HTTP — Read:**
|
|
232
|
+
```http
|
|
233
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/anonymousCallReject
|
|
234
|
+
Authorization: Bearer {user_token}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Raw HTTP — Modify:**
|
|
238
|
+
```http
|
|
239
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/anonymousCallReject
|
|
240
|
+
Authorization: Bearer {user_token}
|
|
241
|
+
Content-Type: application/json
|
|
242
|
+
|
|
243
|
+
{
|
|
244
|
+
"enabled": true
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Data model details: see `person-call-settings-media.md` section 4 (Anonymous Call Rejection).
|
|
249
|
+
|
|
250
|
+
### 2.6 Call Policies [BETA]
|
|
251
|
+
|
|
252
|
+
Controls privacy behavior on redirected calls. Tagged as Beta.
|
|
253
|
+
|
|
254
|
+
**Endpoints:**
|
|
255
|
+
|
|
256
|
+
| Method | Path | Summary |
|
|
257
|
+
|--------|------|---------|
|
|
258
|
+
| GET | `/me/settings/callPolicies` | Retrieve settings |
|
|
259
|
+
| PUT | `/me/settings/callPolicies` | Modify settings |
|
|
260
|
+
|
|
261
|
+
**Raw HTTP — Read:**
|
|
262
|
+
```http
|
|
263
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/callPolicies
|
|
264
|
+
Authorization: Bearer {user_token}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Raw HTTP — Modify:**
|
|
268
|
+
```http
|
|
269
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/callPolicies
|
|
270
|
+
Authorization: Bearer {user_token}
|
|
271
|
+
Content-Type: application/json
|
|
272
|
+
|
|
273
|
+
{
|
|
274
|
+
"privacyOnRedirectedCalls": "NO_PRIVACY"
|
|
275
|
+
}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Data model details: see `person-call-settings-permissions.md` section 5 (Call Policy). Note: the admin path uses `/telephony/config/people/{personId}/callPolicies` but that path does NOT appear in the current OpenAPI spec as an admin endpoint — it may exist but is undocumented.
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 3. Call Handling
|
|
283
|
+
|
|
284
|
+
Settings controlling how incoming calls are routed, forwarded, blocked, and selectively handled.
|
|
285
|
+
|
|
286
|
+
### Endpoint Table
|
|
287
|
+
|
|
288
|
+
| Setting | GET | PUT | Path Suffix | Admin Equivalent |
|
|
289
|
+
|---------|-----|-----|-------------|-----------------|
|
|
290
|
+
| Call Forwarding | Yes | Yes | `settings/callForwarding` | `/people/{personId}/features/callForwarding` |
|
|
291
|
+
| Call Waiting | Yes | Yes | `settings/callWaiting` | `/people/{personId}/features/callWaiting` |
|
|
292
|
+
| Do Not Disturb | Yes | Yes | `settings/doNotDisturb` [BETA] | `/people/{personId}/features/doNotDisturb` |
|
|
293
|
+
| Selective Accept | Yes | Yes | `settings/selectiveAccept` | `/telephony/config/people/{personId}/selectiveAccept` |
|
|
294
|
+
| Selective Accept Criteria | CRUD | — | `settings/selectiveAccept/criteria[/{id}]` | `/telephony/config/people/{personId}/selectiveAccept/criteria[/{id}]` |
|
|
295
|
+
| Selective Forward | Yes | Yes | `settings/selectiveForward` | `/telephony/config/people/{personId}/selectiveForward` |
|
|
296
|
+
| Selective Forward Criteria | CRUD | — | `settings/selectiveForward/criteria[/{id}]` | `/telephony/config/people/{personId}/selectiveForward/criteria[/{id}]` |
|
|
297
|
+
| Selective Reject | Yes | Yes | `settings/selectiveReject` | `/telephony/config/people/{personId}/selectiveReject` |
|
|
298
|
+
| Selective Reject Criteria | CRUD | — | `settings/selectiveReject/criteria[/{id}]` | `/telephony/config/people/{personId}/selectiveReject/criteria[/{id}]` |
|
|
299
|
+
| Call Block | Yes | — | `settings/callBlock` | — |
|
|
300
|
+
| Call Block Numbers | GET/POST/DELETE | — | `settings/callBlock/numbers[/{phoneNumberId}]` | — |
|
|
301
|
+
| Personal Assistant | Yes | Yes | `settings/personalAssistant` | `/telephony/config/people/{personId}/features/personalAssistant` |
|
|
302
|
+
|
|
303
|
+
### Raw HTTP — Read Call Forwarding
|
|
304
|
+
|
|
305
|
+
```http
|
|
306
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/callForwarding
|
|
307
|
+
Authorization: Bearer {user_token}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
Response includes `callForwarding` (always/busy/noAnswer settings) and `businessContinuity` fields. See `person-call-settings-handling.md` section 1 for the full data model.
|
|
311
|
+
|
|
312
|
+
### Raw HTTP — Read Call Block Settings
|
|
313
|
+
|
|
314
|
+
```http
|
|
315
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/callBlock
|
|
316
|
+
Authorization: Bearer {user_token}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Raw HTTP — Add Number to Call Block List
|
|
320
|
+
|
|
321
|
+
```http
|
|
322
|
+
POST https://webexapis.com/v1/telephony/config/people/me/settings/callBlock/numbers
|
|
323
|
+
Authorization: Bearer {user_token}
|
|
324
|
+
Content-Type: application/json
|
|
325
|
+
|
|
326
|
+
{
|
|
327
|
+
"phoneNumber": "+14085559999"
|
|
328
|
+
}
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
**Cross-references:**
|
|
332
|
+
- Call Forwarding: `person-call-settings-handling.md` section 1
|
|
333
|
+
- Call Waiting: `person-call-settings-handling.md` section 2
|
|
334
|
+
- DND: `person-call-settings-handling.md` section 3
|
|
335
|
+
- Selective Accept/Forward/Reject: `person-call-settings-handling.md` sections 7-9
|
|
336
|
+
- Personal Assistant: `person-call-settings-behavior.md` section 13
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## 4. Executive & Assistant
|
|
341
|
+
|
|
342
|
+
Settings for the executive/assistant feature, including screening, filtering, alerting, and assistant assignment.
|
|
343
|
+
|
|
344
|
+
### Endpoint Table
|
|
345
|
+
|
|
346
|
+
| Setting | GET | PUT | Path Suffix | Admin Equivalent | Tag |
|
|
347
|
+
|---------|-----|-----|-------------|-----------------|-----|
|
|
348
|
+
| Executive Alert | Yes | Yes | `settings/executive/alert` | `/telephony/config/people/{personId}/executive/alert` | Beta |
|
|
349
|
+
| Assigned Assistants | Yes | Yes | `settings/executive/assignedAssistants` | `/telephony/config/people/{personId}/executive/assignedAssistants` | — |
|
|
350
|
+
| Executive Assistant | Yes | Yes | `settings/executive/assistant` | `/telephony/config/people/{personId}/executive/assistant` | — |
|
|
351
|
+
| Available Assistants | Yes | — | `settings/executive/availableAssistants` | `/telephony/config/people/{personId}/executive/availableAssistants` | — |
|
|
352
|
+
| Call Filtering | Yes | Yes | `settings/executive/callFiltering` | `/telephony/config/people/{personId}/executive/callFiltering` | Beta |
|
|
353
|
+
| Call Filtering Criteria | CRUD | — | `settings/executive/callFiltering/criteria[/{id}]` | `/telephony/config/people/{personId}/executive/callFiltering/criteria[/{id}]` | Beta |
|
|
354
|
+
| Screening | Yes | Yes | `settings/executive/screening` | `/telephony/config/people/{personId}/executive/screening` | Beta |
|
|
355
|
+
|
|
356
|
+
### Raw HTTP — Read Executive Alert Settings
|
|
357
|
+
|
|
358
|
+
```http
|
|
359
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/executive/alert
|
|
360
|
+
Authorization: Bearer {user_token}
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### Raw HTTP — Modify Executive Assigned Assistants
|
|
364
|
+
|
|
365
|
+
```http
|
|
366
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/executive/assignedAssistants
|
|
367
|
+
Authorization: Bearer {user_token}
|
|
368
|
+
Content-Type: application/json
|
|
369
|
+
|
|
370
|
+
{
|
|
371
|
+
"assistants": [
|
|
372
|
+
{
|
|
373
|
+
"id": "{assistant_person_id}"
|
|
374
|
+
}
|
|
375
|
+
]
|
|
376
|
+
}
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**Cross-reference:** `person-call-settings-permissions.md` section 4 (Executive / Assistant Settings).
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## 5. Voicemail & Media
|
|
384
|
+
|
|
385
|
+
Settings for voicemail, call recording, caller ID, barge-in, and related media settings.
|
|
386
|
+
|
|
387
|
+
### Endpoint Table
|
|
388
|
+
|
|
389
|
+
| Setting | GET | PUT | POST | Path Suffix | Admin Equivalent |
|
|
390
|
+
|---------|-----|-----|------|-------------|-----------------|
|
|
391
|
+
| Voicemail | Yes | Yes | — | `settings/voicemail` | `/people/{personId}/features/voicemail` |
|
|
392
|
+
| Voicemail Busy Greeting Upload | — | — | Yes | `settings/voicemail/actions/busyGreetingUpload/invoke` | `/people/{personId}/features/voicemail/actions/uploadBusyGreeting/invoke` |
|
|
393
|
+
| Voicemail No Answer Greeting Upload | — | — | Yes | `settings/voicemail/actions/noAnswerGreetingUpload/invoke` | `/people/{personId}/features/voicemail/actions/uploadNoAnswerGreeting/invoke` |
|
|
394
|
+
| Voicemail PIN | — | Yes | — | `voicemail/pin` | — |
|
|
395
|
+
| Voicemail Rules | Yes | — | — | `voicemail/rules` | `/telephony/config/voicemail/rules` (org-level) |
|
|
396
|
+
| Caller ID | Yes | Yes | — | `settings/callerId` | `/people/{personId}/features/callerId` |
|
|
397
|
+
| Selected Caller ID | Yes | Yes | — | `settings/selectedCallerId` | — |
|
|
398
|
+
| Available Caller IDs | Yes | — | — | `settings/availableCallerIds` | `/telephony/config/people/{personId}/agent/availableCallerIds` |
|
|
399
|
+
| Call Recording | Yes | — | — | `settings/callRecording` | `/people/{personId}/features/callRecording` |
|
|
400
|
+
| Barge-In | Yes | Yes | — | `settings/bargeIn` [BETA] | `/people/{personId}/features/bargeIn` |
|
|
401
|
+
| Call Captions | Yes | — | — | `settings/callCaptions` | `/telephony/config/people/{personId}/callCaptions` |
|
|
402
|
+
| WebexGo Override | Yes | Yes | — | `settings/webexGoOverride` | — |
|
|
403
|
+
|
|
404
|
+
### Raw HTTP — Read Voicemail Settings
|
|
405
|
+
|
|
406
|
+
```http
|
|
407
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/voicemail
|
|
408
|
+
Authorization: Bearer {user_token}
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
### Raw HTTP — Upload Busy Greeting
|
|
412
|
+
|
|
413
|
+
```http
|
|
414
|
+
POST https://webexapis.com/v1/telephony/config/people/me/settings/voicemail/actions/busyGreetingUpload/invoke
|
|
415
|
+
Authorization: Bearer {user_token}
|
|
416
|
+
Content-Type: multipart/form-data
|
|
417
|
+
|
|
418
|
+
--boundary
|
|
419
|
+
Content-Disposition: form-data; name="file"; filename="busy-greeting.wav"
|
|
420
|
+
Content-Type: audio/wav
|
|
421
|
+
|
|
422
|
+
{binary audio data}
|
|
423
|
+
--boundary--
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
### Raw HTTP — Update Voicemail PIN
|
|
427
|
+
|
|
428
|
+
```http
|
|
429
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/voicemail/pin
|
|
430
|
+
Authorization: Bearer {user_token}
|
|
431
|
+
Content-Type: application/json
|
|
432
|
+
|
|
433
|
+
{
|
|
434
|
+
"passcode": "27850230"
|
|
435
|
+
}
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
The PIN must comply with the organization's passcode rules (see voicemail rules endpoint below). No response body on success (204).
|
|
439
|
+
|
|
440
|
+
**CLI:** `wxcli call-settings-for-me-phase-5 update-pin --passcode "27850230"`
|
|
441
|
+
|
|
442
|
+
### Raw HTTP — Read Voicemail Rules
|
|
443
|
+
|
|
444
|
+
```http
|
|
445
|
+
GET https://webexapis.com/v1/telephony/config/people/me/voicemail/rules
|
|
446
|
+
Authorization: Bearer {user_token}
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
Returns the passcode policy rules for the user's organization. Read-only; rules are set at the org level. Response includes `blockRepeatedPatternsEnabled`, `blockUserNumberEnabled`, `blockReversedUserNumberEnabled`, `blockPreviousPasscodes` (with `numberOfPasscodes`), `blockReversedOldPasscodeEnabled`, `blockRepeatedDigits` (with `max`), `blockContiguousSequences` (with `numberOfAscendingDigits`, `numberOfDescendingDigits`), and `length` (with `min`, `max`).
|
|
450
|
+
|
|
451
|
+
**CLI:** `wxcli call-settings-for-me-phase-5 show-rules`
|
|
452
|
+
|
|
453
|
+
### Raw HTTP — Modify Caller ID
|
|
454
|
+
|
|
455
|
+
```http
|
|
456
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/callerId
|
|
457
|
+
Authorization: Bearer {user_token}
|
|
458
|
+
Content-Type: application/json
|
|
459
|
+
|
|
460
|
+
{
|
|
461
|
+
"selected": "DIRECT_LINE",
|
|
462
|
+
"customNumber": null,
|
|
463
|
+
"firstName": "John",
|
|
464
|
+
"lastName": "Doe",
|
|
465
|
+
"externalCallerIdNamePolicy": "DIRECT_LINE"
|
|
466
|
+
}
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
### Raw HTTP — Read Barge-In Settings [BETA]
|
|
470
|
+
|
|
471
|
+
```http
|
|
472
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/bargeIn
|
|
473
|
+
Authorization: Bearer {user_token}
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
### Raw HTTP — Modify Barge-In Settings [BETA]
|
|
477
|
+
|
|
478
|
+
```http
|
|
479
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/bargeIn
|
|
480
|
+
Authorization: Bearer {user_token}
|
|
481
|
+
Content-Type: application/json
|
|
482
|
+
|
|
483
|
+
{
|
|
484
|
+
"enabled": true,
|
|
485
|
+
"toneEnabled": true
|
|
486
|
+
}
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
**Cross-references:**
|
|
490
|
+
- Voicemail: `person-call-settings-media.md` section 1
|
|
491
|
+
- Voicemail PIN/Rules: org-level rules at `/telephony/config/voicemail/rules`
|
|
492
|
+
- Caller ID: `person-call-settings-media.md` sections 2-3
|
|
493
|
+
- Call Recording: `person-call-settings-media.md` section 7
|
|
494
|
+
- Barge-In: `person-call-settings-media.md` section 5
|
|
495
|
+
- Anonymous Call Rejection: `person-call-settings-media.md` section 4
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
## 6. Endpoints & Devices
|
|
500
|
+
|
|
501
|
+
Manage the user's registered endpoints (desk phones, soft clients, etc.) and preferred answer endpoint configuration.
|
|
502
|
+
|
|
503
|
+
### Endpoint Table
|
|
504
|
+
|
|
505
|
+
| Setting | GET | PUT | Path Suffix | Admin Equivalent |
|
|
506
|
+
|---------|-----|-----|-------------|-----------------|
|
|
507
|
+
| List Endpoints | Yes | — | `endpoints` | `/telephony/config/people/{personId}/devices` |
|
|
508
|
+
| Get Endpoint Details | Yes | Yes | `endpoints/{endpointId}` | — |
|
|
509
|
+
| Available Preferred Answer Endpoints | Yes | — | `settings/availablePreferredAnswerEndpoints` | `/telephony/config/people/{personId}/preferredAnswerEndpoint` (via availableEndpoints in response) |
|
|
510
|
+
| Preferred Answer Endpoint | Yes | Yes | `settings/preferredAnswerEndpoint` | `/telephony/config/people/{personId}/preferredAnswerEndpoint` |
|
|
511
|
+
| Hoteling Guest | Yes | Yes | `settings/hoteling/guest` | `/people/{personId}/features/hoteling` |
|
|
512
|
+
| Available Hoteling Hosts | Yes | — | `settings/hoteling/availableHosts` | — |
|
|
513
|
+
|
|
514
|
+
### Raw HTTP — List My Endpoints
|
|
515
|
+
|
|
516
|
+
```http
|
|
517
|
+
GET https://webexapis.com/v1/telephony/config/people/me/endpoints
|
|
518
|
+
Authorization: Bearer {user_token}
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
### Raw HTTP — Set Preferred Answer Endpoint
|
|
522
|
+
|
|
523
|
+
```http
|
|
524
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/preferredAnswerEndpoint
|
|
525
|
+
Authorization: Bearer {user_token}
|
|
526
|
+
Content-Type: application/json
|
|
527
|
+
|
|
528
|
+
{
|
|
529
|
+
"preferredAnswerEndpointId": "{endpoint_id}"
|
|
530
|
+
}
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
### Raw HTTP — List Available Hoteling Hosts
|
|
534
|
+
|
|
535
|
+
```http
|
|
536
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/hoteling/availableHosts
|
|
537
|
+
Authorization: Bearer {user_token}
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
Supports pagination (`max`, `start`) and filtering (`name`, `phoneNumber`). Returns a `hosts` array of objects with `hostId`, `firstName`, `lastName`, `phoneNumber`, `extension`, `allowedAssociationDuration`.
|
|
541
|
+
|
|
542
|
+
**CLI:** `wxcli call-settings-for-me-phase-5 list [--name "..."] [--phone-number "..."]`
|
|
543
|
+
|
|
544
|
+
### Raw HTTP — Read Hoteling Guest Settings
|
|
545
|
+
|
|
546
|
+
```http
|
|
547
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/hoteling/guest
|
|
548
|
+
Authorization: Bearer {user_token}
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
Returns `enabled`, `associationLimitEnabled`, `associationLimitHours`, and current host association details (`hostId`, `hostFirstName`, `hostLastName`, `hostEnforcedAssociationLimitEnabled`, `hostAssociationLimitHours`).
|
|
552
|
+
|
|
553
|
+
**CLI:** `wxcli call-settings-for-me-phase-5 show-guest`
|
|
554
|
+
|
|
555
|
+
### Raw HTTP — Modify Hoteling Guest Settings
|
|
556
|
+
|
|
557
|
+
```http
|
|
558
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/hoteling/guest
|
|
559
|
+
Authorization: Bearer {user_token}
|
|
560
|
+
Content-Type: application/json
|
|
561
|
+
|
|
562
|
+
{
|
|
563
|
+
"enabled": true,
|
|
564
|
+
"associationLimitEnabled": true,
|
|
565
|
+
"associationLimitHours": 12,
|
|
566
|
+
"hostId": "{host_person_or_workspace_id}"
|
|
567
|
+
}
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
**CLI:** `wxcli call-settings-for-me-phase-5 update-guest --enabled --association-limit-enabled --association-limit-hours 12 --host-id "{id}"`
|
|
571
|
+
|
|
572
|
+
**Cross-reference:** `person-call-settings-behavior.md` section 10 (Preferred Answer Endpoint). `person-call-settings-behavior.md` section 7 (Hoteling) for admin-path hoteling host settings.
|
|
573
|
+
|
|
574
|
+
---
|
|
575
|
+
|
|
576
|
+
## 7. Routing & Groups
|
|
577
|
+
|
|
578
|
+
Read-only views of call park, call pickup, single number reach (SNR), and monitoring settings from the user's perspective.
|
|
579
|
+
|
|
580
|
+
### Endpoint Table
|
|
581
|
+
|
|
582
|
+
| Setting | GET | PUT | POST/DELETE | Path Suffix | Admin Equivalent |
|
|
583
|
+
|---------|-----|-----|-------------|-------------|-----------------|
|
|
584
|
+
| Call Park | Yes | — | — | `settings/callPark` | — (admin uses location-level call park) |
|
|
585
|
+
| Call Pickup Group | Yes | — | — | `settings/callPickupGroup` | — (admin uses location-level pickup groups) |
|
|
586
|
+
| Single Number Reach | Yes | Yes | — | `settings/singleNumberReach` | `/telephony/config/people/{personId}/singleNumberReach` |
|
|
587
|
+
| SNR Numbers | — | PUT | POST/DELETE | `settings/singleNumberReach/numbers[/{phoneNumberId}]` | `/telephony/config/people/{personId}/singleNumberReach/numbers[/{id}]` |
|
|
588
|
+
| Monitoring | Yes | — | — | `settings/monitoring` | `/people/{personId}/features/monitoring` |
|
|
589
|
+
|
|
590
|
+
### Raw HTTP — Read My Call Park Settings
|
|
591
|
+
|
|
592
|
+
```http
|
|
593
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/callPark
|
|
594
|
+
Authorization: Bearer {user_token}
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
### Raw HTTP — Add Single Number Reach Number
|
|
598
|
+
|
|
599
|
+
```http
|
|
600
|
+
POST https://webexapis.com/v1/telephony/config/people/me/settings/singleNumberReach/numbers
|
|
601
|
+
Authorization: Bearer {user_token}
|
|
602
|
+
Content-Type: application/json
|
|
603
|
+
|
|
604
|
+
{
|
|
605
|
+
"phoneNumber": "+14085551234",
|
|
606
|
+
"extension": "1234",
|
|
607
|
+
"answerTooLateAction": "SEND_TO_VOICEMAIL",
|
|
608
|
+
"answerTooSoonNumberOfRings": 0,
|
|
609
|
+
"answerTooLateNumberOfRings": 5
|
|
610
|
+
}
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
**Cross-references:**
|
|
614
|
+
- Single Number Reach: `person-call-settings-handling.md` section 6
|
|
615
|
+
- Monitoring: `person-call-settings-media.md` section 9
|
|
616
|
+
|
|
617
|
+
---
|
|
618
|
+
|
|
619
|
+
## 8. Queue & Agent
|
|
620
|
+
|
|
621
|
+
Settings related to call queue agent behavior and calling services status.
|
|
622
|
+
|
|
623
|
+
### Endpoint Table
|
|
624
|
+
|
|
625
|
+
| Setting | GET | PUT | Path Suffix | Admin Equivalent |
|
|
626
|
+
|---------|-----|-----|-------------|-----------------|
|
|
627
|
+
| Call Center (Queue Agent) | Yes | Yes | `settings/queues` | — |
|
|
628
|
+
| Calling Services | Yes | — | `settings/services` | — |
|
|
629
|
+
| Contact Center Extensions | Yes | — | `settings/contactCenterExtensions` | — |
|
|
630
|
+
|
|
631
|
+
### Raw HTTP — Read My Call Center Settings
|
|
632
|
+
|
|
633
|
+
```http
|
|
634
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/queues
|
|
635
|
+
Authorization: Bearer {user_token}
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
### Raw HTTP — Modify Call Center Settings (Join/Unjoin Queues)
|
|
639
|
+
|
|
640
|
+
```http
|
|
641
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/queues
|
|
642
|
+
Authorization: Bearer {user_token}
|
|
643
|
+
Content-Type: application/json
|
|
644
|
+
|
|
645
|
+
{
|
|
646
|
+
"availableInCallQueue": true,
|
|
647
|
+
"callQueueEnabled": true
|
|
648
|
+
}
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
### Raw HTTP — Read My Calling Services
|
|
652
|
+
|
|
653
|
+
```http
|
|
654
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/services
|
|
655
|
+
Authorization: Bearer {user_token}
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
Returns list of calling services available to the user with their enabled/disabled state.
|
|
659
|
+
|
|
660
|
+
### Raw HTTP — Read Contact Center Extensions
|
|
661
|
+
|
|
662
|
+
```http
|
|
663
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/contactCenterExtensions
|
|
664
|
+
Authorization: Bearer {user_token}
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
Returns contact center extension information for the authenticated user. No admin-path equivalent exists.
|
|
668
|
+
|
|
669
|
+
---
|
|
670
|
+
|
|
671
|
+
## 9. Location & System
|
|
672
|
+
|
|
673
|
+
Endpoints for retrieving location-level data, schedules, assigned numbers, feature access codes, announcement languages, and country configurations.
|
|
674
|
+
|
|
675
|
+
### Endpoint Table
|
|
676
|
+
|
|
677
|
+
| Setting | Methods | Path Suffix | Admin Equivalent | Tag |
|
|
678
|
+
|---------|---------|-------------|-----------------|-----|
|
|
679
|
+
| My Details | GET | (root: `/me`) | `/telephony/config/people/{personId}` | — |
|
|
680
|
+
| Announcement Languages | GET | `announcementLanguages` | — | Beta |
|
|
681
|
+
| Country Config | GET | `countries/{countryCode}` | — | Beta |
|
|
682
|
+
| Assigned Numbers (Location) | GET | `location/assignedNumbers` | — | — |
|
|
683
|
+
| Location Schedule (Get) | GET | `locations/schedules/{scheduleType}/{scheduleId}` | `/people/{personId}/features/schedules` | — |
|
|
684
|
+
| User Schedules (List) | GET | `schedules` | `/people/{personId}/features/schedules` | — |
|
|
685
|
+
| User Schedule (CRUD) | GET/POST/PUT/DELETE | `schedules[/{scheduleType}/{scheduleId}]` | `/people/{personId}/features/schedules[/{scheduleType}/{scheduleId}]` | — |
|
|
686
|
+
| Schedule Events (CRUD) | GET/POST/PUT/DELETE | `schedules/{scheduleType}/{scheduleId}/events[/{eventId}]` | `/people/{personId}/features/schedules/{scheduleType}/{scheduleId}/events[/{eventId}]` | — |
|
|
687
|
+
| Feature Access Codes | GET | `settings/featureAccessCode` | — | — |
|
|
688
|
+
| Guest Calling Numbers | GET | `settings/guestCalling/numbers` | — | — |
|
|
689
|
+
|
|
690
|
+
### Raw HTTP — Get My Details
|
|
691
|
+
|
|
692
|
+
```http
|
|
693
|
+
GET https://webexapis.com/v1/telephony/config/people/me
|
|
694
|
+
Authorization: Bearer {user_token}
|
|
695
|
+
```
|
|
696
|
+
|
|
697
|
+
### Raw HTTP — Get Person Timezone and Announcement Language (Admin)
|
|
698
|
+
|
|
699
|
+
```http
|
|
700
|
+
GET https://webexapis.com/v1/telephony/config/people/{personId}
|
|
701
|
+
Authorization: Bearer {admin_token}
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
Returns `announcementLanguage` and `timeZone` for the specified person. Requires `spark-admin:people_read` scope. Accepts optional `orgId` query parameter.
|
|
705
|
+
|
|
706
|
+
**CLI:** `wxcli user-settings show-people {personId}`
|
|
707
|
+
|
|
708
|
+
### Raw HTTP — Update Person Timezone and Announcement Language (Admin)
|
|
709
|
+
|
|
710
|
+
```http
|
|
711
|
+
PUT https://webexapis.com/v1/telephony/config/people/{personId}
|
|
712
|
+
Authorization: Bearer {admin_token}
|
|
713
|
+
Content-Type: application/json
|
|
714
|
+
|
|
715
|
+
{
|
|
716
|
+
"announcementLanguage": "English",
|
|
717
|
+
"timeZone": "America/Los_Angeles"
|
|
718
|
+
}
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
Requires `spark-admin:people_write` scope. Accepts optional `orgId` query parameter.
|
|
722
|
+
|
|
723
|
+
**CLI:** `wxcli user-settings update-people {personId} --announcement-language "English" --time-zone "America/Los_Angeles"`
|
|
724
|
+
|
|
725
|
+
### Raw HTTP — List My Schedules
|
|
726
|
+
|
|
727
|
+
```http
|
|
728
|
+
GET https://webexapis.com/v1/telephony/config/people/me/schedules
|
|
729
|
+
Authorization: Bearer {user_token}
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
### Raw HTTP — Create a User Schedule
|
|
733
|
+
|
|
734
|
+
```http
|
|
735
|
+
POST https://webexapis.com/v1/telephony/config/people/me/schedules
|
|
736
|
+
Authorization: Bearer {user_token}
|
|
737
|
+
Content-Type: application/json
|
|
738
|
+
|
|
739
|
+
{
|
|
740
|
+
"name": "Business Hours",
|
|
741
|
+
"type": "businessHours"
|
|
742
|
+
}
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
### Raw HTTP — Get Feature Access Codes
|
|
746
|
+
|
|
747
|
+
```http
|
|
748
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/featureAccessCode
|
|
749
|
+
Authorization: Bearer {user_token}
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
### Raw HTTP — Get Announcement Languages [BETA]
|
|
753
|
+
|
|
754
|
+
```http
|
|
755
|
+
GET https://webexapis.com/v1/telephony/config/people/me/announcementLanguages
|
|
756
|
+
Authorization: Bearer {user_token}
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
---
|
|
760
|
+
|
|
761
|
+
## 10. Secondary Line Settings
|
|
762
|
+
|
|
763
|
+
When a user has secondary lines (shared lines from other users), these endpoints let them manage settings for those secondary lines. The `{lineOwnerId}` parameter is the person ID of the line owner.
|
|
764
|
+
|
|
765
|
+
### Endpoint Table
|
|
766
|
+
|
|
767
|
+
| Setting | GET | PUT | Path Suffix | Admin Equivalent |
|
|
768
|
+
|---------|-----|-----|-------------|-----------------|
|
|
769
|
+
| Available Caller IDs | Yes | — | `secondaryLines/{lineownerId}/availableCallerIds` | — |
|
|
770
|
+
| Call Forwarding | Yes | Yes | `secondaryLines/{lineownerId}/callForwarding` | — |
|
|
771
|
+
| Call Park | Yes | — | `secondaryLines/{lineownerId}/callPark` | — |
|
|
772
|
+
| Call Pickup Group | Yes | — | `secondaryLines/{lineownerId}/callPickupGroup` | — |
|
|
773
|
+
| Call Recording | Yes | — | `secondaryLines/{lineownerId}/callRecording` | — |
|
|
774
|
+
| Caller ID | Yes | Yes | `secondaryLines/{lineownerId}/callerId` | — |
|
|
775
|
+
| Feature Access Codes | Yes | — | `secondaryLines/{lineownerId}/featureAccessCode` | — |
|
|
776
|
+
| Call Center (Queues) | Yes | Yes | `secondaryLines/{lineownerId}/queues` | — |
|
|
777
|
+
| Selected Caller ID | Yes | Yes | `secondaryLines/{lineownerId}/selectedCallerId` | — |
|
|
778
|
+
| Calling Services | Yes | — | `secondaryLines/{lineownerId}/services` | — |
|
|
779
|
+
| Voicemail | Yes | Yes | `secondaryLines/{lineownerId}/voicemail` | — |
|
|
780
|
+
| Available Preferred Answer Endpoints | Yes | — | `secondaryLines/{lineOwnerId}/availablePreferredAnswerEndpoints` | — |
|
|
781
|
+
| Preferred Answer Endpoint | Yes | Yes | `secondaryLines/{lineOwnerId}/preferredAnswerEndpoint` | — |
|
|
782
|
+
|
|
783
|
+
All secondary line endpoints are unique to the `/me/` surface. There are no admin-path equivalents.
|
|
784
|
+
|
|
785
|
+
### Raw HTTP — Read Secondary Line Call Forwarding
|
|
786
|
+
|
|
787
|
+
```http
|
|
788
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/secondaryLines/{lineOwnerId}/callForwarding
|
|
789
|
+
Authorization: Bearer {user_token}
|
|
790
|
+
```
|
|
791
|
+
|
|
792
|
+
### Raw HTTP — Modify Secondary Line Voicemail
|
|
793
|
+
|
|
794
|
+
```http
|
|
795
|
+
PUT https://webexapis.com/v1/telephony/config/people/me/settings/secondaryLines/{lineOwnerId}/voicemail
|
|
796
|
+
Authorization: Bearer {user_token}
|
|
797
|
+
Content-Type: application/json
|
|
798
|
+
|
|
799
|
+
{
|
|
800
|
+
"enabled": true,
|
|
801
|
+
"sendBusyCalls": {
|
|
802
|
+
"enabled": true,
|
|
803
|
+
"greeting": "DEFAULT"
|
|
804
|
+
},
|
|
805
|
+
"sendUnansweredCalls": {
|
|
806
|
+
"enabled": true,
|
|
807
|
+
"greeting": "DEFAULT",
|
|
808
|
+
"numberOfRings": 6
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
```
|
|
812
|
+
|
|
813
|
+
---
|
|
814
|
+
|
|
815
|
+
## 11. Mode Management
|
|
816
|
+
|
|
817
|
+
User-level mode management for operating modes (e.g., after-hours, holiday). These endpoints let the calling-licensed user view and switch operating modes for features they participate in. Tagged as "Mode Management" in the spec.
|
|
818
|
+
|
|
819
|
+
> **Note:** Admin-path equivalents exist at `/telephony/config/people/{personId}/modeManagement/` but only expose `availableFeatures` (GET) and `features` (GET/PUT). The `/me/` surface is significantly richer with 9 endpoints including mode switching actions.
|
|
820
|
+
|
|
821
|
+
### Endpoint Table
|
|
822
|
+
|
|
823
|
+
| Setting | Method | Path Suffix | Admin Equivalent |
|
|
824
|
+
|---------|--------|-------------|-----------------|
|
|
825
|
+
| List Mode Management Features | GET | `settings/modeManagement/features` | `/telephony/config/people/{personId}/modeManagement/features` |
|
|
826
|
+
| Get Common Modes | GET | `settings/modeManagement/features/commonModes` | — |
|
|
827
|
+
| Get Mode Management Feature | GET | `settings/modeManagement/features/{featureId}` | — |
|
|
828
|
+
| Get Normal Operation Mode | GET | `settings/modeManagement/features/{featureId}/normalOperationMode` | — |
|
|
829
|
+
| Get Operating Mode | GET | `settings/modeManagement/features/{featureId}/modes/{modeId}` | — |
|
|
830
|
+
| Switch Mode (Multiple Features) | POST | `settings/modeManagement/features/actions/switchMode/invoke` | — |
|
|
831
|
+
| Switch Mode (Single Feature) | POST | `settings/modeManagement/features/{featureId}/actions/switchMode/invoke` | — |
|
|
832
|
+
| Extend Current Mode Duration | POST | `settings/modeManagement/features/{featureId}/actions/extendMode/invoke` | — |
|
|
833
|
+
| Switch to Normal Operation | POST | `settings/modeManagement/features/{featureId}/actions/switchToNormalOperation/invoke` | — |
|
|
834
|
+
|
|
835
|
+
### Raw HTTP — List Mode Management Features
|
|
836
|
+
|
|
837
|
+
```http
|
|
838
|
+
GET https://webexapis.com/v1/telephony/config/people/me/settings/modeManagement/features
|
|
839
|
+
Authorization: Bearer {user_token}
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
### Raw HTTP — Switch Mode for a Feature
|
|
843
|
+
|
|
844
|
+
```http
|
|
845
|
+
POST https://webexapis.com/v1/telephony/config/people/me/settings/modeManagement/features/{featureId}/actions/switchMode/invoke
|
|
846
|
+
Authorization: Bearer {user_token}
|
|
847
|
+
Content-Type: application/json
|
|
848
|
+
|
|
849
|
+
{
|
|
850
|
+
"modeId": "{mode_id}"
|
|
851
|
+
}
|
|
852
|
+
```
|
|
853
|
+
|
|
854
|
+
### Raw HTTP — Switch to Normal Operation
|
|
855
|
+
|
|
856
|
+
```http
|
|
857
|
+
POST https://webexapis.com/v1/telephony/config/people/me/settings/modeManagement/features/{featureId}/actions/switchToNormalOperation/invoke
|
|
858
|
+
Authorization: Bearer {user_token}
|
|
859
|
+
```
|
|
860
|
+
|
|
861
|
+
**Cross-reference:** CLAUDE.md known issue #3 (mode-management requires calling-licensed user). See also `location-recording-advanced.md` for admin-level operating modes.
|
|
862
|
+
|
|
863
|
+
---
|
|
864
|
+
|
|
865
|
+
## 12. Admin Path Cross-Reference Table
|
|
866
|
+
|
|
867
|
+
Master mapping of every `/me/` endpoint to its admin equivalent. Path suffixes are relative to `/telephony/config/people/me/` (user) and the noted admin base path.
|
|
868
|
+
|
|
869
|
+
| Setting | User Path Suffix | Admin Path | Reference Doc |
|
|
870
|
+
|---------|-----------------|------------|---------------|
|
|
871
|
+
| **User-Only (no admin path)** | | | |
|
|
872
|
+
| Simultaneous Ring | `settings/simultaneousRing` | USER ONLY | person-call-settings-handling.md sec 4 |
|
|
873
|
+
| Simultaneous Ring Criteria | `settings/simultaneousRing/criteria[/{id}]` | USER ONLY | person-call-settings-handling.md sec 4 |
|
|
874
|
+
| Sequential Ring | `settings/sequentialRing` | USER ONLY | person-call-settings-handling.md sec 5 |
|
|
875
|
+
| Sequential Ring Criteria | `settings/sequentialRing/criteria[/{id}]` | USER ONLY | person-call-settings-handling.md sec 5 |
|
|
876
|
+
| Priority Alert | `settings/priorityAlert` | USER ONLY | person-call-settings-handling.md sec 10 |
|
|
877
|
+
| Priority Alert Criteria | `settings/priorityAlert/criteria[/{id}]` | USER ONLY | person-call-settings-handling.md sec 10 |
|
|
878
|
+
| Call Notify | `settings/callNotify` | USER ONLY | person-call-settings-handling.md |
|
|
879
|
+
| Call Notify Criteria | `settings/callNotify/criteria[/{id}]` | USER ONLY | person-call-settings-handling.md |
|
|
880
|
+
| Anonymous Call Reject | `settings/anonymousCallReject` | USER ONLY | person-call-settings-media.md sec 4 |
|
|
881
|
+
| Call Policies | `settings/callPolicies` [BETA] | USER ONLY | person-call-settings-permissions.md sec 5 |
|
|
882
|
+
| **Call Handling** | | | |
|
|
883
|
+
| Call Forwarding | `settings/callForwarding` | `/people/{personId}/features/callForwarding` | person-call-settings-handling.md sec 1 |
|
|
884
|
+
| Call Waiting | `settings/callWaiting` | `/people/{personId}/features/callWaiting` | person-call-settings-handling.md sec 2 |
|
|
885
|
+
| Do Not Disturb | `settings/doNotDisturb` [BETA] | `/people/{personId}/features/doNotDisturb` | person-call-settings-handling.md sec 3 |
|
|
886
|
+
| Selective Accept | `settings/selectiveAccept` | `/telephony/config/people/{personId}/selectiveAccept` | person-call-settings-handling.md sec 7 |
|
|
887
|
+
| Selective Accept Criteria | `settings/selectiveAccept/criteria[/{id}]` | `/telephony/config/people/{personId}/selectiveAccept/criteria[/{id}]` | person-call-settings-handling.md sec 7 |
|
|
888
|
+
| Selective Forward | `settings/selectiveForward` | `/telephony/config/people/{personId}/selectiveForward` | person-call-settings-handling.md sec 8 |
|
|
889
|
+
| Selective Forward Criteria | `settings/selectiveForward/criteria[/{id}]` | `/telephony/config/people/{personId}/selectiveForward/criteria[/{id}]` | person-call-settings-handling.md sec 8 |
|
|
890
|
+
| Selective Reject | `settings/selectiveReject` | `/telephony/config/people/{personId}/selectiveReject` | person-call-settings-handling.md sec 9 |
|
|
891
|
+
| Selective Reject Criteria | `settings/selectiveReject/criteria[/{id}]` | `/telephony/config/people/{personId}/selectiveReject/criteria[/{id}]` | person-call-settings-handling.md sec 9 |
|
|
892
|
+
| Call Block | `settings/callBlock` | — | — |
|
|
893
|
+
| Call Block Numbers | `settings/callBlock/numbers[/{phoneNumberId}]` | — | — |
|
|
894
|
+
| Personal Assistant | `settings/personalAssistant` | `/telephony/config/people/{personId}/features/personalAssistant` | person-call-settings-behavior.md sec 13 |
|
|
895
|
+
| **Executive & Assistant** | | | |
|
|
896
|
+
| Executive Alert | `settings/executive/alert` [BETA] | `/telephony/config/people/{personId}/executive/alert` | person-call-settings-permissions.md sec 4 |
|
|
897
|
+
| Assigned Assistants | `settings/executive/assignedAssistants` | `/telephony/config/people/{personId}/executive/assignedAssistants` | person-call-settings-permissions.md sec 4 |
|
|
898
|
+
| Executive Assistant | `settings/executive/assistant` | `/telephony/config/people/{personId}/executive/assistant` | person-call-settings-permissions.md sec 4 |
|
|
899
|
+
| Available Assistants | `settings/executive/availableAssistants` | `/telephony/config/people/{personId}/executive/availableAssistants` | person-call-settings-permissions.md sec 4 |
|
|
900
|
+
| Call Filtering | `settings/executive/callFiltering` [BETA] | `/telephony/config/people/{personId}/executive/callFiltering` | person-call-settings-permissions.md sec 4 |
|
|
901
|
+
| Call Filtering Criteria | `settings/executive/callFiltering/criteria[/{id}]` [BETA] | `/telephony/config/people/{personId}/executive/callFiltering/criteria[/{id}]` | person-call-settings-permissions.md sec 4 |
|
|
902
|
+
| Screening | `settings/executive/screening` [BETA] | `/telephony/config/people/{personId}/executive/screening` | person-call-settings-permissions.md sec 4 |
|
|
903
|
+
| **Voicemail & Media** | | | |
|
|
904
|
+
| Voicemail | `settings/voicemail` | `/people/{personId}/features/voicemail` | person-call-settings-media.md sec 1 |
|
|
905
|
+
| Voicemail Busy Greeting | `settings/voicemail/actions/busyGreetingUpload/invoke` | `/people/{personId}/features/voicemail/actions/uploadBusyGreeting/invoke` | person-call-settings-media.md sec 1 |
|
|
906
|
+
| Voicemail No Answer Greeting | `settings/voicemail/actions/noAnswerGreetingUpload/invoke` | `/people/{personId}/features/voicemail/actions/uploadNoAnswerGreeting/invoke` | person-call-settings-media.md sec 1 |
|
|
907
|
+
| Voicemail PIN | `voicemail/pin` | — | — |
|
|
908
|
+
| Voicemail Rules | `voicemail/rules` | `/telephony/config/voicemail/rules` (org-level) | — |
|
|
909
|
+
| Caller ID | `settings/callerId` | `/people/{personId}/features/callerId` | person-call-settings-media.md sec 2 |
|
|
910
|
+
| Selected Caller ID | `settings/selectedCallerId` | — | person-call-settings-media.md sec 3 |
|
|
911
|
+
| Available Caller IDs | `settings/availableCallerIds` | `/telephony/config/people/{personId}/agent/availableCallerIds` | person-call-settings-media.md sec 3 |
|
|
912
|
+
| Call Recording | `settings/callRecording` | `/people/{personId}/features/callRecording` | person-call-settings-media.md sec 7 |
|
|
913
|
+
| Barge-In | `settings/bargeIn` [BETA] | `/people/{personId}/features/bargeIn` | person-call-settings-media.md sec 5 |
|
|
914
|
+
| Call Captions | `settings/callCaptions` | `/telephony/config/people/{personId}/callCaptions` | — |
|
|
915
|
+
| WebexGo Override | `settings/webexGoOverride` | — | — |
|
|
916
|
+
| **Endpoints & Devices** | | | |
|
|
917
|
+
| List Endpoints | `endpoints` | `/telephony/config/people/{personId}/devices` | devices-core.md |
|
|
918
|
+
| Endpoint Details | `endpoints/{endpointId}` | — | — |
|
|
919
|
+
| Available Preferred Answer | `settings/availablePreferredAnswerEndpoints` | — | person-call-settings-behavior.md sec 10 |
|
|
920
|
+
| Preferred Answer Endpoint | `settings/preferredAnswerEndpoint` | `/telephony/config/people/{personId}/preferredAnswerEndpoint` | person-call-settings-behavior.md sec 10 |
|
|
921
|
+
| Hoteling Guest | `settings/hoteling/guest` | `/people/{personId}/features/hoteling` | person-call-settings-behavior.md sec 7 |
|
|
922
|
+
| Available Hoteling Hosts | `settings/hoteling/availableHosts` | — | — |
|
|
923
|
+
| **Routing & Groups** | | | |
|
|
924
|
+
| Call Park | `settings/callPark` | — (location-level) | call-features-additional.md |
|
|
925
|
+
| Call Pickup Group | `settings/callPickupGroup` | — (location-level) | call-features-additional.md |
|
|
926
|
+
| Single Number Reach | `settings/singleNumberReach` | `/telephony/config/people/{personId}/singleNumberReach` | person-call-settings-handling.md sec 6 |
|
|
927
|
+
| SNR Numbers | `settings/singleNumberReach/numbers[/{phoneNumberId}]` | `/telephony/config/people/{personId}/singleNumberReach/numbers[/{id}]` | person-call-settings-handling.md sec 6 |
|
|
928
|
+
| Monitoring | `settings/monitoring` | `/people/{personId}/features/monitoring` | person-call-settings-media.md sec 9 |
|
|
929
|
+
| **Queue & Agent** | | | |
|
|
930
|
+
| Call Center (Queues) | `settings/queues` | — | — |
|
|
931
|
+
| Calling Services | `settings/services` | — | — |
|
|
932
|
+
| Contact Center Extensions | `settings/contactCenterExtensions` | — | — |
|
|
933
|
+
| **Mode Management** | | | |
|
|
934
|
+
| Mode Management Features | `settings/modeManagement/features` | `/telephony/config/people/{personId}/modeManagement/features` | location-recording-advanced.md |
|
|
935
|
+
| Common Modes | `settings/modeManagement/features/commonModes` | — | — |
|
|
936
|
+
| Mode Management Feature | `settings/modeManagement/features/{featureId}` | — | — |
|
|
937
|
+
| Normal Operation Mode | `settings/modeManagement/features/{featureId}/normalOperationMode` | — | — |
|
|
938
|
+
| Operating Mode | `settings/modeManagement/features/{featureId}/modes/{modeId}` | — | — |
|
|
939
|
+
| Switch Mode (Multi) | `settings/modeManagement/features/actions/switchMode/invoke` | — | — |
|
|
940
|
+
| Switch Mode (Single) | `settings/modeManagement/features/{featureId}/actions/switchMode/invoke` | — | — |
|
|
941
|
+
| Extend Mode Duration | `settings/modeManagement/features/{featureId}/actions/extendMode/invoke` | — | — |
|
|
942
|
+
| Switch to Normal | `settings/modeManagement/features/{featureId}/actions/switchToNormalOperation/invoke` | — | — |
|
|
943
|
+
| **Location & System** | | | |
|
|
944
|
+
| My Details | (root: `/me`) | `/telephony/config/people/{personId}` | person-call-settings-behavior.md |
|
|
945
|
+
| Announcement Languages | `announcementLanguages` [BETA] | — | — |
|
|
946
|
+
| Country Config | `countries/{countryCode}` [BETA] | — | — |
|
|
947
|
+
| Assigned Numbers | `location/assignedNumbers` | — | — |
|
|
948
|
+
| Location Schedule | `locations/schedules/{scheduleType}/{scheduleId}` | — | — |
|
|
949
|
+
| User Schedules | `schedules` | `/people/{personId}/features/schedules` | — |
|
|
950
|
+
| User Schedule CRUD | `schedules/{scheduleType}/{scheduleId}` | `/people/{personId}/features/schedules/{scheduleType}/{scheduleId}` | — |
|
|
951
|
+
| Schedule Events CRUD | `schedules/.../events[/{eventId}]` | `/people/{personId}/features/schedules/.../events[/{eventId}]` | — |
|
|
952
|
+
| Feature Access Codes | `settings/featureAccessCode` | — | — |
|
|
953
|
+
| Guest Calling Numbers | `settings/guestCalling/numbers` | — | — |
|
|
954
|
+
| **Secondary Line Settings** | | | |
|
|
955
|
+
| Secondary Line Available Caller IDs | `settings/secondaryLines/{lineownerId}/availableCallerIds` | USER ONLY | — |
|
|
956
|
+
| Secondary Line Call Forwarding | `settings/secondaryLines/{lineownerId}/callForwarding` | USER ONLY | — |
|
|
957
|
+
| Secondary Line Call Park | `settings/secondaryLines/{lineownerId}/callPark` | USER ONLY | — |
|
|
958
|
+
| Secondary Line Call Pickup Group | `settings/secondaryLines/{lineownerId}/callPickupGroup` | USER ONLY | — |
|
|
959
|
+
| Secondary Line Call Recording | `settings/secondaryLines/{lineownerId}/callRecording` | USER ONLY | — |
|
|
960
|
+
| Secondary Line Caller ID | `settings/secondaryLines/{lineownerId}/callerId` | USER ONLY | — |
|
|
961
|
+
| Secondary Line Feature Access Codes | `settings/secondaryLines/{lineownerId}/featureAccessCode` | USER ONLY | — |
|
|
962
|
+
| Secondary Line Queues | `settings/secondaryLines/{lineownerId}/queues` | USER ONLY | — |
|
|
963
|
+
| Secondary Line Selected Caller ID | `settings/secondaryLines/{lineownerId}/selectedCallerId` | USER ONLY | — |
|
|
964
|
+
| Secondary Line Calling Services | `settings/secondaryLines/{lineownerId}/services` | USER ONLY | — |
|
|
965
|
+
| Secondary Line Voicemail | `settings/secondaryLines/{lineownerId}/voicemail` | USER ONLY | — |
|
|
966
|
+
| Secondary Line Available Preferred Answer | `settings/secondaryLines/{lineOwnerId}/availablePreferredAnswerEndpoints` | USER ONLY | — |
|
|
967
|
+
| Secondary Line Preferred Answer | `settings/secondaryLines/{lineOwnerId}/preferredAnswerEndpoint` | USER ONLY | — |
|
|
968
|
+
|
|
969
|
+
---
|
|
970
|
+
|
|
971
|
+
## Gotchas
|
|
972
|
+
|
|
973
|
+
1. **Admin tokens do not work on /me/ paths.** All 156 self-service endpoints require user-level OAuth. Admin tokens (from service apps or admin-granted integrations) will get 404 or 401, not a helpful error.
|
|
974
|
+
|
|
975
|
+
2. **User must have Webex Calling license.** Error 4008 ("User not found or not calling-licensed") is returned for all `/me/` endpoints if the authenticated user lacks a Calling license.
|
|
976
|
+
|
|
977
|
+
3. **6 settings have NO admin path.** `simultaneousRing`, `sequentialRing`, `priorityAlert`, `callNotify`, `anonymousCallReject`, and `callPolicies` can only be managed via user OAuth through the `/me/` surface. There is no way for an admin to read or modify these settings on behalf of a user via API.
|
|
978
|
+
|
|
979
|
+
4. **Beta endpoints may change.** Endpoints tagged with `Beta Call Settings For Me With Userhub Phase1` (callPolicies) and several executive/DND endpoints are marked beta. Their schemas may change without notice.
|
|
980
|
+
|
|
981
|
+
5. **Secondary line settings are entirely user-only.** The 13 secondary line endpoints under `settings/secondaryLines/{lineOwnerId}/...` have no admin-path equivalent. Admins cannot manage a user's secondary line settings via API.
|
|
982
|
+
|
|
983
|
+
6. **Path naming differs from admin paths.** Some `/me/` path suffixes differ from admin equivalents:
|
|
984
|
+
- `/me/endpoints` vs admin `/devices`
|
|
985
|
+
- `/me/settings/voicemail/actions/busyGreetingUpload/invoke` vs admin `.../actions/uploadBusyGreeting/invoke`
|
|
986
|
+
- `/me/settings/callBlock` has no admin equivalent at all
|
|
987
|
+
|
|
988
|
+
7. **Read-only settings.** Several settings only expose GET (no PUT): `callRecording`, `callCaptions`, `callPark`, `callPickupGroup`, `monitoring`, `featureAccessCode`, `services`, `availableCallerIds`, `availablePreferredAnswerEndpoints`, `guestCalling/numbers`, `announcementLanguages`, `countries/{countryCode}`, `hoteling/availableHosts`, `voicemail/rules`. These are informational views of settings controlled by the admin.
|
|
989
|
+
|
|
990
|
+
8. **Call Block is self-service only.** The call block feature (personal block list for phone numbers) exists only on the `/me/` surface with no admin equivalent. Users manage their own block list via GET/POST/DELETE on `settings/callBlock/numbers`.
|
|
991
|
+
|
|
992
|
+
9. **Two schedule path families.** User schedules are at `schedules/{scheduleType}/{scheduleId}`, while location-level schedules (read-only to the user) are at `locations/schedules/{scheduleType}/{scheduleId}`.
|
|
993
|
+
|
|
994
|
+
10. **Criteria CRUD pattern.** Eight settings use the criteria sub-resource pattern (simultaneousRing, sequentialRing, priorityAlert, callNotify, selectiveAccept, selectiveForward, selectiveReject, and executive callFiltering). GET on the parent resource returns a `criterias` array with summary objects. Full CRUD on individual criteria uses the `/criteria/{id}` sub-path.
|
|
995
|
+
|
|
996
|
+
11. **Mode management is richer on /me/ than admin.** The admin path only has 2 endpoints (`availableFeatures` GET and `features` GET/PUT) while the `/me/` surface exposes 9 endpoints including mode switching, extending, and normal operation actions. Mode management requires a calling-licensed user (CLAUDE.md known issue #3).
|
|
997
|
+
|
|
998
|
+
12. **Barge-In is tagged Beta.** The `/me/settings/bargeIn` endpoints are tagged `Beta Settings Features For Barge-In`. The admin equivalent at `/people/{personId}/features/bargeIn` is the stable path.
|
|
999
|
+
|
|
1000
|
+
13. **Contact Center Extensions is user-only.** The `contactCenterExtensions` GET endpoint has no admin-path equivalent and no tag assignment in the spec.
|
|
1001
|
+
|
|
1002
|
+
14. **Voicemail PIN and rules use a different path prefix.** Unlike most `/me/` endpoints that use `settings/voicemail`, the PIN and rules endpoints use `voicemail/pin` and `voicemail/rules` (no `settings/` prefix). This mirrors the org-level voicemail rules path at `/telephony/config/voicemail/rules`.
|
|
1003
|
+
|
|
1004
|
+
15. **Voicemail rules are read-only at the user level.** The `voicemail/rules` endpoint only supports GET. Rules are set at the org level via `/telephony/config/voicemail/rules`. The user endpoint returns the rules that apply to them for informational purposes.
|
|
1005
|
+
|
|
1006
|
+
16. **Person telephony config root is admin-only.** The `GET/PUT /telephony/config/people/{personId}` endpoint (timezone and announcement language) requires an admin token (`spark-admin:people_read`/`spark-admin:people_write`). The `/me/` equivalent returns the same fields via the root `GET /telephony/config/people/me` endpoint but only supports GET.
|
|
1007
|
+
|
|
1008
|
+
17. **Hoteling guest vs hoteling host.** The `/me/settings/hoteling/guest` endpoint manages the guest side of hoteling (associating yourself with a host device). The admin-path equivalent at `/people/{personId}/features/hoteling` manages the host side (enabling a person's device to accept guests). These are complementary but asymmetric.
|
|
1009
|
+
|
|
1010
|
+
---
|
|
1011
|
+
|
|
1012
|
+
## See Also
|
|
1013
|
+
|
|
1014
|
+
- [person-call-settings-handling.md](person-call-settings-handling.md) — Call forwarding, waiting, DND, sim/sequential ring, selective accept/forward/reject, priority alert, SNR
|
|
1015
|
+
- [person-call-settings-media.md](person-call-settings-media.md) — Voicemail, caller ID, anonymous call reject, privacy, barge-in, call recording, monitoring
|
|
1016
|
+
- [person-call-settings-permissions.md](person-call-settings-permissions.md) — Incoming/outgoing permissions, feature access, executive/assistant, call policy
|
|
1017
|
+
- [person-call-settings-behavior.md](person-call-settings-behavior.md) — Calling behavior, app services, hoteling, receptionist, numbers, preferred answer, personal assistant
|
|
1018
|
+
- [authentication.md](authentication.md) — OAuth flows, user-level tokens, scopes
|
|
1019
|
+
- [call-features-additional.md](call-features-additional.md) — Call park, call pickup (location-level admin equivalents)
|
|
1020
|
+
- [devices-core.md](devices-core.md) — Device management (admin equivalent of endpoints)
|