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.
Files changed (413) hide show
  1. wxcli/__init__.py +4 -0
  2. wxcli/_playbook/.claude/agents/migration-advisor.md +239 -0
  3. wxcli/_playbook/.claude/agents/wxc-calling-builder.md +946 -0
  4. wxcli/_playbook/.claude/rules/cleanup.md +29 -0
  5. wxcli/_playbook/.claude/rules/cucm-migration.md +58 -0
  6. wxcli/_playbook/.claude/rules/org-health.md +14 -0
  7. wxcli/_playbook/.claude/settings.json +8 -0
  8. wxcli/_playbook/.claude/skills/audit-compliance/SKILL.md +515 -0
  9. wxcli/_playbook/.claude/skills/call-control/SKILL.md +747 -0
  10. wxcli/_playbook/.claude/skills/configure-features/SKILL.md +623 -0
  11. wxcli/_playbook/.claude/skills/configure-routing/SKILL.md +627 -0
  12. wxcli/_playbook/.claude/skills/contact-center/SKILL.md +1181 -0
  13. wxcli/_playbook/.claude/skills/cucm-migrate/SKILL.md +820 -0
  14. wxcli/_playbook/.claude/skills/customer-assist/SKILL.md +443 -0
  15. wxcli/_playbook/.claude/skills/device-platform/SKILL.md +407 -0
  16. wxcli/_playbook/.claude/skills/manage-call-settings/SKILL.md +757 -0
  17. wxcli/_playbook/.claude/skills/manage-devices/SKILL.md +790 -0
  18. wxcli/_playbook/.claude/skills/manage-identity/SKILL.md +638 -0
  19. wxcli/_playbook/.claude/skills/manage-licensing/SKILL.md +528 -0
  20. wxcli/_playbook/.claude/skills/manage-meetings/SKILL.md +708 -0
  21. wxcli/_playbook/.claude/skills/messaging-bots/SKILL.md +365 -0
  22. wxcli/_playbook/.claude/skills/messaging-spaces/SKILL.md +520 -0
  23. wxcli/_playbook/.claude/skills/org-health/SKILL.md +159 -0
  24. wxcli/_playbook/.claude/skills/provision-calling/SKILL.md +421 -0
  25. wxcli/_playbook/.claude/skills/query-live/SKILL.md +183 -0
  26. wxcli/_playbook/.claude/skills/query-live/domains/call-flow-trace.md +223 -0
  27. wxcli/_playbook/.claude/skills/query-live/domains/call-history.md +44 -0
  28. wxcli/_playbook/.claude/skills/query-live/domains/features.md +169 -0
  29. wxcli/_playbook/.claude/skills/query-live/domains/numbers.md +93 -0
  30. wxcli/_playbook/.claude/skills/query-live/domains/people-and-settings.md +146 -0
  31. wxcli/_playbook/.claude/skills/query-live/domains/routing.md +124 -0
  32. wxcli/_playbook/.claude/skills/reporting/SKILL.md +501 -0
  33. wxcli/_playbook/.claude/skills/reporting/references/cdr-recipes.md +1628 -0
  34. wxcli/_playbook/.claude/skills/reporting-cc/SKILL.md +251 -0
  35. wxcli/_playbook/.claude/skills/reporting-meetings/SKILL.md +290 -0
  36. wxcli/_playbook/.claude/skills/teardown/SKILL.md +214 -0
  37. wxcli/_playbook/.claude/skills/video-mesh/SKILL.md +379 -0
  38. wxcli/_playbook/.claude/skills/wxc-calling-debug/SKILL.md +475 -0
  39. wxcli/_playbook/CLAUDE.md +373 -0
  40. wxcli/_playbook/docs/reference/CLAUDE.md +25 -0
  41. wxcli/_playbook/docs/reference/admin-apps-data.md +643 -0
  42. wxcli/_playbook/docs/reference/admin-audit-security.md +322 -0
  43. wxcli/_playbook/docs/reference/admin-hybrid.md +383 -0
  44. wxcli/_playbook/docs/reference/admin-identity-scim.md +1007 -0
  45. wxcli/_playbook/docs/reference/admin-licensing.md +414 -0
  46. wxcli/_playbook/docs/reference/admin-org-management.md +586 -0
  47. wxcli/_playbook/docs/reference/admin-partner.md +357 -0
  48. wxcli/_playbook/docs/reference/archive/wxc-sdk-patterns.md +1229 -0
  49. wxcli/_playbook/docs/reference/archive/wxcadm-advanced.md +835 -0
  50. wxcli/_playbook/docs/reference/archive/wxcadm-core.md +743 -0
  51. wxcli/_playbook/docs/reference/archive/wxcadm-devices-workspaces.md +1305 -0
  52. wxcli/_playbook/docs/reference/archive/wxcadm-features.md +849 -0
  53. wxcli/_playbook/docs/reference/archive/wxcadm-locations.md +938 -0
  54. wxcli/_playbook/docs/reference/archive/wxcadm-person.md +1255 -0
  55. wxcli/_playbook/docs/reference/archive/wxcadm-routing.md +1262 -0
  56. wxcli/_playbook/docs/reference/authentication.md +965 -0
  57. wxcli/_playbook/docs/reference/call-control.md +1205 -0
  58. wxcli/_playbook/docs/reference/call-features-additional.md +2541 -0
  59. wxcli/_playbook/docs/reference/call-features-major.md +1320 -0
  60. wxcli/_playbook/docs/reference/call-routing.md +2304 -0
  61. wxcli/_playbook/docs/reference/contact-center-analytics.md +1049 -0
  62. wxcli/_playbook/docs/reference/contact-center-core.md +1614 -0
  63. wxcli/_playbook/docs/reference/contact-center-journey.md +457 -0
  64. wxcli/_playbook/docs/reference/contact-center-routing.md +1138 -0
  65. wxcli/_playbook/docs/reference/devices-core.md +1869 -0
  66. wxcli/_playbook/docs/reference/devices-dect.md +1150 -0
  67. wxcli/_playbook/docs/reference/devices-platform.md +467 -0
  68. wxcli/_playbook/docs/reference/devices-workspaces.md +1426 -0
  69. wxcli/_playbook/docs/reference/emergency-services.md +1122 -0
  70. wxcli/_playbook/docs/reference/location-calling-core.md +2037 -0
  71. wxcli/_playbook/docs/reference/location-calling-media.md +1334 -0
  72. wxcli/_playbook/docs/reference/location-recording-advanced.md +1482 -0
  73. wxcli/_playbook/docs/reference/meetings-content.md +473 -0
  74. wxcli/_playbook/docs/reference/meetings-core.md +903 -0
  75. wxcli/_playbook/docs/reference/meetings-infrastructure.md +899 -0
  76. wxcli/_playbook/docs/reference/meetings-settings.md +850 -0
  77. wxcli/_playbook/docs/reference/messaging-bots.md +1091 -0
  78. wxcli/_playbook/docs/reference/messaging-spaces.md +695 -0
  79. wxcli/_playbook/docs/reference/person-call-settings-behavior.md +1639 -0
  80. wxcli/_playbook/docs/reference/person-call-settings-handling.md +1394 -0
  81. wxcli/_playbook/docs/reference/person-call-settings-media.md +1898 -0
  82. wxcli/_playbook/docs/reference/person-call-settings-permissions.md +1329 -0
  83. wxcli/_playbook/docs/reference/provisioning.md +1366 -0
  84. wxcli/_playbook/docs/reference/reporting-analytics.md +1318 -0
  85. wxcli/_playbook/docs/reference/self-service-call-settings.md +1020 -0
  86. wxcli/_playbook/docs/reference/virtual-lines.md +1132 -0
  87. wxcli/_playbook/docs/reference/webhooks-events.md +1444 -0
  88. wxcli/_playbook/docs/reference/wxcadm-xsi-realtime.md +953 -0
  89. wxcli/_version.py +24 -0
  90. wxcli/auth.py +137 -0
  91. wxcli/commands/__init__.py +0 -0
  92. wxcli/commands/_registry.py +181 -0
  93. wxcli/commands/activation_email.py +103 -0
  94. wxcli/commands/admin_recordings.py +585 -0
  95. wxcli/commands/analytics.py +105 -0
  96. wxcli/commands/announcement_playlists.py +219 -0
  97. wxcli/commands/announcements.py +519 -0
  98. wxcli/commands/archive_users.py +36 -0
  99. wxcli/commands/attachment_actions.py +60 -0
  100. wxcli/commands/audit_events.py +83 -0
  101. wxcli/commands/authorizations.py +113 -0
  102. wxcli/commands/auto_attendant.py +642 -0
  103. wxcli/commands/broadworks_billing_reports.py +126 -0
  104. wxcli/commands/broadworks_enterprises.py +160 -0
  105. wxcli/commands/broadworks_subscribers.py +319 -0
  106. wxcli/commands/broadworks_workspaces.py +108 -0
  107. wxcli/commands/call_controls.py +1304 -0
  108. wxcli/commands/call_park.py +494 -0
  109. wxcli/commands/call_pickup.py +229 -0
  110. wxcli/commands/call_queue.py +1878 -0
  111. wxcli/commands/call_recording.py +707 -0
  112. wxcli/commands/call_routing.py +1610 -0
  113. wxcli/commands/call_settings_for_me_phase_5.py +212 -0
  114. wxcli/commands/caller_reputation.py +169 -0
  115. wxcli/commands/calling_service.py +305 -0
  116. wxcli/commands/cc_address_book.py +770 -0
  117. wxcli/commands/cc_agent_greetings.py +242 -0
  118. wxcli/commands/cc_agent_summaries.py +39 -0
  119. wxcli/commands/cc_agent_wellbeing.py +216 -0
  120. wxcli/commands/cc_agents.py +425 -0
  121. wxcli/commands/cc_ai_assistant.py +55 -0
  122. wxcli/commands/cc_ai_feature.py +294 -0
  123. wxcli/commands/cc_audio_files.py +149 -0
  124. wxcli/commands/cc_auto_csat.py +311 -0
  125. wxcli/commands/cc_aux_code.py +458 -0
  126. wxcli/commands/cc_business_hour.py +353 -0
  127. wxcli/commands/cc_call_monitoring.py +228 -0
  128. wxcli/commands/cc_callbacks.py +194 -0
  129. wxcli/commands/cc_campaign.py +212 -0
  130. wxcli/commands/cc_captures.py +39 -0
  131. wxcli/commands/cc_contact_list.py +169 -0
  132. wxcli/commands/cc_contact_number.py +295 -0
  133. wxcli/commands/cc_data_sources.py +235 -0
  134. wxcli/commands/cc_desktop_layout.py +380 -0
  135. wxcli/commands/cc_desktop_profile.py +322 -0
  136. wxcli/commands/cc_dial_number.py +511 -0
  137. wxcli/commands/cc_dial_plan.py +347 -0
  138. wxcli/commands/cc_dnc.py +101 -0
  139. wxcli/commands/cc_entry_point.py +545 -0
  140. wxcli/commands/cc_ewt.py +51 -0
  141. wxcli/commands/cc_flow.py +477 -0
  142. wxcli/commands/cc_global_vars.py +430 -0
  143. wxcli/commands/cc_holiday_list.py +335 -0
  144. wxcli/commands/cc_journey.py +1261 -0
  145. wxcli/commands/cc_legacy_flows.py +49 -0
  146. wxcli/commands/cc_multimedia_profile.py +436 -0
  147. wxcli/commands/cc_notification.py +51 -0
  148. wxcli/commands/cc_outdial_ani.py +604 -0
  149. wxcli/commands/cc_overrides.py +341 -0
  150. wxcli/commands/cc_queue.py +1083 -0
  151. wxcli/commands/cc_queue_stats.py +55 -0
  152. wxcli/commands/cc_realtime.py +51 -0
  153. wxcli/commands/cc_resource_collection.py +312 -0
  154. wxcli/commands/cc_search.py +46 -0
  155. wxcli/commands/cc_site.py +400 -0
  156. wxcli/commands/cc_skill.py +350 -0
  157. wxcli/commands/cc_skill_profile.py +289 -0
  158. wxcli/commands/cc_subscriptions.py +426 -0
  159. wxcli/commands/cc_summaries.py +130 -0
  160. wxcli/commands/cc_tasks.py +844 -0
  161. wxcli/commands/cc_team.py +325 -0
  162. wxcli/commands/cc_user_profiles.py +349 -0
  163. wxcli/commands/cc_users.py +701 -0
  164. wxcli/commands/cc_work_types.py +363 -0
  165. wxcli/commands/cdr.py +89 -0
  166. wxcli/commands/classifications.py +38 -0
  167. wxcli/commands/cleanup.py +1427 -0
  168. wxcli/commands/client_settings.py +72 -0
  169. wxcli/commands/conference.py +328 -0
  170. wxcli/commands/configure.py +72 -0
  171. wxcli/commands/converged_recordings.py +347 -0
  172. wxcli/commands/converged_recordings_export.py +310 -0
  173. wxcli/commands/cq_playlists.py +42 -0
  174. wxcli/commands/cucm.py +2794 -0
  175. wxcli/commands/cucm_config.py +129 -0
  176. wxcli/commands/customer_assist.py +373 -0
  177. wxcli/commands/data_sources.py +227 -0
  178. wxcli/commands/dect_devices.py +787 -0
  179. wxcli/commands/device_configurations.py +77 -0
  180. wxcli/commands/device_dynamic_settings.py +320 -0
  181. wxcli/commands/device_settings.py +1489 -0
  182. wxcli/commands/devices.py +280 -0
  183. wxcli/commands/domains.py +142 -0
  184. wxcli/commands/ecm.py +178 -0
  185. wxcli/commands/emergency_services.py +827 -0
  186. wxcli/commands/events.py +83 -0
  187. wxcli/commands/external_voicemail.py +52 -0
  188. wxcli/commands/groups.py +206 -0
  189. wxcli/commands/guest_management.py +76 -0
  190. wxcli/commands/hds.py +340 -0
  191. wxcli/commands/hot_desk.py +67 -0
  192. wxcli/commands/hot_desking_members.py +118 -0
  193. wxcli/commands/hot_desking_portal.py +124 -0
  194. wxcli/commands/hunt_group.py +577 -0
  195. wxcli/commands/hybrid_clusters.py +71 -0
  196. wxcli/commands/hybrid_connectors.py +67 -0
  197. wxcli/commands/identity_org.py +159 -0
  198. wxcli/commands/init_playbook.py +155 -0
  199. wxcli/commands/licenses.py +106 -0
  200. wxcli/commands/live_monitoring.py +40 -0
  201. wxcli/commands/location_call_handling.py +577 -0
  202. wxcli/commands/location_schedules.py +341 -0
  203. wxcli/commands/location_settings.py +1297 -0
  204. wxcli/commands/location_voicemail.py +494 -0
  205. wxcli/commands/locations.py +336 -0
  206. wxcli/commands/meeting_captions.py +110 -0
  207. wxcli/commands/meeting_chats.py +63 -0
  208. wxcli/commands/meeting_invitees.py +234 -0
  209. wxcli/commands/meeting_messages.py +28 -0
  210. wxcli/commands/meeting_participants.py +278 -0
  211. wxcli/commands/meeting_polls.py +111 -0
  212. wxcli/commands/meeting_preferences.py +515 -0
  213. wxcli/commands/meeting_qa.py +78 -0
  214. wxcli/commands/meeting_qualities.py +43 -0
  215. wxcli/commands/meeting_reports.py +101 -0
  216. wxcli/commands/meeting_session_types.py +105 -0
  217. wxcli/commands/meeting_site.py +57 -0
  218. wxcli/commands/meeting_slido.py +44 -0
  219. wxcli/commands/meeting_summaries.py +92 -0
  220. wxcli/commands/meeting_tracking_codes.py +233 -0
  221. wxcli/commands/meeting_transcripts.py +230 -0
  222. wxcli/commands/meetings.py +1997 -0
  223. wxcli/commands/memberships.py +164 -0
  224. wxcli/commands/messages.py +213 -0
  225. wxcli/commands/mode_management.py +244 -0
  226. wxcli/commands/my_call_settings.py +3577 -0
  227. wxcli/commands/numbers.py +405 -0
  228. wxcli/commands/operating_modes.py +410 -0
  229. wxcli/commands/org_contacts.py +284 -0
  230. wxcli/commands/org_health_cli.py +55 -0
  231. wxcli/commands/org_settings.py +71 -0
  232. wxcli/commands/organizations.py +83 -0
  233. wxcli/commands/paging_group.py +257 -0
  234. wxcli/commands/partner_admins.py +141 -0
  235. wxcli/commands/partner_reports.py +188 -0
  236. wxcli/commands/partner_tags.py +216 -0
  237. wxcli/commands/people.py +279 -0
  238. wxcli/commands/person_call_settings.py +71 -0
  239. wxcli/commands/pstn.py +280 -0
  240. wxcli/commands/recording_report.py +154 -0
  241. wxcli/commands/report_templates.py +38 -0
  242. wxcli/commands/reports.py +144 -0
  243. wxcli/commands/resource_group_memberships.py +160 -0
  244. wxcli/commands/resource_groups.py +67 -0
  245. wxcli/commands/roles.py +63 -0
  246. wxcli/commands/room_tabs.py +160 -0
  247. wxcli/commands/rooms.py +225 -0
  248. wxcli/commands/scim_bulk.py +46 -0
  249. wxcli/commands/scim_groups.py +246 -0
  250. wxcli/commands/scim_schemas.py +82 -0
  251. wxcli/commands/scim_users.py +283 -0
  252. wxcli/commands/security_audit.py +54 -0
  253. wxcli/commands/service_apps.py +51 -0
  254. wxcli/commands/single_number_reach.py +209 -0
  255. wxcli/commands/team_memberships.py +155 -0
  256. wxcli/commands/teams.py +153 -0
  257. wxcli/commands/ucm_profile.py +42 -0
  258. wxcli/commands/update.py +219 -0
  259. wxcli/commands/user_settings.py +5116 -0
  260. wxcli/commands/video_mesh.py +1090 -0
  261. wxcli/commands/virtual_extensions.py +502 -0
  262. wxcli/commands/virtual_line_settings.py +2072 -0
  263. wxcli/commands/webhooks.py +176 -0
  264. wxcli/commands/wholesale_billing_reports.py +147 -0
  265. wxcli/commands/wholesale_provisioning.py +523 -0
  266. wxcli/commands/workspace_locations.py +339 -0
  267. wxcli/commands/workspace_metrics.py +103 -0
  268. wxcli/commands/workspace_personalization.py +70 -0
  269. wxcli/commands/workspace_settings.py +3347 -0
  270. wxcli/commands/workspaces.py +279 -0
  271. wxcli/commands/xapi.py +114 -0
  272. wxcli/config.py +139 -0
  273. wxcli/errors.py +77 -0
  274. wxcli/main.py +210 -0
  275. wxcli/migration/CLAUDE.md +106 -0
  276. wxcli/migration/__init__.py +1 -0
  277. wxcli/migration/advisory/CLAUDE.md +196 -0
  278. wxcli/migration/advisory/__init__.py +46 -0
  279. wxcli/migration/advisory/advisor.py +107 -0
  280. wxcli/migration/advisory/advisory_patterns.py +2552 -0
  281. wxcli/migration/advisory/recommendation_rules.py +835 -0
  282. wxcli/migration/cucm/CLAUDE.md +74 -0
  283. wxcli/migration/cucm/__init__.py +5 -0
  284. wxcli/migration/cucm/connection.py +265 -0
  285. wxcli/migration/cucm/discovery.py +225 -0
  286. wxcli/migration/cucm/extractors/__init__.py +1 -0
  287. wxcli/migration/cucm/extractors/announcements.py +92 -0
  288. wxcli/migration/cucm/extractors/base.py +90 -0
  289. wxcli/migration/cucm/extractors/device_profiles.py +98 -0
  290. wxcli/migration/cucm/extractors/devices.py +193 -0
  291. wxcli/migration/cucm/extractors/e911.py +103 -0
  292. wxcli/migration/cucm/extractors/features.py +309 -0
  293. wxcli/migration/cucm/extractors/helpers.py +73 -0
  294. wxcli/migration/cucm/extractors/informational.py +295 -0
  295. wxcli/migration/cucm/extractors/locations.py +221 -0
  296. wxcli/migration/cucm/extractors/moh.py +100 -0
  297. wxcli/migration/cucm/extractors/remote_destinations.py +96 -0
  298. wxcli/migration/cucm/extractors/routing.py +493 -0
  299. wxcli/migration/cucm/extractors/shared_lines.py +146 -0
  300. wxcli/migration/cucm/extractors/templates.py +229 -0
  301. wxcli/migration/cucm/extractors/tier4.py +173 -0
  302. wxcli/migration/cucm/extractors/users.py +240 -0
  303. wxcli/migration/cucm/extractors/voicemail.py +243 -0
  304. wxcli/migration/cucm/extractors/workspaces.py +88 -0
  305. wxcli/migration/cucm/unity_connection.py +304 -0
  306. wxcli/migration/execute/CLAUDE.md +372 -0
  307. wxcli/migration/execute/__init__.py +303 -0
  308. wxcli/migration/execute/batch.py +277 -0
  309. wxcli/migration/execute/dependency.py +483 -0
  310. wxcli/migration/execute/engine.py +964 -0
  311. wxcli/migration/execute/handlers.py +2232 -0
  312. wxcli/migration/execute/planner.py +1939 -0
  313. wxcli/migration/execute/runtime.py +571 -0
  314. wxcli/migration/export/CLAUDE.md +49 -0
  315. wxcli/migration/export/__init__.py +8 -0
  316. wxcli/migration/export/csv_export.py +126 -0
  317. wxcli/migration/export/deployment_plan.py +479 -0
  318. wxcli/migration/export/json_export.py +60 -0
  319. wxcli/migration/models.py +941 -0
  320. wxcli/migration/phone_models.py +50 -0
  321. wxcli/migration/preflight/CLAUDE.md +52 -0
  322. wxcli/migration/preflight/__init__.py +89 -0
  323. wxcli/migration/preflight/checks.py +911 -0
  324. wxcli/migration/preflight/runner.py +293 -0
  325. wxcli/migration/rate_limiter.py +144 -0
  326. wxcli/migration/report/CLAUDE.md +245 -0
  327. wxcli/migration/report/__init__.py +7 -0
  328. wxcli/migration/report/appendix.py +2437 -0
  329. wxcli/migration/report/assembler.py +183 -0
  330. wxcli/migration/report/charts.py +263 -0
  331. wxcli/migration/report/executive.py +776 -0
  332. wxcli/migration/report/explainer.py +704 -0
  333. wxcli/migration/report/helpers.py +74 -0
  334. wxcli/migration/report/ingest.py +152 -0
  335. wxcli/migration/report/notice_templates.py +192 -0
  336. wxcli/migration/report/score.py +375 -0
  337. wxcli/migration/report/styles.py +1052 -0
  338. wxcli/migration/report/user_diff.py +1052 -0
  339. wxcli/migration/report/user_notice.py +425 -0
  340. wxcli/migration/state.py +139 -0
  341. wxcli/migration/store.py +860 -0
  342. wxcli/migration/transform/CLAUDE.md +107 -0
  343. wxcli/migration/transform/__init__.py +12 -0
  344. wxcli/migration/transform/analysis_pipeline.py +453 -0
  345. wxcli/migration/transform/analyzers/__init__.py +142 -0
  346. wxcli/migration/transform/analyzers/css_permission.py +189 -0
  347. wxcli/migration/transform/analyzers/css_routing.py +335 -0
  348. wxcli/migration/transform/analyzers/device_compatibility.py +122 -0
  349. wxcli/migration/transform/analyzers/dn_ambiguity.py +131 -0
  350. wxcli/migration/transform/analyzers/duplicate_user.py +221 -0
  351. wxcli/migration/transform/analyzers/extension_conflict.py +173 -0
  352. wxcli/migration/transform/analyzers/feature_approximation.py +227 -0
  353. wxcli/migration/transform/analyzers/layout_overflow.py +174 -0
  354. wxcli/migration/transform/analyzers/location_ambiguity.py +184 -0
  355. wxcli/migration/transform/analyzers/missing_data.py +300 -0
  356. wxcli/migration/transform/analyzers/selective_call_handling.py +394 -0
  357. wxcli/migration/transform/analyzers/shared_line.py +170 -0
  358. wxcli/migration/transform/analyzers/voicemail_compatibility.py +267 -0
  359. wxcli/migration/transform/analyzers/workspace_license.py +212 -0
  360. wxcli/migration/transform/cross_reference.py +1136 -0
  361. wxcli/migration/transform/cucm_pattern.py +246 -0
  362. wxcli/migration/transform/decisions.py +301 -0
  363. wxcli/migration/transform/e164.py +145 -0
  364. wxcli/migration/transform/engine.py +256 -0
  365. wxcli/migration/transform/mappers/CLAUDE.md +123 -0
  366. wxcli/migration/transform/mappers/__init__.py +76 -0
  367. wxcli/migration/transform/mappers/announcement_mapper.py +122 -0
  368. wxcli/migration/transform/mappers/base.py +190 -0
  369. wxcli/migration/transform/mappers/button_template_mapper.py +186 -0
  370. wxcli/migration/transform/mappers/call_forwarding_mapper.py +228 -0
  371. wxcli/migration/transform/mappers/call_settings_mapper.py +144 -0
  372. wxcli/migration/transform/mappers/css_mapper.py +868 -0
  373. wxcli/migration/transform/mappers/dect_mapper.py +367 -0
  374. wxcli/migration/transform/mappers/device_layout_mapper.py +289 -0
  375. wxcli/migration/transform/mappers/device_mapper.py +227 -0
  376. wxcli/migration/transform/mappers/device_profile_mapper.py +190 -0
  377. wxcli/migration/transform/mappers/device_settings_mapper.py +464 -0
  378. wxcli/migration/transform/mappers/e911_mapper.py +129 -0
  379. wxcli/migration/transform/mappers/ecbn_mapper.py +263 -0
  380. wxcli/migration/transform/mappers/executive_assistant_mapper.py +156 -0
  381. wxcli/migration/transform/mappers/feature_mapper.py +1179 -0
  382. wxcli/migration/transform/mappers/line_mapper.py +310 -0
  383. wxcli/migration/transform/mappers/location_mapper.py +235 -0
  384. wxcli/migration/transform/mappers/moh_mapper.py +114 -0
  385. wxcli/migration/transform/mappers/monitoring_mapper.py +221 -0
  386. wxcli/migration/transform/mappers/receptionist_mapper.py +245 -0
  387. wxcli/migration/transform/mappers/routing_mapper.py +821 -0
  388. wxcli/migration/transform/mappers/snr_mapper.py +201 -0
  389. wxcli/migration/transform/mappers/softkey_mapper.py +205 -0
  390. wxcli/migration/transform/mappers/user_mapper.py +264 -0
  391. wxcli/migration/transform/mappers/voicemail_group_mapper.py +286 -0
  392. wxcli/migration/transform/mappers/voicemail_mapper.py +514 -0
  393. wxcli/migration/transform/mappers/workspace_mapper.py +464 -0
  394. wxcli/migration/transform/normalizers.py +2008 -0
  395. wxcli/migration/transform/pattern_converter.py +106 -0
  396. wxcli/migration/transform/pipeline.py +271 -0
  397. wxcli/migration/transform/rules.py +255 -0
  398. wxcli/org_health/CLAUDE.md +63 -0
  399. wxcli/org_health/__init__.py +7 -0
  400. wxcli/org_health/analyze.py +93 -0
  401. wxcli/org_health/checks.py +458 -0
  402. wxcli/org_health/collector.py +62 -0
  403. wxcli/org_health/models.py +78 -0
  404. wxcli/org_health/report.py +300 -0
  405. wxcli/output.py +101 -0
  406. wxcli-1.2.0.dist-info/METADATA +505 -0
  407. wxcli-1.2.0.dist-info/RECORD +413 -0
  408. wxcli-1.2.0.dist-info/WHEEL +5 -0
  409. wxcli-1.2.0.dist-info/entry_points.txt +2 -0
  410. wxcli-1.2.0.dist-info/licenses/LICENSE +191 -0
  411. wxcli-1.2.0.dist-info/scm_file_list.json +751 -0
  412. wxcli-1.2.0.dist-info/scm_version.json +8 -0
  413. wxcli-1.2.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1138 @@
1
+ # Contact Center: Routing, Campaigns, Flows, and Media
2
+
3
+ Reference for Webex Contact Center routing configuration, campaign management, flow automation,
4
+ and media resources. Covers 15 CLI groups with 98 commands generated from the Contact Center OpenAPI spec.
5
+
6
+ All commands use the regional base URL `https://api.wxcc-{region}.cisco.com` and require
7
+ CC-specific OAuth scopes (`cjp:config_read`, `cjp:config_write`). The `orgId` path parameter
8
+ is auto-injected from saved config. Set the region with `wxcli set-cc-region <region>`.
9
+
10
+ ## Sources
11
+
12
+ - OpenAPI spec: `specs/webex-contact-center.json`
13
+ - developer.webex.com Contact Center APIs
14
+
15
+ ---
16
+
17
+ ## Table of Contents
18
+
19
+ 1. [Dial Plans (cc-dial-plan)](#1-dial-plans-cc-dial-plan)
20
+ 2. [Dial Numbers (cc-dial-number)](#2-dial-numbers-cc-dial-number)
21
+ 3. [Outdial ANI (cc-outdial-ani)](#3-outdial-ani-cc-outdial-ani)
22
+ 4. [Contact Numbers (cc-contact-number)](#4-contact-numbers-cc-contact-number)
23
+ 5. [Callbacks (cc-callbacks)](#5-callbacks-cc-callbacks)
24
+ 6. [Estimated Wait Time (cc-ewt)](#6-estimated-wait-time-cc-ewt)
25
+ 7. [Overrides (cc-overrides)](#7-overrides-cc-overrides)
26
+ 8. [Campaigns (cc-campaign)](#8-campaigns-cc-campaign)
27
+ 9. [Contact Lists & DNC (cc-contact-list, cc-dnc)](#9-contact-lists--dnc-cc-contact-list-cc-dnc)
28
+ 10. [Captures (cc-captures)](#10-captures-cc-captures)
29
+ 11. [Flows (cc-flow)](#11-flows-cc-flow)
30
+ 12. [Audio Files (cc-audio-files)](#12-audio-files-cc-audio-files)
31
+ 13. [Data Sources (cc-data-sources)](#13-data-sources-cc-data-sources)
32
+ 14. [Resource Collections (cc-resource-collection)](#14-resource-collections-cc-resource-collection)
33
+ 15. [Consolidated Endpoint Reference](#15-consolidated-endpoint-reference)
34
+ 16. [Gotchas](#16-gotchas)
35
+ 17. [See Also](#17-see-also)
36
+
37
+ ---
38
+
39
+ ## 1. Dial Plans (cc-dial-plan)
40
+
41
+ Dial plans in Contact Center define routing rules that map dialed numbers to entry points and queues.
42
+ CC dial plans are entirely separate from Webex Calling dial plans -- different API, different base
43
+ URL, different configuration model. 9 commands.
44
+
45
+ ### Commands
46
+
47
+ | CLI Command | HTTP | Description |
48
+ |---|---|---|
49
+ | `wxcli cc-dial-plan create` | POST /organization/{orgid}/dial-plan/bulk | Bulk save Dial Plan(s) |
50
+ | `wxcli cc-dial-plan show` | GET /organization/{orgid}/dial-plan/{id} | Get specific Dial Plan by ID |
51
+ | `wxcli cc-dial-plan update` | PUT /organization/{orgid}/dial-plan/{id} | Update specific Dial Plan by ID |
52
+ | `wxcli cc-dial-plan delete` | DELETE /organization/{orgid}/dial-plan/{id} | Delete specific Dial Plan by ID |
53
+ | `wxcli cc-dial-plan list` | GET /organization/{orgid}/dial-plan/{id}/incoming-references | List references for a specific Dial Plan |
54
+ | `wxcli cc-dial-plan list-dial-plan-v2` | GET /organization/{orgid}/v2/dial-plan | List Dial Plan(s) (v2) |
55
+ | `wxcli cc-dial-plan list-bulk-export` | GET /organization/{orgid}/dial-plan/bulk-export | Bulk export Dial Plan(s) |
56
+ | `wxcli cc-dial-plan list-dial-plan-organization` | GET /organization/{orgid}/dial-plan | List Dial Plan(s) (org) |
57
+ | `wxcli cc-dial-plan create-dial-plan` | POST /organization/{orgid}/dial-plan | Create a new Dial Plan |
58
+
59
+ ### Key Parameters
60
+
61
+ - `--json-body` -- Full JSON body for create/update operations (all create/update commands)
62
+ - `id` (argument) -- Dial plan ID for show/update/delete/list references
63
+
64
+ ### CLI Examples
65
+
66
+ ```bash
67
+ # List all dial plans (v2 with pagination)
68
+ wxcli cc-dial-plan list-dial-plan-v2
69
+
70
+ # List dial plans for the org (v1)
71
+ wxcli cc-dial-plan list-dial-plan-organization
72
+
73
+ # Get a specific dial plan
74
+ wxcli cc-dial-plan show <dial-plan-id>
75
+
76
+ # Create a new dial plan
77
+ wxcli cc-dial-plan create-dial-plan --json-body '{"name":"US-Main","description":"Main US routing"}'
78
+
79
+ # Bulk save dial plans
80
+ wxcli cc-dial-plan create --json-body '{"items":[{"item":"...","requestAction":"SAVE"}]}'
81
+
82
+ # Bulk export all dial plans
83
+ wxcli cc-dial-plan list-bulk-export -o json
84
+
85
+ # Delete a dial plan
86
+ wxcli cc-dial-plan delete <dial-plan-id>
87
+
88
+ # List incoming references for a dial plan
89
+ wxcli cc-dial-plan list <dial-plan-id>
90
+ ```
91
+
92
+ ### Raw HTTP
93
+
94
+ ```bash
95
+ # List all dial plans (v2)
96
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/dial-plan
97
+ Authorization: Bearer {cc_token}
98
+
99
+ # Create a dial plan
100
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/dial-plan
101
+ Content-Type: application/json
102
+ {"name":"US-Main","description":"Main US routing"}
103
+ ```
104
+
105
+ ---
106
+
107
+ ## 2. Dial Numbers (cc-dial-number)
108
+
109
+ Dialed number mappings associate external phone numbers with Contact Center entry points. When a
110
+ customer calls a mapped number, the call routes to the configured entry point and flow. 12 commands.
111
+
112
+ ### Commands
113
+
114
+ | CLI Command | HTTP | Description |
115
+ |---|---|---|
116
+ | `wxcli cc-dial-number list` | GET /organization/{orgid}/dial-number | List Dialed Number Mapping(s) |
117
+ | `wxcli cc-dial-number list-dial-number-organization` | GET /organization/{orgid}/dial-number | List (org) |
118
+ | `wxcli cc-dial-number create` | POST /organization/{orgid}/dial-number | Create a new Dialed Number Mapping |
119
+ | `wxcli cc-dial-number delete` | DELETE /organization/{orgid}/dial-number | Delete all Dialed Number Mapping(s) |
120
+ | `wxcli cc-dial-number create-bulk` | POST /organization/{orgid}/dial-number/bulk | Bulk save |
121
+ | `wxcli cc-dial-number list-numbers-only` | GET /organization/{orgid}/dial-number/numbers-only | List only dialed numbers |
122
+ | `wxcli cc-dial-number list-bulk-export` | GET /organization/{orgid}/dial-number/bulk-export | Bulk export |
123
+ | `wxcli cc-dial-number show` | GET /organization/{orgid}/dial-number/{id} | Get by ID |
124
+ | `wxcli cc-dial-number update` | PUT /organization/{orgid}/dial-number/{id} | Update by ID |
125
+ | `wxcli cc-dial-number delete-dial-number` | DELETE /organization/{orgid}/dial-number/{id} | Delete by ID |
126
+ | `wxcli cc-dial-number list-incoming-references` | GET /organization/{orgid}/dial-number/{id}/incoming-references | List references |
127
+ | `wxcli cc-dial-number list-dial-number-v2` | GET /organization/{orgid}/v2/dial-number | List (v2) |
128
+
129
+ ### Key Parameters
130
+
131
+ - `--json-body` -- Full JSON body for create/update operations
132
+ - `id` (argument) -- Dialed number mapping ID for show/update/delete
133
+
134
+ ### CLI Examples
135
+
136
+ ```bash
137
+ # List all dialed number mappings (v2 with pagination)
138
+ wxcli cc-dial-number list-dial-number-v2
139
+
140
+ # List only the dialed numbers (no mapping details)
141
+ wxcli cc-dial-number list-numbers-only
142
+
143
+ # Get a specific mapping
144
+ wxcli cc-dial-number show <mapping-id>
145
+
146
+ # Create a new dialed number mapping
147
+ wxcli cc-dial-number create --json-body '{"dialNumber":"+15551234567","entryPointId":"ep-id-here"}'
148
+
149
+ # Delete a specific mapping
150
+ wxcli cc-dial-number delete-dial-number <mapping-id>
151
+
152
+ # CAUTION: Delete ALL dialed number mappings
153
+ wxcli cc-dial-number delete
154
+
155
+ # Bulk export all mappings
156
+ wxcli cc-dial-number list-bulk-export -o json
157
+ ```
158
+
159
+ ### Raw HTTP
160
+
161
+ ```bash
162
+ # List dialed numbers (v2)
163
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/dial-number
164
+ Authorization: Bearer {cc_token}
165
+
166
+ # Create a dialed number mapping
167
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/dial-number
168
+ Content-Type: application/json
169
+ {"dialNumber":"+15551234567","entryPointId":"ep-id-here"}
170
+
171
+ # Delete ALL dialed number mappings (use with extreme caution)
172
+ DELETE https://api.wxcc-us1.cisco.com/organization/{orgId}/dial-number
173
+ ```
174
+
175
+ ---
176
+
177
+ ## 3. Outdial ANI (cc-outdial-ani)
178
+
179
+ Outdial ANI (Automatic Number Identification) controls the caller ID presented on outbound calls
180
+ from the contact center. Has a two-level structure: ANI profiles contain ANI entries, each entry
181
+ mapping to a specific phone number. 16 commands.
182
+
183
+ ### Commands
184
+
185
+ | CLI Command | HTTP | Description |
186
+ |---|---|---|
187
+ | `wxcli cc-outdial-ani list` | GET /organization/{orgid}/outdial-ani | List Outdial ANI(s) |
188
+ | `wxcli cc-outdial-ani create` | POST /organization/{orgid}/outdial-ani | Create a new Outdial ANI |
189
+ | `wxcli cc-outdial-ani list-bulk-export` | GET /organization/{orgid}/outdial-ani/bulk-export | Bulk export |
190
+ | `wxcli cc-outdial-ani list-entry-outdial-ani` | GET /organization/{orgid}/outdial-ani/entry | List Outdial ANI Entry(s) |
191
+ | `wxcli cc-outdial-ani show` | GET /organization/{orgid}/outdial-ani/{id} | Get by ID |
192
+ | `wxcli cc-outdial-ani update` | PUT /organization/{orgid}/outdial-ani/{id} | Update by ID |
193
+ | `wxcli cc-outdial-ani delete` | DELETE /organization/{orgid}/outdial-ani/{id} | Delete by ID |
194
+ | `wxcli cc-outdial-ani list-incoming-references` | GET /organization/{orgid}/outdial-ani/{id}/incoming-references | List references |
195
+ | `wxcli cc-outdial-ani list-outdial-ani` | GET /organization/{orgid}/v2/outdial-ani | List (v2) |
196
+ | `wxcli cc-outdial-ani list-entry-outdial-ani-1` | GET /organization/{orgid}/v2/outdial-ani/{outDialAniId}/entry | List entries (v2) |
197
+ | `wxcli cc-outdial-ani create-bulk-outdial-ani` | POST /organization/{orgid}/outdial-ani/bulk | Bulk save Outdial ANI(s) |
198
+ | `wxcli cc-outdial-ani create-entry` | POST /organization/{orgid}/outdial-ani/{outDialAniId}/entry | Create entry |
199
+ | `wxcli cc-outdial-ani create-bulk-entry` | POST /organization/{orgid}/outdial-ani/{outDialAniId}/entry/bulk | Bulk save entries |
200
+ | `wxcli cc-outdial-ani show-entry` | GET /organization/{orgid}/outdial-ani/{outDialAniId}/entry/{id} | Get entry by ID |
201
+ | `wxcli cc-outdial-ani update-entry` | PUT /organization/{orgid}/outdial-ani/{outDialAniId}/entry/{id} | Update entry by ID |
202
+ | `wxcli cc-outdial-ani delete-entry` | DELETE /organization/{orgid}/outdial-ani/{outDialAniId}/entry/{id} | Delete entry by ID |
203
+
204
+ ### Key Parameters
205
+
206
+ - `--json-body` -- Full JSON body for create/update operations
207
+ - `id` (argument) -- Outdial ANI ID for ANI-level operations
208
+ - `out-dial-ani-id` (argument) -- Parent ANI ID for entry-level operations
209
+ - `id` (argument) -- Entry ID for entry-level get/update/delete
210
+
211
+ ### CLI Examples
212
+
213
+ ```bash
214
+ # List all outdial ANIs (v2)
215
+ wxcli cc-outdial-ani list-outdial-ani
216
+
217
+ # Create an outdial ANI profile
218
+ wxcli cc-outdial-ani create --json-body '{"name":"US-OutdialANI","description":"US outbound caller ID"}'
219
+
220
+ # Add an entry to an ANI profile
221
+ wxcli cc-outdial-ani create-entry <ani-id> --json-body '{"dialNumber":"+15551234567"}'
222
+
223
+ # List entries for a specific ANI (v2)
224
+ wxcli cc-outdial-ani list-entry-outdial-ani-1 <ani-id>
225
+
226
+ # Delete an ANI entry
227
+ wxcli cc-outdial-ani delete-entry <ani-id> <entry-id>
228
+
229
+ # Bulk export all ANIs
230
+ wxcli cc-outdial-ani list-bulk-export -o json
231
+ ```
232
+
233
+ ### Raw HTTP
234
+
235
+ ```bash
236
+ # List outdial ANIs (v2)
237
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/outdial-ani
238
+ Authorization: Bearer {cc_token}
239
+
240
+ # Create an entry under an ANI profile
241
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/outdial-ani/{outDialAniId}/entry
242
+ Content-Type: application/json
243
+ {"dialNumber":"+15551234567"}
244
+ ```
245
+
246
+ ---
247
+
248
+ ## 4. Contact Numbers (cc-contact-number)
249
+
250
+ Contact numbers are the phone numbers available to the contact center for inbound and outbound
251
+ operations. These are distinct from dialed number mappings -- contact numbers represent the pool
252
+ of numbers, while dial numbers define routing rules. 8 commands.
253
+
254
+ ### Commands
255
+
256
+ | CLI Command | HTTP | Description |
257
+ |---|---|---|
258
+ | `wxcli cc-contact-number create` | POST /organization/{orgid}/contact-number | Create a new Contact Number |
259
+ | `wxcli cc-contact-number list` | GET /organization/{orgid}/contact-number/all-numbers | List all contact numbers |
260
+ | `wxcli cc-contact-number create-bulk` | POST /organization/{orgid}/contact-number/bulk | Bulk save |
261
+ | `wxcli cc-contact-number list-contact-number` | GET /organization/{orgid}/v2/contact-number | List (v2) |
262
+ | `wxcli cc-contact-number show` | GET /organization/{orgid}/contact-number/{id} | Get by ID |
263
+ | `wxcli cc-contact-number update` | PUT /organization/{orgid}/contact-number/{id} | Update by ID |
264
+ | `wxcli cc-contact-number delete` | DELETE /organization/{orgid}/contact-number/{id} | Delete by ID |
265
+ | `wxcli cc-contact-number list-bulk-export` | GET /organization/{orgid}/contact-number/bulk-export | Bulk export |
266
+
267
+ ### Key Parameters
268
+
269
+ - `--json-body` -- Full JSON body for create/update operations
270
+ - `id` (argument) -- Contact number ID for show/update/delete
271
+
272
+ ### CLI Examples
273
+
274
+ ```bash
275
+ # List all contact numbers
276
+ wxcli cc-contact-number list
277
+
278
+ # List contact numbers (v2 with pagination)
279
+ wxcli cc-contact-number list-contact-number
280
+
281
+ # Get a specific contact number
282
+ wxcli cc-contact-number show <number-id>
283
+
284
+ # Create a contact number
285
+ wxcli cc-contact-number create --json-body '{"name":"+15551234567","type":"TOLL_FREE"}'
286
+
287
+ # Bulk export
288
+ wxcli cc-contact-number list-bulk-export -o json
289
+
290
+ # Delete a contact number
291
+ wxcli cc-contact-number delete <number-id>
292
+ ```
293
+
294
+ ### Raw HTTP
295
+
296
+ ```bash
297
+ # List all contact numbers
298
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/contact-number/all-numbers
299
+ Authorization: Bearer {cc_token}
300
+
301
+ # Create a contact number
302
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/contact-number
303
+ Content-Type: application/json
304
+ {"name":"+15551234567","type":"TOLL_FREE"}
305
+ ```
306
+
307
+ ---
308
+
309
+ ## 5. Callbacks (cc-callbacks)
310
+
311
+ Scheduled callbacks allow customers to request a return call instead of waiting in queue. The
312
+ callback API manages the lifecycle of these requests -- scheduling, listing, updating, and
313
+ canceling. Uses the runtime path family (`/v1/callbacks/`) rather than the config path. 5 commands.
314
+
315
+ ### Commands
316
+
317
+ | CLI Command | HTTP | Description |
318
+ |---|---|---|
319
+ | `wxcli cc-callbacks create` | POST /v1/callbacks/organization/{orgId}/scheduled-callback | Schedule a Callback |
320
+ | `wxcli cc-callbacks list` | GET /v1/callbacks/organization/{orgId}/scheduled-callback | Get scheduled callbacks |
321
+ | `wxcli cc-callbacks show` | GET /v1/callbacks/organization/{orgId}/scheduled-callback/{id} | Get by ID |
322
+ | `wxcli cc-callbacks update` | PUT /v1/callbacks/organization/{orgId}/scheduled-callback/{id} | Update by ID |
323
+ | `wxcli cc-callbacks delete` | DELETE /v1/callbacks/organization/{orgId}/scheduled-callback/{id} | Delete by ID |
324
+
325
+ ### Key Parameters
326
+
327
+ - `--json-body` -- Full JSON body for create/update
328
+ - `id` (argument) -- Callback ID for show/update/delete
329
+
330
+ ### CLI Examples
331
+
332
+ ```bash
333
+ # List all scheduled callbacks
334
+ wxcli cc-callbacks list
335
+
336
+ # Get a specific callback
337
+ wxcli cc-callbacks show <callback-id>
338
+
339
+ # Schedule a new callback
340
+ wxcli cc-callbacks create --json-body '{"callbackNumber":"+15551234567","queueId":"queue-id","scheduledTime":"2026-04-01T10:00:00Z"}'
341
+
342
+ # Update a scheduled callback
343
+ wxcli cc-callbacks update <callback-id> --json-body '{"scheduledTime":"2026-04-01T14:00:00Z"}'
344
+
345
+ # Cancel a callback
346
+ wxcli cc-callbacks delete <callback-id>
347
+ ```
348
+
349
+ ### Raw HTTP
350
+
351
+ ```bash
352
+ # List scheduled callbacks
353
+ GET https://api.wxcc-us1.cisco.com/v1/callbacks/organization/{orgId}/scheduled-callback
354
+ Authorization: Bearer {cc_token}
355
+
356
+ # Schedule a callback
357
+ POST https://api.wxcc-us1.cisco.com/v1/callbacks/organization/{orgId}/scheduled-callback
358
+ Content-Type: application/json
359
+ {"callbackNumber":"+15551234567","queueId":"queue-id","scheduledTime":"2026-04-01T10:00:00Z"}
360
+ ```
361
+
362
+ ---
363
+
364
+ ## 6. Estimated Wait Time (cc-ewt)
365
+
366
+ A single read-only endpoint that returns the estimated wait time for a given queue and media
367
+ channel. Useful for IVR flows that announce hold times to callers. 1 command.
368
+
369
+ ### Commands
370
+
371
+ | CLI Command | HTTP | Description |
372
+ |---|---|---|
373
+ | `wxcli cc-ewt show` | GET /v1/ewt | Get Estimated Wait Time |
374
+
375
+ ### Key Parameters
376
+
377
+ - `--queue-id` -- Queue ID to check
378
+ - `--media-type` -- Media type (e.g., `telephony`, `chat`, `email`)
379
+ - `--lookup-type` -- Type of EWT lookup
380
+
381
+ ### CLI Examples
382
+
383
+ ```bash
384
+ # Get estimated wait time for a queue
385
+ wxcli cc-ewt show --queue-id <queue-id> --media-type telephony
386
+
387
+ # Get EWT as JSON
388
+ wxcli cc-ewt show --queue-id <queue-id> --media-type telephony -o json
389
+ ```
390
+
391
+ ### Raw HTTP
392
+
393
+ ```bash
394
+ # Get estimated wait time
395
+ GET https://api.wxcc-us1.cisco.com/v1/ewt?queueId={queueId}&mediaType=telephony
396
+ Authorization: Bearer {cc_token}
397
+ ```
398
+
399
+ ---
400
+
401
+ ## 7. Overrides (cc-overrides)
402
+
403
+ Overrides temporarily replace normal routing behavior -- for example, routing all calls to an
404
+ overflow queue during a holiday or outage. They can be scheduled or activated on demand. 9 commands.
405
+
406
+ ### Commands
407
+
408
+ | CLI Command | HTTP | Description |
409
+ |---|---|---|
410
+ | `wxcli cc-overrides list` | GET /organization/{orgid}/overrides | List Overrides resource(s) |
411
+ | `wxcli cc-overrides create` | POST /organization/{orgid}/overrides | Create a new Override |
412
+ | `wxcli cc-overrides create-bulk` | POST /organization/{orgid}/overrides/bulk | Bulk save |
413
+ | `wxcli cc-overrides list-bulk-export` | GET /organization/{orgid}/overrides/bulk-export | Bulk export |
414
+ | `wxcli cc-overrides show` | GET /organization/{orgid}/overrides/{id} | Get by ID |
415
+ | `wxcli cc-overrides update` | PUT /organization/{orgid}/overrides/{id} | Update by ID |
416
+ | `wxcli cc-overrides delete` | DELETE /organization/{orgid}/overrides/{id} | Delete by ID |
417
+ | `wxcli cc-overrides list-incoming-references` | GET /organization/{orgid}/overrides/{id}/incoming-references | List references |
418
+ | `wxcli cc-overrides list-overrides` | GET /organization/{orgid}/v2/overrides | List (v2) |
419
+
420
+ ### Key Parameters
421
+
422
+ - `--json-body` -- Full JSON body for create/update
423
+ - `id` (argument) -- Override ID for show/update/delete/references
424
+
425
+ ### CLI Examples
426
+
427
+ ```bash
428
+ # List all overrides (v2)
429
+ wxcli cc-overrides list-overrides
430
+
431
+ # Get a specific override
432
+ wxcli cc-overrides show <override-id>
433
+
434
+ # Create an override
435
+ wxcli cc-overrides create --json-body '{"name":"Holiday-Override","description":"Route to overflow during holidays"}'
436
+
437
+ # Update an override
438
+ wxcli cc-overrides update <override-id> --json-body '{"active":true}'
439
+
440
+ # Delete an override
441
+ wxcli cc-overrides delete <override-id>
442
+
443
+ # Bulk export all overrides
444
+ wxcli cc-overrides list-bulk-export -o json
445
+ ```
446
+
447
+ ### Raw HTTP
448
+
449
+ ```bash
450
+ # List overrides (v2)
451
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/overrides
452
+ Authorization: Bearer {cc_token}
453
+
454
+ # Create an override
455
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/overrides
456
+ Content-Type: application/json
457
+ {"name":"Holiday-Override","description":"Route to overflow during holidays"}
458
+ ```
459
+
460
+ ---
461
+
462
+ ## 8. Campaigns (cc-campaign)
463
+
464
+ Campaign management controls outbound dialing campaigns. Campaigns are started, updated (to change
465
+ dialing parameters), and stopped via these endpoints. Uses the runtime path family (`/v1/dialer/`).
466
+ 3 commands.
467
+
468
+ ### Commands
469
+
470
+ | CLI Command | HTTP | Description |
471
+ |---|---|---|
472
+ | `wxcli cc-campaign create` | POST /v1/dialer/campaign | Start Campaign |
473
+ | `wxcli cc-campaign update` | PUT /v1/dialer/campaign/{campaignId} | Update Campaign |
474
+ | `wxcli cc-campaign delete` | DELETE /v1/dialer/campaign/{campaignId} | Stop Campaign |
475
+
476
+ ### Key Parameters
477
+
478
+ - `campaign-id` (argument) -- Campaign ID for update/delete
479
+ - `--dialing-list-fetch-url` -- URL to fetch the dialing list
480
+ - `--outdial-ani` -- Outdial ANI to use for the campaign
481
+ - `--reservation-percentage` -- Percentage of agents to reserve
482
+ - `--dialing-rate` / `--max-dialing-rate` -- Dialing rate controls
483
+ - `--preview-offer-timeout` -- Timeout for preview offer (seconds)
484
+ - `--preview-offer-timeout-auto-action` -- Action when preview times out
485
+ - `--campaign-name` -- Campaign name
486
+ - `--no-answer-ring-limit` -- Ring limit before treating as no answer
487
+ - `--json-body` -- Full JSON body (overrides individual options)
488
+
489
+ ### CLI Examples
490
+
491
+ ```bash
492
+ # Start a campaign
493
+ wxcli cc-campaign create --json-body '{"campaignName":"Q1-Outreach","dialingListFetchURL":"https://crm.example.com/list","outdialANI":"+15551234567","dialingRate":5}'
494
+
495
+ # Update campaign parameters
496
+ wxcli cc-campaign update <campaign-id> --dialing-rate 10 --max-dialing-rate 20
497
+
498
+ # Stop a campaign
499
+ wxcli cc-campaign delete <campaign-id>
500
+ ```
501
+
502
+ ### Raw HTTP
503
+
504
+ ```bash
505
+ # Start a campaign
506
+ POST https://api.wxcc-us1.cisco.com/v1/dialer/campaign
507
+ Content-Type: application/json
508
+ {"campaignName":"Q1-Outreach","dialingListFetchURL":"https://crm.example.com/list","outdialANI":"+15551234567"}
509
+
510
+ # Stop a campaign
511
+ DELETE https://api.wxcc-us1.cisco.com/v1/dialer/campaign/{campaignId}
512
+ Authorization: Bearer {cc_token}
513
+ ```
514
+
515
+ ---
516
+
517
+ ## 9. Contact Lists & DNC (cc-contact-list, cc-dnc)
518
+
519
+ Contact lists hold the records for outbound campaigns. Each campaign can have multiple contact
520
+ lists, and each list contains individual contacts. The DNC (Do Not Call) list prevents the
521
+ dialer from calling specific phone numbers. Uses the `/v3/campaign-management/` path family.
522
+ 8 commands across 2 CLI groups.
523
+
524
+ ### cc-contact-list Commands (5)
525
+
526
+ | CLI Command | HTTP | Description |
527
+ |---|---|---|
528
+ | `wxcli cc-contact-list create` | POST /v3/campaign-management/campaigns/{campaignId}/contact-list | Create contact list |
529
+ | `wxcli cc-contact-list create-contacts` | POST /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/contacts | Create contacts within a list |
530
+ | `wxcli cc-contact-list update` | PATCH /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/contacts/{contactId} | Update a contact's status |
531
+ | `wxcli cc-contact-list update-status` | PATCH /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/status | Update contact list status |
532
+ | `wxcli cc-contact-list list` | GET /v3/campaign-management/campaigns/{campaignId}/contact-lists | Get Contact Lists within a Campaign |
533
+
534
+ ### cc-dnc Commands (3)
535
+
536
+ | CLI Command | HTTP | Description |
537
+ |---|---|---|
538
+ | `wxcli cc-dnc create` | POST /v3/campaign-management/dncList/{dncListName}/phoneNumber | Add Phone Number to DNC List |
539
+ | `wxcli cc-dnc show` | GET /v3/campaign-management/dncList/{dncListName}/phoneNumber/{phoneNumber} | Get Phone Number from DNC List |
540
+ | `wxcli cc-dnc delete` | DELETE /v3/campaign-management/dncList/{dncListName}/phoneNumber/{phoneNumber} | Remove Phone Number from DNC List |
541
+
542
+ ### Key Parameters
543
+
544
+ - `campaign-id` (argument) -- Campaign ID (contact list commands)
545
+ - `contact-list-id` (argument) -- Contact list ID within a campaign
546
+ - `contact-id` (argument) -- Individual contact ID
547
+ - `dnc-list-name` (argument) -- DNC list name (DNC commands)
548
+ - `phone-number` (argument) -- Phone number for DNC lookup/delete
549
+ - `--json-body` -- Full JSON body for create/update
550
+
551
+ ### CLI Examples
552
+
553
+ ```bash
554
+ # List contact lists for a campaign
555
+ wxcli cc-contact-list list <campaign-id>
556
+
557
+ # Create a contact list
558
+ wxcli cc-contact-list create <campaign-id> --json-body '{"name":"Q1-List","contacts":[]}'
559
+
560
+ # Add contacts to a list
561
+ wxcli cc-contact-list create-contacts <campaign-id> <list-id> --json-body '{"contacts":[{"phoneNumber":"+15551234567","firstName":"Jane"}]}'
562
+
563
+ # Update a contact's status
564
+ wxcli cc-contact-list update <campaign-id> <list-id> <contact-id> --json-body '{"status":"DO_NOT_CALL"}'
565
+
566
+ # Update list status (activate/deactivate)
567
+ wxcli cc-contact-list update-status <campaign-id> <list-id> --json-body '{"status":"ACTIVE"}'
568
+
569
+ # Add a phone number to DNC list
570
+ wxcli cc-dnc create <dnc-list-name> --json-body '{"phoneNumber":"+15559876543"}'
571
+
572
+ # Check if a number is on the DNC list
573
+ wxcli cc-dnc show <dnc-list-name> +15559876543
574
+
575
+ # Remove a number from DNC list
576
+ wxcli cc-dnc delete <dnc-list-name> +15559876543
577
+ ```
578
+
579
+ ### Raw HTTP
580
+
581
+ ```bash
582
+ # List contact lists for a campaign
583
+ GET https://api.wxcc-us1.cisco.com/v3/campaign-management/campaigns/{campaignId}/contact-lists
584
+ Authorization: Bearer {cc_token}
585
+
586
+ # Add to DNC list
587
+ POST https://api.wxcc-us1.cisco.com/v3/campaign-management/dncList/{dncListName}/phoneNumber
588
+ Content-Type: application/json
589
+ {"phoneNumber":"+15559876543"}
590
+
591
+ # Check DNC
592
+ GET https://api.wxcc-us1.cisco.com/v3/campaign-management/dncList/{dncListName}/phoneNumber/{phoneNumber}
593
+ ```
594
+
595
+ ---
596
+
597
+ ## 10. Captures (cc-captures)
598
+
599
+ The captures endpoint queries interaction capture records (recordings, transcripts). Uses POST
600
+ for querying rather than GET -- the request body contains the search criteria. 1 command.
601
+
602
+ ### Commands
603
+
604
+ | CLI Command | HTTP | Description |
605
+ |---|---|---|
606
+ | `wxcli cc-captures create` | POST /v1/captures/query | List Captures (POST query) |
607
+
608
+ ### Key Parameters
609
+
610
+ - `--json-body` -- Query body with filters (required)
611
+
612
+ ### CLI Examples
613
+
614
+ ```bash
615
+ # Query captures for a date range
616
+ wxcli cc-captures create --json-body '{"from":"2026-03-01T00:00:00Z","to":"2026-03-28T23:59:59Z","filters":{"queueId":"queue-id"}}' -o json
617
+ ```
618
+
619
+ ### Raw HTTP
620
+
621
+ ```bash
622
+ # Query captures
623
+ POST https://api.wxcc-us1.cisco.com/v1/captures/query
624
+ Content-Type: application/json
625
+ Authorization: Bearer {cc_token}
626
+ {"from":"2026-03-01T00:00:00Z","to":"2026-03-28T23:59:59Z"}
627
+ ```
628
+
629
+ ---
630
+
631
+ ## 11. Flows (cc-flow)
632
+
633
+ Flows define the IVR and routing logic for contact center interactions. Subflows are reusable
634
+ components within flows. The Flow API supports listing, importing (creating), exporting, and
635
+ publishing flows. Uses the `/flow-store/{orgId}/project/{projectId}/flows` path family -- note
636
+ the `projectId` is required for all operations. 4 commands.
637
+
638
+ ### Commands
639
+
640
+ | CLI Command | HTTP | Description |
641
+ |---|---|---|
642
+ | `wxcli cc-flow list` | GET /flow-store/{orgId}/project/{projectId}/flows | List Flows or Subflows |
643
+ | `wxcli cc-flow create` | POST /flow-store/{orgId}/project/{projectId}/flows/import | Import a Flow or Subflow |
644
+ | `wxcli cc-flow list-export` | GET /flow-store/{orgId}/project/{projectId}/flows/{flowId}/export | Export a Flow or Subflow |
645
+ | `wxcli cc-flow create-export` | POST /flow-store/{orgId}/project/{projectId}/flows/{flowId}/export | Publish a Flow or Subflow |
646
+
647
+ ### Key Parameters
648
+
649
+ - `project-id` (argument) -- Project ID (required for all commands)
650
+ - `flow-id` (argument) -- Flow ID (for export/publish)
651
+ - `--flow-type` -- Filter by `FLOW` or `SUBFLOW`
652
+ - `--ids` -- Comma-separated list of flow IDs to filter
653
+ - `--partial-name-search` -- Partial name match filter
654
+ - `--page` / `--size` -- Pagination controls
655
+ - `--include-pagination` -- Include pagination metadata in response
656
+ - `--json-body` -- Full JSON body for import/publish
657
+
658
+ ### CLI Examples
659
+
660
+ ```bash
661
+ # List all flows in a project
662
+ wxcli cc-flow list <project-id>
663
+
664
+ # List only subflows
665
+ wxcli cc-flow list <project-id> --flow-type SUBFLOW
666
+
667
+ # Search flows by name
668
+ wxcli cc-flow list <project-id> --partial-name-search "Main-IVR"
669
+
670
+ # Export a flow definition
671
+ wxcli cc-flow list-export <project-id> <flow-id> -o json
672
+
673
+ # Import (create) a flow from exported JSON
674
+ wxcli cc-flow create <project-id> --json-body '$(cat flow-export.json)'
675
+
676
+ # Publish a flow
677
+ wxcli cc-flow create-export <project-id> <flow-id> --json-body '{"version":"1.0"}'
678
+ ```
679
+
680
+ ### Raw HTTP
681
+
682
+ ```bash
683
+ # List flows
684
+ GET https://api.wxcc-us1.cisco.com/flow-store/{orgId}/project/{projectId}/flows?flowType=FLOW
685
+ Authorization: Bearer {cc_token}
686
+
687
+ # Export a flow
688
+ GET https://api.wxcc-us1.cisco.com/flow-store/{orgId}/project/{projectId}/flows/{flowId}/export
689
+
690
+ # Import a flow
691
+ POST https://api.wxcc-us1.cisco.com/flow-store/{orgId}/project/{projectId}/flows/import
692
+ Content-Type: application/json
693
+ {...flow definition JSON...}
694
+ ```
695
+
696
+ ---
697
+
698
+ ## 12. Audio Files (cc-audio-files)
699
+
700
+ Audio files are the prompts, greetings, and announcements used in flows, queues, and IVR menus.
701
+ Supports full and partial updates (PUT vs PATCH). 7 commands.
702
+
703
+ ### Commands
704
+
705
+ | CLI Command | HTTP | Description |
706
+ |---|---|---|
707
+ | `wxcli cc-audio-files create` | POST /organization/{orgid}/audio-file | Create audio file |
708
+ | `wxcli cc-audio-files show` | GET /organization/{orgid}/audio-file/{id} | Get by ID |
709
+ | `wxcli cc-audio-files update` | PUT /organization/{orgid}/audio-file/{id} | Full update |
710
+ | `wxcli cc-audio-files update-audio-file` | PATCH /organization/{orgid}/audio-file/{id} | Partial update |
711
+ | `wxcli cc-audio-files delete` | DELETE /organization/{orgid}/audio-file/{id} | Delete by ID |
712
+ | `wxcli cc-audio-files list` | GET /organization/{orgid}/audio-file/{id}/incoming-references | List references |
713
+ | `wxcli cc-audio-files list-audio-file` | GET /organization/{orgid}/v2/audio-file | List (v2) |
714
+
715
+ ### Key Parameters
716
+
717
+ - `--json-body` -- Full JSON body for create/update
718
+ - `id` (argument) -- Audio file ID for show/update/delete/references
719
+
720
+ ### CLI Examples
721
+
722
+ ```bash
723
+ # List all audio files (v2)
724
+ wxcli cc-audio-files list-audio-file
725
+
726
+ # Get a specific audio file
727
+ wxcli cc-audio-files show <audio-file-id>
728
+
729
+ # Create an audio file
730
+ wxcli cc-audio-files create --json-body '{"name":"welcome-greeting","type":"WAV","description":"Main welcome prompt"}'
731
+
732
+ # Partial update (change name only)
733
+ wxcli cc-audio-files update-audio-file <audio-file-id> --json-body '{"name":"updated-greeting"}'
734
+
735
+ # Full update
736
+ wxcli cc-audio-files update <audio-file-id> --json-body '{"name":"updated-greeting","type":"WAV","description":"Updated prompt"}'
737
+
738
+ # Delete an audio file
739
+ wxcli cc-audio-files delete <audio-file-id>
740
+
741
+ # List references (what uses this audio file)
742
+ wxcli cc-audio-files list <audio-file-id>
743
+ ```
744
+
745
+ ### Raw HTTP
746
+
747
+ ```bash
748
+ # List audio files (v2)
749
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/audio-file
750
+ Authorization: Bearer {cc_token}
751
+
752
+ # Partial update
753
+ PATCH https://api.wxcc-us1.cisco.com/organization/{orgId}/audio-file/{id}
754
+ Content-Type: application/json
755
+ {"name":"updated-greeting"}
756
+ ```
757
+
758
+ ---
759
+
760
+ ## 13. Data Sources (cc-data-sources)
761
+
762
+ Data sources define external data connections (CRM systems, databases, APIs) that flows and
763
+ agents can query during interactions. Supports schema discovery for structured data access.
764
+ Uses the `/dataSources` path family (no orgId prefix in the path). 7 commands.
765
+
766
+ ### Commands
767
+
768
+ | CLI Command | HTTP | Description |
769
+ |---|---|---|
770
+ | `wxcli cc-data-sources create` | POST /dataSources | Register a Data Source |
771
+ | `wxcli cc-data-sources list` | GET /dataSources/ | Retrieve All Data Sources |
772
+ | `wxcli cc-data-sources list-schemas` | GET /dataSources/schemas | Retrieve Data Source Schemas |
773
+ | `wxcli cc-data-sources show` | GET /dataSources/schemas/{schemaId} | Retrieve Specific Data Source Schema |
774
+ | `wxcli cc-data-sources show-data-sources` | GET /dataSources/{dataSourceId} | Retrieve Data Source Details |
775
+ | `wxcli cc-data-sources update` | PUT /dataSources/{dataSourceId} | Update a Data Source |
776
+ | `wxcli cc-data-sources delete` | DELETE /dataSources/{dataSourceId} | Delete a Data Source |
777
+
778
+ ### Key Parameters
779
+
780
+ - `--json-body` -- Full JSON body for create/update
781
+ - `schema-id` (argument) -- Schema ID for schema retrieval
782
+ - `data-source-id` (argument) -- Data source ID for show/update/delete
783
+
784
+ ### CLI Examples
785
+
786
+ ```bash
787
+ # List all data sources
788
+ wxcli cc-data-sources list
789
+
790
+ # List available schemas
791
+ wxcli cc-data-sources list-schemas
792
+
793
+ # Get a specific schema
794
+ wxcli cc-data-sources show <schema-id>
795
+
796
+ # Get data source details
797
+ wxcli cc-data-sources show-data-sources <data-source-id>
798
+
799
+ # Register a new data source
800
+ wxcli cc-data-sources create --json-body '{"name":"Salesforce-CRM","type":"REST","url":"https://api.salesforce.com"}'
801
+
802
+ # Update a data source
803
+ wxcli cc-data-sources update <data-source-id> --json-body '{"name":"Salesforce-CRM-v2","url":"https://api2.salesforce.com"}'
804
+
805
+ # Delete a data source
806
+ wxcli cc-data-sources delete <data-source-id>
807
+ ```
808
+
809
+ ### Raw HTTP
810
+
811
+ ```bash
812
+ # List all data sources
813
+ GET https://api.wxcc-us1.cisco.com/dataSources/
814
+ Authorization: Bearer {cc_token}
815
+
816
+ # Register a data source
817
+ POST https://api.wxcc-us1.cisco.com/dataSources
818
+ Content-Type: application/json
819
+ {"name":"Salesforce-CRM","type":"REST","url":"https://api.salesforce.com"}
820
+
821
+ # List schemas
822
+ GET https://api.wxcc-us1.cisco.com/dataSources/schemas
823
+ ```
824
+
825
+ ---
826
+
827
+ ## 14. Resource Collections (cc-resource-collection)
828
+
829
+ Resource collections group related resources (e.g., a set of audio files, skill definitions, or
830
+ team configurations) for bulk management and assignment. 8 commands.
831
+
832
+ ### Commands
833
+
834
+ | CLI Command | HTTP | Description |
835
+ |---|---|---|
836
+ | `wxcli cc-resource-collection create` | POST /organization/{orgid}/resource-collection | Create a new Resource Collection |
837
+ | `wxcli cc-resource-collection update` | PATCH /organization/{orgid}/resource-collection/bulk | Bulk partial update |
838
+ | `wxcli cc-resource-collection create-update-resource` | POST /organization/{orgid}/resource-collection/update-resource | Update resource with default collection |
839
+ | `wxcli cc-resource-collection show` | GET /organization/{orgid}/resource-collection/{id} | Get by ID |
840
+ | `wxcli cc-resource-collection update-resource-collection` | PUT /organization/{orgid}/resource-collection/{id} | Update by ID |
841
+ | `wxcli cc-resource-collection delete` | DELETE /organization/{orgid}/resource-collection/{id} | Delete by ID |
842
+ | `wxcli cc-resource-collection list` | GET /organization/{orgid}/v2/resource-collection | List (v2) |
843
+ | `wxcli cc-resource-collection list-incoming-references` | GET /organization/{orgid}/resource-collection/{id}/incoming-references | List references |
844
+
845
+ ### Key Parameters
846
+
847
+ - `--json-body` -- Full JSON body for create/update
848
+ - `id` (argument) -- Resource collection ID for show/update/delete/references
849
+
850
+ ### CLI Examples
851
+
852
+ ```bash
853
+ # List all resource collections (v2)
854
+ wxcli cc-resource-collection list
855
+
856
+ # Get a specific resource collection
857
+ wxcli cc-resource-collection show <collection-id>
858
+
859
+ # Create a resource collection
860
+ wxcli cc-resource-collection create --json-body '{"name":"US-Resources","description":"US region resource set"}'
861
+
862
+ # Update a resource collection
863
+ wxcli cc-resource-collection update-resource-collection <collection-id> --json-body '{"name":"US-Resources-v2"}'
864
+
865
+ # Bulk partial update
866
+ wxcli cc-resource-collection update --json-body '{"items":[{"id":"coll-1","name":"Updated-1"},{"id":"coll-2","name":"Updated-2"}]}'
867
+
868
+ # Delete a resource collection
869
+ wxcli cc-resource-collection delete <collection-id>
870
+
871
+ # List what references this collection
872
+ wxcli cc-resource-collection list-incoming-references <collection-id>
873
+ ```
874
+
875
+ ### Raw HTTP
876
+
877
+ ```bash
878
+ # List resource collections (v2)
879
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/resource-collection
880
+ Authorization: Bearer {cc_token}
881
+
882
+ # Create a resource collection
883
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/resource-collection
884
+ Content-Type: application/json
885
+ {"name":"US-Resources","description":"US region resource set"}
886
+
887
+ # Bulk partial update
888
+ PATCH https://api.wxcc-us1.cisco.com/organization/{orgId}/resource-collection/bulk
889
+ Content-Type: application/json
890
+ {"items":[{"id":"coll-1","name":"Updated-1"}]}
891
+ ```
892
+
893
+ ---
894
+
895
+ ## 15. Consolidated Endpoint Reference
896
+
897
+ All 98 endpoints across 15 CLI groups, grouped by resource.
898
+
899
+ ### Dial Plans (9)
900
+
901
+ | Method | Path | CLI Command |
902
+ |---|---|---|
903
+ | GET | /organization/{orgid}/dial-plan | `cc-dial-plan list-dial-plan-organization` |
904
+ | POST | /organization/{orgid}/dial-plan | `cc-dial-plan create-dial-plan` |
905
+ | POST | /organization/{orgid}/dial-plan/bulk | `cc-dial-plan create` |
906
+ | GET | /organization/{orgid}/dial-plan/bulk-export | `cc-dial-plan list-bulk-export` |
907
+ | GET | /organization/{orgid}/dial-plan/{id} | `cc-dial-plan show` |
908
+ | DELETE | /organization/{orgid}/dial-plan/{id} | `cc-dial-plan delete` |
909
+ | PUT | /organization/{orgid}/dial-plan/{id} | `cc-dial-plan update` |
910
+ | GET | /organization/{orgid}/dial-plan/{id}/incoming-references | `cc-dial-plan list` |
911
+ | GET | /organization/{orgid}/v2/dial-plan | `cc-dial-plan list-dial-plan-v2` |
912
+
913
+ ### Dial Numbers (12)
914
+
915
+ | Method | Path | CLI Command |
916
+ |---|---|---|
917
+ | GET | /organization/{orgid}/dial-number | `cc-dial-number list` |
918
+ | DELETE | /organization/{orgid}/dial-number | `cc-dial-number delete` |
919
+ | POST | /organization/{orgid}/dial-number | `cc-dial-number create` |
920
+ | POST | /organization/{orgid}/dial-number/bulk | `cc-dial-number create-bulk` |
921
+ | GET | /organization/{orgid}/dial-number/bulk-export | `cc-dial-number list-bulk-export` |
922
+ | GET | /organization/{orgid}/dial-number/numbers-only | `cc-dial-number list-numbers-only` |
923
+ | GET | /organization/{orgid}/dial-number/{id} | `cc-dial-number show` |
924
+ | DELETE | /organization/{orgid}/dial-number/{id} | `cc-dial-number delete-dial-number` |
925
+ | PUT | /organization/{orgid}/dial-number/{id} | `cc-dial-number update` |
926
+ | GET | /organization/{orgid}/dial-number/{id}/incoming-references | `cc-dial-number list-incoming-references` |
927
+ | GET | /organization/{orgid}/v2/dial-number | `cc-dial-number list-dial-number-v2` |
928
+ | GET | /organization/{orgid}/v3/dial-number | (v3 variant, mapped via `list-dial-number-v2` or `list-dial-number-organization`) |
929
+
930
+ ### Outdial ANI (16)
931
+
932
+ | Method | Path | CLI Command |
933
+ |---|---|---|
934
+ | GET | /organization/{orgid}/outdial-ani | `cc-outdial-ani list` |
935
+ | POST | /organization/{orgid}/outdial-ani | `cc-outdial-ani create` |
936
+ | POST | /organization/{orgid}/outdial-ani/bulk | `cc-outdial-ani create-bulk-outdial-ani` |
937
+ | GET | /organization/{orgid}/outdial-ani/bulk-export | `cc-outdial-ani list-bulk-export` |
938
+ | GET | /organization/{orgid}/outdial-ani/entry | `cc-outdial-ani list-entry-outdial-ani` |
939
+ | GET | /organization/{orgid}/outdial-ani/{id} | `cc-outdial-ani show` |
940
+ | DELETE | /organization/{orgid}/outdial-ani/{id} | `cc-outdial-ani delete` |
941
+ | PUT | /organization/{orgid}/outdial-ani/{id} | `cc-outdial-ani update` |
942
+ | GET | /organization/{orgid}/outdial-ani/{id}/incoming-references | `cc-outdial-ani list-incoming-references` |
943
+ | POST | /organization/{orgid}/outdial-ani/{outDialAniId}/entry | `cc-outdial-ani create-entry` |
944
+ | POST | /organization/{orgid}/outdial-ani/{outDialAniId}/entry/bulk | `cc-outdial-ani create-bulk-entry` |
945
+ | GET | /organization/{orgid}/outdial-ani/{outDialAniId}/entry/{id} | `cc-outdial-ani show-entry` |
946
+ | DELETE | /organization/{orgid}/outdial-ani/{outDialAniId}/entry/{id} | `cc-outdial-ani delete-entry` |
947
+ | PUT | /organization/{orgid}/outdial-ani/{outDialAniId}/entry/{id} | `cc-outdial-ani update-entry` |
948
+ | GET | /organization/{orgid}/v2/outdial-ani | `cc-outdial-ani list-outdial-ani` |
949
+ | GET | /organization/{orgid}/v2/outdial-ani/{outDialAniId}/entry | `cc-outdial-ani list-entry-outdial-ani-1` |
950
+
951
+ ### Contact Numbers (8)
952
+
953
+ | Method | Path | CLI Command |
954
+ |---|---|---|
955
+ | POST | /organization/{orgid}/contact-number | `cc-contact-number create` |
956
+ | GET | /organization/{orgid}/contact-number/all-numbers | `cc-contact-number list` |
957
+ | POST | /organization/{orgid}/contact-number/bulk | `cc-contact-number create-bulk` |
958
+ | GET | /organization/{orgid}/contact-number/bulk-export | `cc-contact-number list-bulk-export` |
959
+ | GET | /organization/{orgid}/contact-number/{id} | `cc-contact-number show` |
960
+ | DELETE | /organization/{orgid}/contact-number/{id} | `cc-contact-number delete` |
961
+ | PUT | /organization/{orgid}/contact-number/{id} | `cc-contact-number update` |
962
+ | GET | /organization/{orgid}/v2/contact-number | `cc-contact-number list-contact-number` |
963
+
964
+ ### Callbacks (5)
965
+
966
+ | Method | Path | CLI Command |
967
+ |---|---|---|
968
+ | POST | /v1/callbacks/organization/{orgId}/scheduled-callback | `cc-callbacks create` |
969
+ | GET | /v1/callbacks/organization/{orgId}/scheduled-callback | `cc-callbacks list` |
970
+ | GET | /v1/callbacks/organization/{orgId}/scheduled-callback/{id} | `cc-callbacks show` |
971
+ | DELETE | /v1/callbacks/organization/{orgId}/scheduled-callback/{id} | `cc-callbacks delete` |
972
+ | PUT | /v1/callbacks/organization/{orgId}/scheduled-callback/{id} | `cc-callbacks update` |
973
+
974
+ ### Estimated Wait Time (1)
975
+
976
+ | Method | Path | CLI Command |
977
+ |---|---|---|
978
+ | GET | /v1/ewt | `cc-ewt show` |
979
+
980
+ ### Overrides (9)
981
+
982
+ | Method | Path | CLI Command |
983
+ |---|---|---|
984
+ | GET | /organization/{orgid}/overrides | `cc-overrides list` |
985
+ | POST | /organization/{orgid}/overrides | `cc-overrides create` |
986
+ | POST | /organization/{orgid}/overrides/bulk | `cc-overrides create-bulk` |
987
+ | GET | /organization/{orgid}/overrides/bulk-export | `cc-overrides list-bulk-export` |
988
+ | GET | /organization/{orgid}/overrides/{id} | `cc-overrides show` |
989
+ | DELETE | /organization/{orgid}/overrides/{id} | `cc-overrides delete` |
990
+ | PUT | /organization/{orgid}/overrides/{id} | `cc-overrides update` |
991
+ | GET | /organization/{orgid}/overrides/{id}/incoming-references | `cc-overrides list-incoming-references` |
992
+ | GET | /organization/{orgid}/v2/overrides | `cc-overrides list-overrides` |
993
+
994
+ ### Campaigns (3)
995
+
996
+ | Method | Path | CLI Command |
997
+ |---|---|---|
998
+ | POST | /v1/dialer/campaign | `cc-campaign create` |
999
+ | PUT | /v1/dialer/campaign/{campaignId} | `cc-campaign update` |
1000
+ | DELETE | /v1/dialer/campaign/{campaignId} | `cc-campaign delete` |
1001
+
1002
+ ### Contact Lists (5)
1003
+
1004
+ | Method | Path | CLI Command |
1005
+ |---|---|---|
1006
+ | POST | /v3/campaign-management/campaigns/{campaignId}/contact-list | `cc-contact-list create` |
1007
+ | POST | /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/contacts | `cc-contact-list create-contacts` |
1008
+ | PATCH | /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/contacts/{contactId} | `cc-contact-list update` |
1009
+ | PATCH | /v3/campaign-management/campaigns/{campaignId}/contact-list/{contactListId}/status | `cc-contact-list update-status` |
1010
+ | GET | /v3/campaign-management/campaigns/{campaignId}/contact-lists | `cc-contact-list list` |
1011
+
1012
+ ### DNC (3)
1013
+
1014
+ | Method | Path | CLI Command |
1015
+ |---|---|---|
1016
+ | POST | /v3/campaign-management/dncList/{dncListName}/phoneNumber | `cc-dnc create` |
1017
+ | GET | /v3/campaign-management/dncList/{dncListName}/phoneNumber/{phoneNumber} | `cc-dnc show` |
1018
+ | DELETE | /v3/campaign-management/dncList/{dncListName}/phoneNumber/{phoneNumber} | `cc-dnc delete` |
1019
+
1020
+ ### Captures (1)
1021
+
1022
+ | Method | Path | CLI Command |
1023
+ |---|---|---|
1024
+ | POST | /v1/captures/query | `cc-captures create` |
1025
+
1026
+ ### Flows (4)
1027
+
1028
+ | Method | Path | CLI Command |
1029
+ |---|---|---|
1030
+ | GET | /flow-store/{orgId}/project/{projectId}/flows | `cc-flow list` |
1031
+ | POST | /flow-store/{orgId}/project/{projectId}/flows/import | `cc-flow create` |
1032
+ | GET | /flow-store/{orgId}/project/{projectId}/flows/{flowId}/export | `cc-flow list-export` |
1033
+ | POST | /flow-store/{orgId}/project/{projectId}/flows/{flowId}/export | `cc-flow create-export` |
1034
+
1035
+ ### Audio Files (7)
1036
+
1037
+ | Method | Path | CLI Command |
1038
+ |---|---|---|
1039
+ | POST | /organization/{orgid}/audio-file | `cc-audio-files create` |
1040
+ | DELETE | /organization/{orgid}/audio-file/{id} | `cc-audio-files delete` |
1041
+ | GET | /organization/{orgid}/audio-file/{id} | `cc-audio-files show` |
1042
+ | PATCH | /organization/{orgid}/audio-file/{id} | `cc-audio-files update-audio-file` |
1043
+ | PUT | /organization/{orgid}/audio-file/{id} | `cc-audio-files update` |
1044
+ | GET | /organization/{orgid}/audio-file/{id}/incoming-references | `cc-audio-files list` |
1045
+ | GET | /organization/{orgid}/v2/audio-file | `cc-audio-files list-audio-file` |
1046
+
1047
+ ### Data Sources (7)
1048
+
1049
+ | Method | Path | CLI Command |
1050
+ |---|---|---|
1051
+ | POST | /dataSources | `cc-data-sources create` |
1052
+ | GET | /dataSources/ | `cc-data-sources list` |
1053
+ | GET | /dataSources/schemas | `cc-data-sources list-schemas` |
1054
+ | GET | /dataSources/schemas/{schemaId} | `cc-data-sources show` |
1055
+ | DELETE | /dataSources/{dataSourceId} | `cc-data-sources delete` |
1056
+ | PUT | /dataSources/{dataSourceId} | `cc-data-sources update` |
1057
+ | GET | /dataSources/{dataSourceId} | `cc-data-sources show-data-sources` |
1058
+
1059
+ ### Resource Collections (8)
1060
+
1061
+ | Method | Path | CLI Command |
1062
+ |---|---|---|
1063
+ | POST | /organization/{orgid}/resource-collection | `cc-resource-collection create` |
1064
+ | PATCH | /organization/{orgid}/resource-collection/bulk | `cc-resource-collection update` |
1065
+ | POST | /organization/{orgid}/resource-collection/update-resource | `cc-resource-collection create-update-resource` |
1066
+ | GET | /organization/{orgid}/resource-collection/{id} | `cc-resource-collection show` |
1067
+ | DELETE | /organization/{orgid}/resource-collection/{id} | `cc-resource-collection delete` |
1068
+ | PUT | /organization/{orgid}/resource-collection/{id} | `cc-resource-collection update-resource-collection` |
1069
+ | GET | /organization/{orgid}/resource-collection/{id}/incoming-references | `cc-resource-collection list-incoming-references` |
1070
+ | GET | /organization/{orgid}/v2/resource-collection | `cc-resource-collection list` |
1071
+
1072
+ ---
1073
+
1074
+ ## 16. Gotchas
1075
+
1076
+ 1. **CC dial plans are separate from Webex Calling dial plans.** Different API, different base URL (`api.wxcc-{region}.cisco.com` vs `webexapis.com`), different configuration model. Do not confuse `wxcli cc-dial-plan` with `wxcli dial-plan`.
1077
+
1078
+ 2. **Dial numbers have a "delete all" endpoint.** `wxcli cc-dial-number delete` (DELETE /organization/{orgid}/dial-number) deletes ALL dialed number mappings in the org. To delete a single mapping, use `wxcli cc-dial-number delete-dial-number <id>`.
1079
+
1080
+ 3. **Callbacks use runtime paths, not config paths.** The callback API uses `/v1/callbacks/organization/{orgId}/scheduled-callback`, not the standard `/organization/{orgid}/` config pattern.
1081
+
1082
+ 4. **Campaign APIs use `/v1/dialer/` paths.** These are separate from both the config API and the callback API. Campaign start/stop/update all go through the dialer runtime API.
1083
+
1084
+ 5. **Contact list and DNC APIs use `/v3/campaign-management/` paths.** Yet another path family, distinct from both config and dialer paths. All require a campaign ID in the path.
1085
+
1086
+ 6. **Flow APIs use `/flow-store/{orgId}/project/{projectId}/flows`.** This is the only path family that requires a `projectId`. You must know your project ID before working with flows.
1087
+
1088
+ 7. **Data Sources use `/dataSources` (no orgId prefix).** The only resource in this doc that does not include the org ID in the URL path. Auth still determines the org context.
1089
+
1090
+ 8. **Outdial ANI has a two-level structure.** ANI profiles contain ANI entries. Entry-level operations require both the parent ANI ID (`outDialAniId`) and the entry ID. The `list-entry-outdial-ani` and `list-entry-outdial-ani-1` commands list entries at different API versions.
1091
+
1092
+ 9. **The captures endpoint uses POST for queries.** `wxcli cc-captures create` is named `create` because it uses POST, but it performs a search/query operation. The request body contains search filters, not a new resource to create.
1093
+
1094
+ 10. **EWT is read-only.** A single GET endpoint with no write operations. It reports queue wait time estimates, not configuration.
1095
+
1096
+ 11. **Five distinct path families.** This doc covers endpoints across five different URL patterns:
1097
+ - `/organization/{orgid}/...` -- Config API (dial plans, dial numbers, outdial ANI, contact numbers, overrides, audio files, resource collections)
1098
+ - `/v1/callbacks/...` -- Callback runtime API
1099
+ - `/v1/dialer/...` and `/v1/captures/...` -- Dialer and capture runtime APIs
1100
+ - `/v3/campaign-management/...` -- Campaign management API
1101
+ - `/flow-store/{orgId}/...` -- Flow store API
1102
+ - `/dataSources/...` -- Data sources API
1103
+
1104
+ 12. **CC APIs require CC-scoped OAuth.** Standard Webex admin tokens will not work. You need tokens with `cjp:config_read` and/or `cjp:config_write` scopes. If you get a 403, run `wxcli set-cc-region <region>` and verify your token has CC scopes.
1105
+
1106
+ 13. **Region matters.** All CC API calls go to `api.wxcc-{region}.cisco.com`. Valid regions: `us1`, `eu1`, `eu2`, `anz1`, `ca1`, `jp1`, `sg1`. Using the wrong region returns 401/403. Set with `wxcli set-cc-region`.
1107
+
1108
+ 14. **Bulk operations use different patterns.** Config resources support `/bulk` (POST for bulk save) and `/bulk-export` (GET for bulk export). The bulk save `create` commands expect an `items` array with `requestAction` per item.
1109
+
1110
+ 15. **`/bulk-export` endpoints deprecated April 2026.** The GET `/bulk-export` endpoints for all config resources (dial plans, dial numbers, outdial ANI, contact numbers, overrides, audio files, and others) are deprecated in favor of the list endpoints. Prefer `list-dial-plan-v2`, `list-dial-number-v2`, etc. The `list-bulk-export` CLI commands remain in place until the endpoints are removed but should not be used in new code.
1111
+
1112
+ 16. **Posting JDS events from Flow Designer requires `workspaceId` as a query parameter.** Use an HTTP Request node with method POST and full absolute URL: `https://api.wxcc-us1.cisco.com/publish/v1/api/event?workspaceId={{CJDS_Workspace_ID}}`. The body does not contain `workspaceId` — it goes on the query string only. Minimum body:
1113
+ ```json
1114
+ {
1115
+ "id": "{{DialedDNIS}}-{{CallerANI}}",
1116
+ "specversion": "1.0",
1117
+ "type": "custom:your_event_type",
1118
+ "source": "wxcc_flow",
1119
+ "identity": "{{CallerANI}}",
1120
+ "identitytype": "phone",
1121
+ "datacontenttype": "application/json",
1122
+ "data": {}
1123
+ }
1124
+ ```
1125
+
1126
+ 17. **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 prefix with `https://api.wxcc-{region}.cisco.com`.
1127
+
1128
+ 18. **Use JDS alias lookup to detect returning callers in a flow.** Query `GET /admin/v1/api/person/workspace-id/{workspaceId}/aliases/{callerANI}` at flow entry. If the person exists and has prior events (events with timestamps before the current contact), they are a returning caller. If NOT_FOUND or no prior events, treat as first-time. WXCC writes ANI in E.164 format (`+19103915567`) — pass the number with `+1` prefix in the lookup or it will miss.
1129
+
1130
+ ---
1131
+
1132
+ ## 17. See Also
1133
+
1134
+ - [Contact Center: Core](contact-center-core.md) -- Agents, queues, teams, skills, desktop, configuration
1135
+ - [Contact Center: Analytics](contact-center-analytics.md) -- AI, monitoring, subscriptions, tasks, search
1136
+ - [Contact Center: Journey](contact-center-journey.md) -- JDS: workspaces, persons, identity, profile views, events
1137
+ - [Call Routing & PSTN](call-routing.md) -- Webex Calling routing (trunks, route groups, route lists -- entirely separate from CC routing)
1138
+ - [Authentication](authentication.md) -- CC-specific OAuth scopes and region configuration