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,457 @@
|
|
|
1
|
+
# Contact Center: Journey Data Service (JDS / CJDS)
|
|
2
|
+
|
|
3
|
+
Reference for the Webex Contact Center Customer Journey Data Service — identity resolution,
|
|
4
|
+
person profiles, profile view templates, journey event ingestion, and real-time streaming.
|
|
5
|
+
41 commands in the `cc-journey` CLI group spanning 7 functional areas.
|
|
6
|
+
|
|
7
|
+
> **Regional base URL:** `https://api.wxcc-{region}.cisco.com`
|
|
8
|
+
> **Auth:** `cjp:config_read` / `cjp:config_write` for most operations. JDS admin APIs
|
|
9
|
+
> (`/admin/v1/api/...`) additionally require `cjds:admin_org_read` / `cjds:admin_org_write`.
|
|
10
|
+
> **Set region:** `wxcli set-cc-region <region>` (defaults to us1)
|
|
11
|
+
|
|
12
|
+
**Important:** Journey workspaces are NOT Webex Calling workspaces. JDS workspaces organize
|
|
13
|
+
journey data, persons, templates, and actions. They have no relation to Webex Calling workspaces
|
|
14
|
+
that represent physical rooms/devices.
|
|
15
|
+
|
|
16
|
+
**Path families:**
|
|
17
|
+
- Admin API: `/admin/v1/api/...` — workspace, person, template, and action management
|
|
18
|
+
- Runtime API: `/v1/api/...` — live profile views, event streaming, identity operations
|
|
19
|
+
- Publish API: `/publish/v1/api/...` — event ingestion
|
|
20
|
+
|
|
21
|
+
These do NOT follow the `/organization/{orgid}/` pattern used by all other CC APIs.
|
|
22
|
+
|
|
23
|
+
## Sources
|
|
24
|
+
|
|
25
|
+
- OpenAPI spec: `specs/webex-contact-center.json`
|
|
26
|
+
- developer.webex.com Contact Center APIs
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Table of Contents
|
|
31
|
+
|
|
32
|
+
1. [Workspace Management](#1-workspace-management)
|
|
33
|
+
2. [Person and Identity Management](#2-person-and-identity-management)
|
|
34
|
+
3. [Profile View Templates](#3-profile-view-templates)
|
|
35
|
+
4. [Profile Views and Events](#4-profile-views-and-events)
|
|
36
|
+
5. [Journey Actions](#5-journey-actions)
|
|
37
|
+
6. [WXCC Subscription](#6-wxcc-subscription)
|
|
38
|
+
7. [Data Ingestion](#7-data-ingestion)
|
|
39
|
+
8. [Raw HTTP Endpoint Table](#8-raw-http-endpoint-table)
|
|
40
|
+
9. [Gotchas](#9-gotchas)
|
|
41
|
+
10. [See Also](#10-see-also)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 1. Workspace Management
|
|
46
|
+
|
|
47
|
+
CLI group: `wxcli cc-journey` (5 commands)
|
|
48
|
+
|
|
49
|
+
JDS workspaces are the top-level container for all journey data. A workspace links to one or
|
|
50
|
+
more WXCC subscriptions that feed contact events into the journey stream automatically.
|
|
51
|
+
|
|
52
|
+
| CLI Command | HTTP | Description |
|
|
53
|
+
|-------------|------|-------------|
|
|
54
|
+
| `list` | GET `/admin/v1/api/workspace` | Get all workspaces |
|
|
55
|
+
| `create-workspace` | POST `/admin/v1/api/workspace` | Create workspace |
|
|
56
|
+
| `show-workspace-id-api` | GET `/admin/v1/api/workspace/workspace-id/{workspaceId}` | Get workspace |
|
|
57
|
+
| `update-workspace-id` | PUT `/admin/v1/api/workspace/workspace-id/{workspaceId}` | Update workspace |
|
|
58
|
+
| `delete` | DELETE `/admin/v1/api/workspace/workspace-id/{workspaceId}` | Delete workspace |
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# List all JDS workspaces
|
|
62
|
+
wxcli cc-journey list
|
|
63
|
+
|
|
64
|
+
# Create a workspace
|
|
65
|
+
wxcli cc-journey create-workspace --json-body '{"name": "Sales Journey"}'
|
|
66
|
+
|
|
67
|
+
# Get workspace details (includes wxccSubscriptionIds)
|
|
68
|
+
wxcli cc-journey show-workspace-id-api ws-abc-123
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Workspace response shape:**
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"id": "65cfdcee870a2d0e4a9864b8",
|
|
75
|
+
"name": "My JDS Workspace",
|
|
76
|
+
"description": "...",
|
|
77
|
+
"wxccSubscriptionIds": ["69ff3a55-612f-452f-80d2-884d6d248c9a"]
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
`wxccSubscriptionIds` lists the WXCC subscription UUIDs linked to this workspace. If empty,
|
|
82
|
+
no WXCC events flow in automatically — person records must be created manually or via the
|
|
83
|
+
Publish API.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 2. Person and Identity Management
|
|
88
|
+
|
|
89
|
+
CLI group: `wxcli cc-journey` (10 commands)
|
|
90
|
+
|
|
91
|
+
Persons are the core identity objects in JDS. Each person has typed identity buckets (`phone`,
|
|
92
|
+
`email`, `temporaryId`, `customerId`, `socialId`) and a flattened `aliases` array used for
|
|
93
|
+
lookup and merge matching.
|
|
94
|
+
|
|
95
|
+
| CLI Command | HTTP | Description |
|
|
96
|
+
|-------------|------|-------------|
|
|
97
|
+
| `show-workspace-id-person` | GET `.../person/workspace-id/{workspaceId}` | List all persons |
|
|
98
|
+
| `create-workspace-id-person` | POST `.../person/workspace-id/{workspaceId}` | Create a person |
|
|
99
|
+
| `update-person-id-workspace-id` | PATCH `.../person/workspace-id/{wId}/person-id/{pId}` | Update person |
|
|
100
|
+
| `delete-person-id` | DELETE `.../person/workspace-id/{wId}/person-id/{pId}` | Delete person |
|
|
101
|
+
| `update-person-id-workspace-id-1` | PATCH `.../person/add-identities/workspace-id/{wId}/person-id/{pId}` | Add identities |
|
|
102
|
+
| `update` | PATCH `/v1/api/person/remove-identities/...` | Remove identities (runtime) |
|
|
103
|
+
| `update-person-id-workspace-id-2` | PATCH `.../person/remove-identities/workspace-id/{wId}/person-id/{pId}` | Remove identities (admin) |
|
|
104
|
+
| `show-aliases` | GET `.../person/workspace-id/{wId}/aliases/{aliases}` | Search by alias |
|
|
105
|
+
| `create-workspace-id-merge-identities` | POST `.../person/merge-identities/workspace-id/{wId}` | Merge aliases |
|
|
106
|
+
| `create-primary-person-id` | POST `.../person/merge/workspace-id/{wId}/primary-person-id/{pId}` | Merge to primary |
|
|
107
|
+
|
|
108
|
+
Admin paths are prefixed with `/admin/v1/api`.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# List all persons in a workspace
|
|
112
|
+
wxcli cc-journey show-workspace-id-person ws-abc-123 -o json
|
|
113
|
+
|
|
114
|
+
# Search by alias (use E.164 with + prefix for phone numbers)
|
|
115
|
+
wxcli cc-journey show-aliases ws-abc-123 "+19103915567" -o json
|
|
116
|
+
|
|
117
|
+
# Create a person manually
|
|
118
|
+
wxcli cc-journey create-workspace-id-person ws-abc-123 --json-body '{
|
|
119
|
+
"firstName": "John", "lastName": "Doe",
|
|
120
|
+
"identities": [{"type": "phone", "value": "+15551234567"}]
|
|
121
|
+
}'
|
|
122
|
+
|
|
123
|
+
# Delete a person by ID
|
|
124
|
+
wxcli cc-journey delete-person-id ws-abc-123 person-id-here
|
|
125
|
+
|
|
126
|
+
# Merge identities to a primary person
|
|
127
|
+
wxcli cc-journey create-primary-person-id ws-abc-123 person-001
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Person record shape:**
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"id": "69efeb1d2fb1cb6e298ca0f8",
|
|
134
|
+
"firstName": null,
|
|
135
|
+
"lastName": null,
|
|
136
|
+
"phone": ["+14403967184"],
|
|
137
|
+
"email": [],
|
|
138
|
+
"temporaryId": [],
|
|
139
|
+
"customerId": [],
|
|
140
|
+
"socialId": [],
|
|
141
|
+
"aliases": ["+14403967184"],
|
|
142
|
+
"organizationId": "b8410147-6104-42e8-9b93-639730d983ff",
|
|
143
|
+
"workspaceId": "65cfdcee870a2d0e4a9864b8",
|
|
144
|
+
"override": null,
|
|
145
|
+
"createdAt": "2026-04-27T23:02:53.490Z",
|
|
146
|
+
"createdBy": "journey-stream-profiles",
|
|
147
|
+
"updatedAt": "2026-04-27T23:02:53.490Z",
|
|
148
|
+
"updatedBy": "journey-stream-profiles"
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 3. Profile View Templates
|
|
155
|
+
|
|
156
|
+
CLI group: `wxcli cc-journey` (6 commands)
|
|
157
|
+
|
|
158
|
+
Profile View Templates define which journey data fields are surfaced in the agent desktop
|
|
159
|
+
Customer Journey widget. A template specifies the attributes and layout shown to agents
|
|
160
|
+
during an active contact.
|
|
161
|
+
|
|
162
|
+
| CLI Command | HTTP | Description |
|
|
163
|
+
|-------------|------|-------------|
|
|
164
|
+
| `show-workspace-id-profile-view-template` | GET `.../profile-view-template/workspace-id/{wId}` | List templates |
|
|
165
|
+
| `create-workspace-id-profile-view-template` | POST `.../profile-view-template/workspace-id/{wId}` | Create template |
|
|
166
|
+
| `show-template-id-workspace-id` | GET `.../profile-view-template/workspace-id/{wId}/template-id/{tId}` | Get by ID |
|
|
167
|
+
| `show-template-name-workspace-id` | GET `.../profile-view-template/workspace-id/{wId}/template-name/{name}` | Get by name |
|
|
168
|
+
| `update-template-id` | PUT `.../profile-view-template/workspace-id/{wId}/template-id/{tId}` | Update template |
|
|
169
|
+
| `delete-template-id` | DELETE `.../profile-view-template/workspace-id/{wId}/template-id/{tId}` | Delete template |
|
|
170
|
+
|
|
171
|
+
All paths are prefixed with `/admin/v1/api`.
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# List all profile view templates
|
|
175
|
+
wxcli cc-journey show-workspace-id-profile-view-template ws-abc-123
|
|
176
|
+
|
|
177
|
+
# Get template by name
|
|
178
|
+
wxcli cc-journey show-template-name-workspace-id ws-abc-123 "Customer 360"
|
|
179
|
+
|
|
180
|
+
# Create a template
|
|
181
|
+
wxcli cc-journey create-workspace-id-profile-view-template ws-abc-123 --json-body '{
|
|
182
|
+
"name": "Customer 360",
|
|
183
|
+
"attributes": ["firstName", "lastName", "recentOrders"]
|
|
184
|
+
}'
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 4. Profile Views and Events
|
|
190
|
+
|
|
191
|
+
CLI group: `wxcli cc-journey` (9 commands)
|
|
192
|
+
|
|
193
|
+
Historic and streaming profile view endpoints plus journey event retrieval.
|
|
194
|
+
|
|
195
|
+
| CLI Command | HTTP | Description |
|
|
196
|
+
|-------------|------|-------------|
|
|
197
|
+
| `show` | GET `/admin/v1/api/progressive-profile-view/.../template-name/{name}` | Historic view by person + template name |
|
|
198
|
+
| `show-template-name-person-id` | GET `/v1/api/progressive-profile-view/.../person-id/{pId}/template-name/{name}` | Historic view (runtime) |
|
|
199
|
+
| `show-template-id-identity` | GET `/v1/api/progressive-profile-view/stream/.../identity/{id}/template-id/{tId}` | Stream views by template ID |
|
|
200
|
+
| `show-workspace-id-events` | GET `/v1/api/events/workspace-id/{wId}` | Historic journey events |
|
|
201
|
+
|
|
202
|
+
Additional profile view endpoints provide access by identity + template ID, identity + template name,
|
|
203
|
+
person + template ID, and streaming by template name. All follow the pattern:
|
|
204
|
+
`/v1/api/progressive-profile-view/[stream/]workspace-id/{wId}/{lookup-type}/{value}/template-{id|name}/{template}`
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# Get historic profile view by person and template name
|
|
208
|
+
wxcli cc-journey show ws-abc-123 person-001 "Customer 360"
|
|
209
|
+
|
|
210
|
+
# Stream progressive profile views (SSE — long-lived connection)
|
|
211
|
+
wxcli cc-journey show-template-id-identity ws-abc-123 "+15551234567" tmpl-001
|
|
212
|
+
|
|
213
|
+
# Get all historic journey events for a workspace
|
|
214
|
+
wxcli cc-journey show-workspace-id-events ws-abc-123 -o json
|
|
215
|
+
|
|
216
|
+
# Filter events by type (RSQL syntax)
|
|
217
|
+
wxcli cc-journey show-workspace-id-events ws-abc-123 \
|
|
218
|
+
--identity "+19103915567" \
|
|
219
|
+
--filter "type=='custom:store_verified'" -o json
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## 5. Journey Actions
|
|
225
|
+
|
|
226
|
+
CLI group: `wxcli cc-journey` (7 commands)
|
|
227
|
+
|
|
228
|
+
CLI group: `wxcli cc-journey` (7 commands)
|
|
229
|
+
|
|
230
|
+
Journey actions define automated responses triggered by journey events — webhooks, notifications,
|
|
231
|
+
or other integrations that fire when specific journey conditions are met.
|
|
232
|
+
|
|
233
|
+
| CLI Command | HTTP | Description |
|
|
234
|
+
|-------------|------|-------------|
|
|
235
|
+
| `show-workspace-id-journey-actions` | GET `.../journey-actions/workspace-id/{wId}` | Get all actions |
|
|
236
|
+
| `show-template-id-workspace-id-1` | GET `.../journey-actions/workspace-id/{wId}/template-id/{tId}` | Get actions for template |
|
|
237
|
+
| `create-template-id` | POST `.../journey-actions/workspace-id/{wId}/template-id/{tId}` | Create action |
|
|
238
|
+
| `show-action-name` | GET `.../journey-actions/.../action-name/{name}` | Get action by name |
|
|
239
|
+
| `show-action-id` | GET `.../journey-actions/.../action-id/{actionId}` | Get action by ID |
|
|
240
|
+
| `update-action-id` | PUT `.../journey-actions/.../action-id/{actionId}` | Update action |
|
|
241
|
+
| `delete-action-id` | DELETE `.../journey-actions/.../action-id/{actionId}` | Delete action |
|
|
242
|
+
|
|
243
|
+
All paths are prefixed with `/admin/v1/api`.
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# List all journey actions
|
|
247
|
+
wxcli cc-journey show-workspace-id-journey-actions ws-abc-123
|
|
248
|
+
|
|
249
|
+
# Create an action
|
|
250
|
+
wxcli cc-journey create-template-id ws-abc-123 tmpl-001 --json-body '{
|
|
251
|
+
"name": "Send Welcome Email",
|
|
252
|
+
"type": "webhook",
|
|
253
|
+
"config": {"url": "https://example.com/webhook"}
|
|
254
|
+
}'
|
|
255
|
+
|
|
256
|
+
# Get action by name
|
|
257
|
+
wxcli cc-journey show-action-name ws-abc-123 tmpl-001 "Send Welcome Email"
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## 6. WXCC Subscription
|
|
263
|
+
|
|
264
|
+
CLI group: `wxcli cc-journey` (3 commands)
|
|
265
|
+
|
|
266
|
+
Manage the WXCC event subscription that feeds journey data from the contact center into JDS.
|
|
267
|
+
When a subscription is active, every WXCC contact event (`task:new`, `task:ended`, etc.) is
|
|
268
|
+
consumed by `journey-stream-profiles`, which creates or updates person records automatically.
|
|
269
|
+
A workspace with no subscription receives no automatic data — records must be created manually
|
|
270
|
+
or via the Publish API.
|
|
271
|
+
|
|
272
|
+
| CLI Command | HTTP | Description |
|
|
273
|
+
|-------------|------|-------------|
|
|
274
|
+
| `show-workspace-id-wxcc-subscription` | GET `.../wxcc-subscription/workspace-id/{wId}` | Get subscription |
|
|
275
|
+
| `create` | POST `.../wxcc-subscription/workspace-id/{wId}` | Create subscription |
|
|
276
|
+
| `delete-workspace-id` | DELETE `.../wxcc-subscription/workspace-id/{wId}` | Delete subscription |
|
|
277
|
+
|
|
278
|
+
All paths are prefixed with `/admin/v1/api`.
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
# Check WXCC subscription status
|
|
282
|
+
wxcli cc-journey show-workspace-id-wxcc-subscription ws-abc-123
|
|
283
|
+
|
|
284
|
+
# Create WXCC subscription (links workspace to WXCC event stream)
|
|
285
|
+
wxcli cc-journey create ws-abc-123
|
|
286
|
+
|
|
287
|
+
# Delete WXCC subscription
|
|
288
|
+
wxcli cc-journey delete-workspace-id ws-abc-123
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 7. Data Ingestion
|
|
294
|
+
|
|
295
|
+
CLI group: `wxcli cc-journey` (1 command)
|
|
296
|
+
|
|
297
|
+
Post custom journey events from external systems, flows, or applications. Events follow the
|
|
298
|
+
CloudEvents 1.0 specification and are ingested asynchronously.
|
|
299
|
+
|
|
300
|
+
| CLI Command | HTTP | Description |
|
|
301
|
+
|-------------|------|-------------|
|
|
302
|
+
| `create-event` | POST `/publish/v1/api/event?workspaceId={wId}` | Post a journey event |
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
# Publish a custom journey event
|
|
306
|
+
wxcli cc-journey create-event --json-body '{
|
|
307
|
+
"id": "unique-event-id",
|
|
308
|
+
"specversion": "1.0",
|
|
309
|
+
"type": "custom:store_verified",
|
|
310
|
+
"source": "wxcc_flow",
|
|
311
|
+
"identity": "+15551234567",
|
|
312
|
+
"identitytype": "phone",
|
|
313
|
+
"datacontenttype": "application/json",
|
|
314
|
+
"data": {"event": "store_verified"}
|
|
315
|
+
}'
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
**Raw HTTP:**
|
|
319
|
+
```http
|
|
320
|
+
POST https://api.wxcc-us1.cisco.com/publish/v1/api/event?workspaceId={workspaceId}
|
|
321
|
+
Authorization: Bearer {cc_token}
|
|
322
|
+
Content-Type: application/json
|
|
323
|
+
|
|
324
|
+
{
|
|
325
|
+
"id": "unique-event-id",
|
|
326
|
+
"specversion": "1.0",
|
|
327
|
+
"type": "custom:store_verified",
|
|
328
|
+
"source": "wxcc_flow",
|
|
329
|
+
"identity": "+15551234567",
|
|
330
|
+
"identitytype": "phone",
|
|
331
|
+
"datacontenttype": "application/json",
|
|
332
|
+
"data": {"event": "store_verified"}
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
Returns `"Accepted for processing"` on success (202). Events are immutable once ingested.
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## 8. Raw HTTP Endpoint Table
|
|
341
|
+
|
|
342
|
+
All JDS endpoints. Admin paths require `cjds:admin_org_read`/`cjds:admin_org_write`.
|
|
343
|
+
|
|
344
|
+
### Workspace
|
|
345
|
+
|
|
346
|
+
| Method | Path | Description |
|
|
347
|
+
|--------|------|-------------|
|
|
348
|
+
| GET | `/admin/v1/api/workspace` | List all workspaces |
|
|
349
|
+
| POST | `/admin/v1/api/workspace` | Create workspace |
|
|
350
|
+
| GET | `/admin/v1/api/workspace/workspace-id/{wId}` | Get workspace |
|
|
351
|
+
| PUT | `/admin/v1/api/workspace/workspace-id/{wId}` | Update workspace |
|
|
352
|
+
| DELETE | `/admin/v1/api/workspace/workspace-id/{wId}` | Delete workspace |
|
|
353
|
+
|
|
354
|
+
### Person
|
|
355
|
+
|
|
356
|
+
| Method | Path | Description |
|
|
357
|
+
|--------|------|-------------|
|
|
358
|
+
| GET | `/admin/v1/api/person/workspace-id/{wId}` | List persons |
|
|
359
|
+
| POST | `/admin/v1/api/person/workspace-id/{wId}` | Create person |
|
|
360
|
+
| PATCH | `/admin/v1/api/person/workspace-id/{wId}/person-id/{pId}` | Update person |
|
|
361
|
+
| DELETE | `/admin/v1/api/person/workspace-id/{wId}/person-id/{pId}` | Delete person |
|
|
362
|
+
| GET | `/admin/v1/api/person/workspace-id/{wId}/aliases/{alias}` | Search by alias |
|
|
363
|
+
| PATCH | `/admin/v1/api/person/add-identities/workspace-id/{wId}/person-id/{pId}` | Add identities |
|
|
364
|
+
| PATCH | `/admin/v1/api/person/remove-identities/workspace-id/{wId}/person-id/{pId}` | Remove identities (admin) |
|
|
365
|
+
| PATCH | `/v1/api/person/remove-identities/workspace-id/{wId}/person-id/{pId}` | Remove identities (runtime) |
|
|
366
|
+
| POST | `/admin/v1/api/person/merge-identities/workspace-id/{wId}` | Merge aliases |
|
|
367
|
+
| POST | `/admin/v1/api/person/merge/workspace-id/{wId}/primary-person-id/{pId}` | Merge to primary |
|
|
368
|
+
|
|
369
|
+
### Profile View Templates
|
|
370
|
+
|
|
371
|
+
| Method | Path | Description |
|
|
372
|
+
|--------|------|-------------|
|
|
373
|
+
| GET | `/admin/v1/api/profile-view-template/workspace-id/{wId}` | List templates |
|
|
374
|
+
| POST | `/admin/v1/api/profile-view-template/workspace-id/{wId}` | Create template |
|
|
375
|
+
| GET | `/admin/v1/api/profile-view-template/workspace-id/{wId}/template-id/{tId}` | Get by ID |
|
|
376
|
+
| GET | `/admin/v1/api/profile-view-template/workspace-id/{wId}/template-name/{name}` | Get by name |
|
|
377
|
+
| PUT | `/admin/v1/api/profile-view-template/workspace-id/{wId}/template-id/{tId}` | Update |
|
|
378
|
+
| DELETE | `/admin/v1/api/profile-view-template/workspace-id/{wId}/template-id/{tId}` | Delete |
|
|
379
|
+
|
|
380
|
+
### Profile Views (Progressive)
|
|
381
|
+
|
|
382
|
+
| Method | Path | Description |
|
|
383
|
+
|--------|------|-------------|
|
|
384
|
+
| GET | `/admin/v1/api/progressive-profile-view/.../person-id/{pId}/template-name/{name}` | Historic view (person + name, admin) |
|
|
385
|
+
| GET | `/v1/api/progressive-profile-view/.../person-id/{pId}/template-name/{name}` | Historic view (person + name, runtime) |
|
|
386
|
+
| GET | `/v1/api/progressive-profile-view/.../person-id/{pId}/template-id/{tId}` | Historic view (person + template ID) |
|
|
387
|
+
| GET | `/v1/api/progressive-profile-view/.../identity/{id}/template-id/{tId}` | Historic view (identity + template ID) |
|
|
388
|
+
| GET | `/v1/api/progressive-profile-view/.../identity/{id}/template-name/{name}` | Historic view (identity + name) |
|
|
389
|
+
| GET | `/v1/api/progressive-profile-view/stream/.../identity/{id}/template-id/{tId}` | Stream views (template ID) |
|
|
390
|
+
| GET | `/v1/api/progressive-profile-view/stream/.../identity/{id}/template-name/{name}` | Stream views (template name) |
|
|
391
|
+
|
|
392
|
+
### Events
|
|
393
|
+
|
|
394
|
+
| Method | Path | Description |
|
|
395
|
+
|--------|------|-------------|
|
|
396
|
+
| GET | `/v1/api/events/workspace-id/{wId}` | Historic events |
|
|
397
|
+
| GET | `/v1/api/events/stream/workspace-id/{wId}/identity/{identity}` | Stream events by identity |
|
|
398
|
+
| POST | `/publish/v1/api/event?workspaceId={wId}` | Post journey event |
|
|
399
|
+
|
|
400
|
+
### Journey Actions
|
|
401
|
+
|
|
402
|
+
| Method | Path | Description |
|
|
403
|
+
|--------|------|-------------|
|
|
404
|
+
| GET | `/admin/v1/api/journey-actions/workspace-id/{wId}` | Get all actions |
|
|
405
|
+
| GET | `/admin/v1/api/journey-actions/workspace-id/{wId}/template-id/{tId}` | Get for template |
|
|
406
|
+
| POST | `/admin/v1/api/journey-actions/workspace-id/{wId}/template-id/{tId}` | Create action |
|
|
407
|
+
| GET | `/admin/v1/api/journey-actions/.../template-id/{tId}/action-id/{aId}` | Get by ID |
|
|
408
|
+
| GET | `/admin/v1/api/journey-actions/.../template-id/{tId}/action-name/{name}` | Get by name |
|
|
409
|
+
| PUT | `/admin/v1/api/journey-actions/.../template-id/{tId}/action-id/{aId}` | Update |
|
|
410
|
+
| DELETE | `/admin/v1/api/journey-actions/.../template-id/{tId}/action-id/{aId}` | Delete |
|
|
411
|
+
|
|
412
|
+
### WXCC Subscription
|
|
413
|
+
|
|
414
|
+
| Method | Path | Description |
|
|
415
|
+
|--------|------|-------------|
|
|
416
|
+
| GET | `/admin/v1/api/wxcc-subscription/workspace-id/{wId}` | Get subscription |
|
|
417
|
+
| POST | `/admin/v1/api/wxcc-subscription/workspace-id/{wId}` | Create subscription |
|
|
418
|
+
| DELETE | `/admin/v1/api/wxcc-subscription/workspace-id/{wId}` | Delete subscription |
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
## 9. Gotchas
|
|
423
|
+
|
|
424
|
+
1. **JDS APIs use completely different path patterns from the CC config API.** Three path families: `/admin/v1/api/` (admin management), `/v1/api/` (runtime queries and streaming), `/publish/v1/api/` (event ingestion). These do not follow the `/organization/{orgid}/` pattern used by all other CC APIs.
|
|
425
|
+
|
|
426
|
+
2. **JDS admin operations require separate `cjds:` scopes.** The standard `cjp:config_read`/`cjp:config_write` scopes do NOT grant access to JDS admin APIs (`/admin/v1/api/...`). You also need `cjds:admin_org_read` and/or `cjds:admin_org_write`. Without these, workspace and person management calls return 403.
|
|
427
|
+
|
|
428
|
+
3. **`task:new` is the event that triggers JDS person record creation.** When a caller first contacts WXCC, the platform fires `task:new`. `journey-stream-profiles` consumes this and creates the JDS person record using the caller's ANI in E.164 format. The record appears within seconds. At the exact moment `task:new` fires the record may not yet exist — but by the time a flow HTTP node queries JDS (a few seconds later), it will be present.
|
|
429
|
+
|
|
430
|
+
4. **WXCC writes ANI to JDS in E.164 format.** Phone numbers are stored as `+19103915567`, not `9103915567`. Alias lookups from a flow must pass the number with `+1` prefix or they will miss.
|
|
431
|
+
|
|
432
|
+
5. **Alias lookup strips `+` but does not normalize the country code.** `9103915567`, `19103915567`, and `+19103915567` are three distinct aliases — they will not cross-match. The `+` is stripped before matching, so `+19103915567` matches `19103915567` in `aliases`, but `9103915567` is a completely separate alias.
|
|
433
|
+
|
|
434
|
+
6. **`createdAt == updatedAt` signals a first-time caller.** A person record where both timestamps are equal and `createdBy` is `journey-stream-profiles` was just created by the current contact — this is their first interaction. A returning caller's record will have `updatedAt > createdAt` or prior events predating the current contact.
|
|
435
|
+
|
|
436
|
+
7. **Publish API requires `workspaceId` as a query parameter, not in the body.** POST `/publish/v1/api/event?workspaceId={workspaceId}`. The `JourneyCloudEventModel` body schema has no `workspaceId` field. Required body fields: `id`, `specversion`, `type`, `source`, `identity`, `identitytype`, `datacontenttype`, `data`.
|
|
437
|
+
|
|
438
|
+
8. **Events are immutable — no delete endpoint exists.** The Publish API is write-only. The events read endpoints are GET-only. Once an event is ingested it cannot be removed.
|
|
439
|
+
|
|
440
|
+
9. **Events filter uses RSQL syntax.** Pass `?filter=type=='custom:store_verified'` to filter by event type. A plain string returns `BAD_REQUEST`. Other filterable fields include `identityType`. See the [RSQL syntax reference](https://github.com/perplexhub/rsql-jpa-specification#rsql-syntax-reference).
|
|
441
|
+
|
|
442
|
+
10. **Journey streaming endpoints (SSE) are long-lived connections.** The CLI may time out — use `--debug` to see the raw SSE stream or use raw HTTP with an SSE-capable client.
|
|
443
|
+
|
|
444
|
+
11. **`wxcli cc-journey show-workspace-id-events` had a missing `/v1/` prefix bug.** Fixed in the current CLI. Both commands now correctly hit `/v1/api/events/...`.
|
|
445
|
+
|
|
446
|
+
12. **Flow Designer HTTP connector requires a full absolute URL.** Relative paths like `/publish/v1/api/event` return HTTP 500 "is not a valid HTTP URL". Always use `https://api.wxcc-{region}.cisco.com/publish/v1/api/event?workspaceId=...`.
|
|
447
|
+
|
|
448
|
+
13. **For Flow Designer JDS patterns (returning caller detection, posting events from flows), see `contact-center-routing.md` gotchas #16–18.**
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## 10. See Also
|
|
453
|
+
|
|
454
|
+
- [Contact Center: Analytics](contact-center-analytics.md) — AI features, monitoring, subscriptions, tasks, search
|
|
455
|
+
- [Contact Center: Routing](contact-center-routing.md) — Flow Designer JDS integration patterns (#16–18)
|
|
456
|
+
- [Contact Center: Core](contact-center-core.md) — Agents, queues, teams, skills
|
|
457
|
+
- [Authentication](authentication.md) — `cjp:` and `cjds:` OAuth scopes
|