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,1049 @@
1
+ # Contact Center: AI, Analytics, Monitoring, and Events
2
+
3
+ Reference for Webex Contact Center AI features, customer journey analytics, call monitoring,
4
+ event subscriptions, and task management. Covers 13 CLI groups with 123 commands generated
5
+ from the Contact Center OpenAPI spec.
6
+
7
+ > **Regional base URL:** `https://api.wxcc-{region}.cisco.com`
8
+ > **Regions:** us1, eu1, eu2, anz1, ca1, jp1, sg1
9
+ > **Auth:** CC-specific OAuth scopes (`cjp:config_read`, `cjp:config_write`)
10
+ > **Set region:** `wxcli set-cc-region <region>` (defaults to us1)
11
+
12
+ ## Sources
13
+
14
+ - OpenAPI spec: `specs/webex-contact-center.json`
15
+ - developer.webex.com Contact Center APIs
16
+
17
+ ## Table of Contents
18
+
19
+ 1. [AI Assistant](#1-ai-assistant)
20
+ 2. [AI Feature](#2-ai-feature)
21
+ 3. [Auto CSAT](#3-auto-csat)
22
+ 4. [Generated Summaries](#4-generated-summaries)
23
+ 5. [Agent Summaries](#5-agent-summaries)
24
+ 6. [Journey (Moved)](#6-journey-moved) → [`contact-center-journey.md`](contact-center-journey.md)
25
+ 7. [Call Monitoring](#7-call-monitoring)
26
+ 8. [Realtime](#8-realtime)
27
+ 9. [Subscriptions](#9-subscriptions)
28
+ 10. [Tasks](#10-tasks)
29
+ 11. [Notifications](#11-notifications)
30
+ 12. [Search](#12-search)
31
+ 13. [Address Book](#13-address-book)
32
+ 14. [Raw HTTP Endpoint Table](#raw-http-endpoint-table)
33
+ 15. [Gotchas](#gotchas)
34
+ 16. [See Also](#see-also)
35
+
36
+ ---
37
+
38
+ ## 1. AI Assistant
39
+
40
+ CLI group: `wxcli cc-ai-assistant` (1 command)
41
+
42
+ The AI Assistant endpoint accepts events and returns AI-generated suggestions for agents
43
+ during active contact handling. This is a runtime API that feeds the agent desktop with
44
+ contextual recommendations.
45
+
46
+ ### Commands
47
+
48
+ | CLI Command | HTTP | Description |
49
+ |-------------|------|-------------|
50
+ | `create` | POST `/event` | Get suggestions from the AI assistant |
51
+
52
+ ### Key Parameters
53
+
54
+ - `--json-body` — Full JSON body containing the event payload (required for meaningful responses)
55
+
56
+ ### CLI Examples
57
+
58
+ ```bash
59
+ # Get AI suggestions for an active contact
60
+ wxcli cc-ai-assistant create --json-body '{
61
+ "eventType": "agent:desktop",
62
+ "contactId": "abc123",
63
+ "agentId": "agent-456"
64
+ }'
65
+ ```
66
+
67
+ ### Raw HTTP
68
+
69
+ ```
70
+ POST https://api.wxcc-us1.cisco.com/event
71
+ Authorization: Bearer {cc_token}
72
+ Content-Type: application/json
73
+
74
+ {
75
+ "eventType": "agent:desktop",
76
+ "contactId": "abc123",
77
+ "agentId": "agent-456"
78
+ }
79
+ ```
80
+
81
+ ---
82
+
83
+ ## 2. AI Feature
84
+
85
+ CLI group: `wxcli cc-ai-feature` (3 commands)
86
+
87
+ Manage AI feature configurations for the contact center organization. AI features control
88
+ which AI capabilities (agent answers, auto-summaries, sentiment analysis, etc.) are enabled
89
+ and how they are configured.
90
+
91
+ ### Commands
92
+
93
+ | CLI Command | HTTP | Description |
94
+ |-------------|------|-------------|
95
+ | `show` | GET `/organization/{orgid}/ai-feature/{id}` | Get specific AI Feature resource by ID |
96
+ | `update` | PATCH `/organization/{orgid}/ai-feature/{id}` | Partially update AI Feature resource by ID |
97
+ | `list` | GET `/organization/{orgid}/v2/ai-feature` | List AI Feature resources |
98
+
99
+ ### Key Parameters
100
+
101
+ - `id` (positional) — AI Feature resource ID (for show/update)
102
+ - `--json-body` — Partial update payload (for update)
103
+ - `--output` / `-o` — Output format: `table` or `json`
104
+
105
+ ### CLI Examples
106
+
107
+ ```bash
108
+ # List all AI features
109
+ wxcli cc-ai-feature list
110
+
111
+ # Get a specific AI feature
112
+ wxcli cc-ai-feature show feat-abc-123
113
+
114
+ # Enable/disable an AI feature
115
+ wxcli cc-ai-feature update feat-abc-123 --json-body '{"active": true}'
116
+ ```
117
+
118
+ ### Raw HTTP
119
+
120
+ ```
121
+ # List AI features
122
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/ai-feature
123
+ Authorization: Bearer {cc_token}
124
+
125
+ # Get specific AI feature
126
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/ai-feature/{id}
127
+ Authorization: Bearer {cc_token}
128
+
129
+ # Partial update
130
+ PATCH https://api.wxcc-us1.cisco.com/organization/{orgId}/ai-feature/{id}
131
+ Authorization: Bearer {cc_token}
132
+ Content-Type: application/json
133
+
134
+ {"active": true}
135
+ ```
136
+
137
+ ---
138
+
139
+ ## 3. Auto CSAT
140
+
141
+ > **Deprecated (April 2026).** The standalone Auto CSAT API is deprecated and will be removed in a future release. Use the consolidated `AI Feature` API (Section 2) instead. Existing configurations continue to work until removal is announced.
142
+
143
+ CLI group: `wxcli cc-auto-csat` (8 commands)
144
+
145
+ Auto CSAT (Customer Satisfaction) automates customer satisfaction scoring using AI analysis
146
+ of contact interactions. The API has a two-level structure: Auto CSAT configurations at the
147
+ top level, with mapped questions nested underneath.
148
+
149
+ ### Commands
150
+
151
+ | CLI Command | HTTP | Description |
152
+ |-------------|------|-------------|
153
+ | `create` | POST `.../auto-csat/{autoCsatId}/question` | Create a new mapped question |
154
+ | `create-bulk` | POST `.../auto-csat/{autoCsatId}/question/bulk` | Bulk save mapped questions |
155
+ | `show` | GET `.../auto-csat/{autoCsatId}/question/{id}` | Get specific mapped question by ID |
156
+ | `delete` | DELETE `.../auto-csat/{autoCsatId}/question/{id}` | Delete specific mapped question by ID |
157
+ | `show-auto-csat` | GET `.../auto-csat/{id}` | Get specific Auto CSAT resource by ID |
158
+ | `update` | PUT `.../auto-csat/{id}` | Update specific Auto CSAT resource by ID |
159
+ | `list` | GET `.../v2/auto-csat` | List Auto CSAT resources (v2) |
160
+ | `list-question` | GET `.../v2/auto-csat/{autoCsatId}/question` | List mapped questions (v2) |
161
+
162
+ All paths are prefixed with `/organization/{orgid}`.
163
+
164
+ ### Key Parameters
165
+
166
+ - `auto-csat-id` (positional) — Auto CSAT configuration ID
167
+ - `id` (positional) — Question ID (for show/delete)
168
+ - `--json-body` — Full JSON body for create/update operations
169
+
170
+ ### CLI Examples
171
+
172
+ ```bash
173
+ # List all Auto CSAT configurations
174
+ wxcli cc-auto-csat list
175
+
176
+ # Get a specific Auto CSAT config
177
+ wxcli cc-auto-csat show-auto-csat csat-001
178
+
179
+ # List questions for an Auto CSAT config
180
+ wxcli cc-auto-csat list-question csat-001
181
+
182
+ # Create a new mapped question
183
+ wxcli cc-auto-csat create csat-001 --json-body '{
184
+ "question": "How satisfied were you with the service?",
185
+ "questionType": "rating",
186
+ "scale": 5
187
+ }'
188
+
189
+ # Bulk save questions
190
+ wxcli cc-auto-csat create-bulk csat-001 --json-body '{
191
+ "questions": [
192
+ {"question": "Rate agent helpfulness", "questionType": "rating", "scale": 5},
193
+ {"question": "Would you recommend us?", "questionType": "boolean"}
194
+ ]
195
+ }'
196
+ ```
197
+
198
+ ### Raw HTTP
199
+
200
+ ```
201
+ # List Auto CSAT configs
202
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/auto-csat
203
+ Authorization: Bearer {cc_token}
204
+
205
+ # Create mapped question
206
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/auto-csat/{autoCsatId}/question
207
+ Authorization: Bearer {cc_token}
208
+ Content-Type: application/json
209
+
210
+ {"question": "How satisfied were you?", "questionType": "rating", "scale": 5}
211
+ ```
212
+
213
+ ---
214
+
215
+ ## 4. Generated Summaries
216
+
217
+ CLI group: `wxcli cc-summaries` (3 commands)
218
+
219
+ Manage AI-generated summary configurations. These control how the system generates
220
+ post-interaction summaries for agents and supervisors.
221
+
222
+ ### Commands
223
+
224
+ | CLI Command | HTTP | Description |
225
+ |-------------|------|-------------|
226
+ | `show` | GET `/organization/{orgid}/generated-summaries/{id}` | Get specific resource by ID |
227
+ | `update` | PUT `/organization/{orgid}/generated-summaries/{id}` | Update specific resource by ID |
228
+ | `list` | GET `/organization/{orgid}/v2/generated-summaries` | List resources (v2) |
229
+
230
+ ### Key Parameters
231
+
232
+ - `id` (positional) — Generated Summaries resource ID
233
+ - `--json-body` — Full JSON body for update
234
+ - `--output` / `-o` — Output format: `table` or `json`
235
+
236
+ ### CLI Examples
237
+
238
+ ```bash
239
+ # List generated summary configs
240
+ wxcli cc-summaries list
241
+
242
+ # Get a specific summary config
243
+ wxcli cc-summaries show summary-abc-123
244
+
245
+ # Update summary config
246
+ wxcli cc-summaries update summary-abc-123 --json-body '{"active": true}'
247
+ ```
248
+
249
+ ### Raw HTTP
250
+
251
+ ```
252
+ # List
253
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v2/generated-summaries
254
+ Authorization: Bearer {cc_token}
255
+
256
+ # Update
257
+ PUT https://api.wxcc-us1.cisco.com/organization/{orgId}/generated-summaries/{id}
258
+ Authorization: Bearer {cc_token}
259
+ Content-Type: application/json
260
+
261
+ {"active": true}
262
+ ```
263
+
264
+ ---
265
+
266
+ ## 5. Agent Summaries
267
+
268
+ CLI group: `wxcli cc-agent-summaries` (2 commands)
269
+
270
+ Search and list agent interaction summaries. Both endpoints use POST (not GET) because
271
+ the query parameters are passed in the request body.
272
+
273
+ ### Commands
274
+
275
+ | CLI Command | HTTP | Description |
276
+ |-------------|------|-------------|
277
+ | `create` | POST `/generated-summaries/search` | Search summaries |
278
+ | `create-list` | POST `/summary/list` | List summaries |
279
+
280
+ ### Key Parameters
281
+
282
+ - `--json-body` — Search/filter criteria in the request body
283
+
284
+ ### CLI Examples
285
+
286
+ ```bash
287
+ # Search summaries
288
+ wxcli cc-agent-summaries create --json-body '{
289
+ "filter": {"agentId": "agent-456", "from": "2026-03-01T00:00:00Z"}
290
+ }'
291
+
292
+ # List summaries
293
+ wxcli cc-agent-summaries create-list --json-body '{
294
+ "agentId": "agent-456"
295
+ }'
296
+ ```
297
+
298
+ ### Raw HTTP
299
+
300
+ ```
301
+ # Search summaries
302
+ POST https://api.wxcc-us1.cisco.com/generated-summaries/search
303
+ Authorization: Bearer {cc_token}
304
+ Content-Type: application/json
305
+
306
+ {"filter": {"agentId": "agent-456", "from": "2026-03-01T00:00:00Z"}}
307
+
308
+ # List summaries
309
+ POST https://api.wxcc-us1.cisco.com/summary/list
310
+ Authorization: Bearer {cc_token}
311
+ Content-Type: application/json
312
+
313
+ {"agentId": "agent-456"}
314
+ ```
315
+
316
+ ---
317
+
318
+ ## 6. Journey (Moved)
319
+
320
+ **JDS has been moved to its own reference doc: [`contact-center-journey.md`](contact-center-journey.md).**
321
+
322
+ 41 commands covering workspaces, persons, identity resolution, profile view templates,
323
+ progressive profile views, event ingestion, and WXCC subscriptions. See that doc for
324
+ full API reference, raw HTTP table, and gotchas.
325
+
326
+ ---
327
+
328
+ ## 7. Call Monitoring
329
+
330
+ CLI group: `wxcli cc-call-monitoring` (7 commands)
331
+
332
+ Real-time call monitoring for supervisors. Supports creating monitoring sessions, barge-in,
333
+ hold/unhold monitoring, and session management. Most operations use `taskId` to identify the
334
+ contact being monitored, but delete uses `requestId`.
335
+
336
+ ### Commands
337
+
338
+ | CLI Command | HTTP | Description |
339
+ |-------------|------|-------------|
340
+ | `create-monitor` | POST `/v1/monitor` | Create monitoring request |
341
+ | `list` | GET `/v1/monitor/sessions` | Fetch monitoring sessions |
342
+ | `delete` | DELETE `/v1/monitor/{requestId}` | Delete monitoring request |
343
+ | `create-barge-in` | POST `/v1/monitor/{taskId}/bargeIn` | Barge-in to monitored call |
344
+ | `create-end` | POST `/v1/monitor/{taskId}/end` | End monitoring session |
345
+ | `create-hold` | POST `/v1/monitor/{taskId}/hold` | Hold monitoring request |
346
+ | `create` | POST `/v1/monitor/{taskId}/unhold` | Unhold monitoring request |
347
+
348
+ ### Key Parameters
349
+
350
+ - `task-id` (positional) — Task ID of the contact to monitor (for barge-in, end, hold, unhold)
351
+ - `request-id` (positional) — Monitoring request ID (for delete)
352
+ - `--json-body` — Monitoring request configuration
353
+
354
+ ### CLI Examples
355
+
356
+ ```bash
357
+ # Create a monitoring session
358
+ wxcli cc-call-monitoring create-monitor --json-body '{
359
+ "taskId": "task-789",
360
+ "monitorType": "silentMonitor"
361
+ }'
362
+
363
+ # List active monitoring sessions
364
+ wxcli cc-call-monitoring list
365
+
366
+ # Barge into a monitored call
367
+ wxcli cc-call-monitoring create-barge-in task-789
368
+
369
+ # Hold monitoring
370
+ wxcli cc-call-monitoring create-hold task-789
371
+
372
+ # Unhold monitoring
373
+ wxcli cc-call-monitoring create task-789
374
+
375
+ # End monitoring session
376
+ wxcli cc-call-monitoring create-end task-789
377
+
378
+ # Delete a monitoring request
379
+ wxcli cc-call-monitoring delete req-abc-123
380
+ ```
381
+
382
+ ### Raw HTTP
383
+
384
+ ```
385
+ # Create monitoring session
386
+ POST https://api.wxcc-us1.cisco.com/v1/monitor
387
+ Authorization: Bearer {cc_token}
388
+ Content-Type: application/json
389
+
390
+ {"taskId": "task-789", "monitorType": "silentMonitor"}
391
+
392
+ # List active sessions
393
+ GET https://api.wxcc-us1.cisco.com/v1/monitor/sessions
394
+ Authorization: Bearer {cc_token}
395
+
396
+ # Barge in
397
+ POST https://api.wxcc-us1.cisco.com/v1/monitor/{taskId}/bargeIn
398
+ Authorization: Bearer {cc_token}
399
+ ```
400
+
401
+ ---
402
+
403
+ ## 8. Realtime
404
+
405
+ CLI group: `wxcli cc-realtime` (1 command)
406
+
407
+ Subscribe to real-time notification feeds for contact center events. Returns a WebSocket
408
+ or SSE connection for streaming agent state, task, and queue updates.
409
+
410
+ ### Commands
411
+
412
+ | CLI Command | HTTP | Description |
413
+ |-------------|------|-------------|
414
+ | `create` | POST `/v1/realtime/subscribe` | Subscribe to realtime notifications |
415
+
416
+ ### CLI Examples
417
+
418
+ ```bash
419
+ # Subscribe to realtime notifications
420
+ wxcli cc-realtime create --json-body '{
421
+ "resource": "task",
422
+ "subscriptionIds": ["sub-001"]
423
+ }'
424
+ ```
425
+
426
+ ### Raw HTTP
427
+
428
+ ```
429
+ POST https://api.wxcc-us1.cisco.com/v1/realtime/subscribe
430
+ Authorization: Bearer {cc_token}
431
+ Content-Type: application/json
432
+
433
+ {"resource": "task", "subscriptionIds": ["sub-001"]}
434
+ ```
435
+
436
+ ---
437
+
438
+ ## 9. Subscriptions
439
+
440
+ CLI group: `wxcli cc-subscriptions` (12 commands)
441
+
442
+ Manage event subscriptions for the contact center. Subscriptions define which events
443
+ (agent state changes, task events, queue updates) are delivered to your application.
444
+ Both v1 and v2 APIs are available — v2 adds enhanced event types.
445
+
446
+ ### Commands
447
+
448
+ | CLI Command | HTTP | Description |
449
+ |-------------|------|-------------|
450
+ | `list-event-types-v1` | GET `/v1/event-types` | List event types (v1) |
451
+ | `list` | GET `/v1/subscriptions` | List subscriptions (v1) |
452
+ | `create` | POST `/v1/subscriptions` | Register subscription (v1) |
453
+ | `show` | GET `/v1/subscriptions/{id}` | Get subscription (v1) |
454
+ | `delete` | DELETE `/v1/subscriptions/{id}` | Delete subscription (v1) |
455
+ | `update` | PATCH `/v1/subscriptions/{id}` | Update subscription (v1) |
456
+ | `list-event-types-v2` | GET `/v2/event-types` | List event types (v2) |
457
+ | `list-subscriptions` | GET `/v2/subscriptions` | List subscriptions (v2) |
458
+ | `create-subscriptions` | POST `/v2/subscriptions` | Register subscription (v2) |
459
+ | `show-subscriptions` | GET `/v2/subscriptions/{id}` | Get subscription (v2) |
460
+ | `delete-subscriptions` | DELETE `/v2/subscriptions/{id}` | Delete subscription (v2) |
461
+ | `update-subscriptions` | PATCH `/v2/subscriptions/{id}` | Update subscription (v2) |
462
+
463
+ ### Key Parameters
464
+
465
+ - `id` (positional) — Subscription ID (for show/update/delete)
466
+ - `--json-body` — Subscription registration or update payload
467
+
468
+ ### CLI Examples
469
+
470
+ ```bash
471
+ # List available event types (v2)
472
+ wxcli cc-subscriptions list-event-types-v2
473
+
474
+ # Register a v2 subscription (uses resourceVersion, v2 event names)
475
+ wxcli cc-subscriptions create-subscriptions --json-body '{
476
+ "name": "Agent State Changes",
477
+ "eventTypes": ["agent:channel_state_change"],
478
+ "resourceVersion": "agent:2.0.0",
479
+ "callbackUrl": "https://example.com/cc-webhook"
480
+ }'
481
+
482
+ # List active subscriptions
483
+ wxcli cc-subscriptions list-subscriptions
484
+
485
+ # Get subscription details
486
+ wxcli cc-subscriptions show-subscriptions sub-001
487
+
488
+ # Update subscription
489
+ wxcli cc-subscriptions update-subscriptions sub-001 --json-body '{
490
+ "eventTypes": ["agent:channel_state_change", "task:new"]
491
+ }'
492
+
493
+ # Delete subscription
494
+ wxcli cc-subscriptions delete-subscriptions sub-001
495
+ ```
496
+
497
+ ### Raw HTTP
498
+
499
+ ```
500
+ # List event types (v2)
501
+ GET https://api.wxcc-us1.cisco.com/v2/event-types
502
+ Authorization: Bearer {cc_token}
503
+
504
+ # Register subscription (v2)
505
+ POST https://api.wxcc-us1.cisco.com/v2/subscriptions
506
+ Authorization: Bearer {cc_token}
507
+ Content-Type: application/json
508
+
509
+ {
510
+ "name": "Agent State Changes",
511
+ "eventTypes": ["agent:channel_state_change"],
512
+ "resourceVersion": "agent:2.0.0",
513
+ "callbackUrl": "https://example.com/cc-webhook"
514
+ }
515
+
516
+ # Get subscription
517
+ GET https://api.wxcc-us1.cisco.com/v2/subscriptions/{id}
518
+ Authorization: Bearer {cc_token}
519
+ ```
520
+
521
+ ---
522
+
523
+ ## 10. Tasks
524
+
525
+ CLI group: `wxcli cc-tasks` (24 commands)
526
+
527
+ The Tasks API is the primary agent interaction API — it handles the full contact/call
528
+ lifecycle from creation through wrap-up. Agents accept, hold, transfer, consult, conference,
529
+ and wrap up tasks. The API also handles preview dialer tasks and recording controls.
530
+
531
+ ### Commands
532
+
533
+ | CLI Command | HTTP | Description |
534
+ |-------------|------|-------------|
535
+ | `list` | GET `/v1/tasks` | Get tasks |
536
+ | `create` | POST `/v1/tasks` | Create task (v1) |
537
+ | `update` | PATCH `/v1/tasks/{taskId}` | Update task |
538
+ | `create-accept-tasks` | POST `/v1/tasks/{taskId}/accept` | Accept task |
539
+ | `create-assign` | POST `/v1/tasks/{taskId}/assign` | Assign task |
540
+ | `create-exit` | POST `/v1/tasks/{taskId}/conference/exit` | Exit conference |
541
+ | `create-consult` | POST `/v1/tasks/{taskId}/consult` | Consult |
542
+ | `create-accept-consult` | POST `/v1/tasks/{taskId}/consult/accept` | Accept consult |
543
+ | `create-conference` | POST `/v1/tasks/{taskId}/consult/conference` | Consult conference |
544
+ | `create-end-consult` | POST `/v1/tasks/{taskId}/consult/end` | End consult |
545
+ | `create-transfer-consult` | POST `/v1/tasks/{taskId}/consult/transfer` | Consult transfer |
546
+ | `create-end-tasks` | POST `/v1/tasks/{taskId}/end` | End task |
547
+ | `create-hold` | POST `/v1/tasks/{taskId}/hold` | Hold task |
548
+ | `create-pause` | POST `/v1/tasks/{taskId}/record/pause` | Pause recording |
549
+ | `create-resume` | POST `/v1/tasks/{taskId}/record/resume` | Resume recording |
550
+ | `create-reject` | POST `/v1/tasks/{taskId}/reject` | Reject task |
551
+ | `create-transfer-tasks` | POST `/v1/tasks/{taskId}/transfer` | Transfer task |
552
+ | `create-unhold` | POST `/v1/tasks/{taskId}/unhold` | Resume (unhold) |
553
+ | `create-wrapup` | POST `/v1/tasks/{taskId}/wrapup` | Wrap up task |
554
+ | `create-tasks` | POST `/v2/tasks` | Create task (v2) |
555
+ | `create-messages` | POST `/v2/tasks/{taskId}/messages` | Update task (v2 messages) |
556
+ | `create-accept-preview-task` | POST `/v1/dialer/campaign/{campaignId}/preview-task/{taskId}/accept` | Accept preview task |
557
+ | `create-remove` | POST `/v1/dialer/campaign/{campaignId}/preview-task/{taskId}/remove` | Remove preview task |
558
+ | `create-skip` | POST `/v1/dialer/campaign/{campaignId}/preview-task/{taskId}/skip` | Skip preview task |
559
+
560
+ ### Key Parameters
561
+
562
+ - `task-id` (positional) — Task ID for most operations
563
+ - `campaign-id` (positional) — Campaign ID (for preview dialer tasks)
564
+ - `--channel-types` — Filter by channel type(s) (for list)
565
+ - `--from` / `--to` — Epoch timestamp filters (for list)
566
+ - `--page-size` — Results per page (for list)
567
+ - `--json-body` — Request body for create/update/action operations
568
+
569
+ ### CLI Examples
570
+
571
+ ```bash
572
+ # List active tasks
573
+ wxcli cc-tasks list --channel-types telephony
574
+
575
+ # Create a task
576
+ wxcli cc-tasks create --json-body '{
577
+ "channelType": "telephony",
578
+ "destination": "+15551234567",
579
+ "direction": "OUTBOUND"
580
+ }'
581
+
582
+ # Accept a task
583
+ wxcli cc-tasks create-accept-tasks task-789
584
+
585
+ # Hold a task
586
+ wxcli cc-tasks create-hold task-789
587
+
588
+ # Resume (unhold) a task
589
+ wxcli cc-tasks create-unhold task-789
590
+
591
+ # Consult transfer
592
+ wxcli cc-tasks create-consult task-789 --json-body '{
593
+ "destination": "agent-456",
594
+ "destinationType": "agent"
595
+ }'
596
+
597
+ # Transfer after consult
598
+ wxcli cc-tasks create-transfer-consult task-789
599
+
600
+ # End task
601
+ wxcli cc-tasks create-end-tasks task-789
602
+
603
+ # Wrap up task
604
+ wxcli cc-tasks create-wrapup task-789 --json-body '{
605
+ "wrapUpReason": "resolved"
606
+ }'
607
+
608
+ # Pause/resume recording
609
+ wxcli cc-tasks create-pause task-789
610
+ wxcli cc-tasks create-resume task-789
611
+
612
+ # Preview dialer: accept/skip/remove
613
+ wxcli cc-tasks create-accept-preview-task campaign-001 task-789
614
+ wxcli cc-tasks create-skip campaign-001 task-789
615
+ wxcli cc-tasks create-remove campaign-001 task-789
616
+ ```
617
+
618
+ ### Raw HTTP
619
+
620
+ ```
621
+ # List tasks
622
+ GET https://api.wxcc-us1.cisco.com/v1/tasks?channelTypes=telephony
623
+ Authorization: Bearer {cc_token}
624
+
625
+ # Create task
626
+ POST https://api.wxcc-us1.cisco.com/v1/tasks
627
+ Authorization: Bearer {cc_token}
628
+ Content-Type: application/json
629
+
630
+ {"channelType": "telephony", "destination": "+15551234567", "direction": "OUTBOUND"}
631
+
632
+ # Accept task
633
+ POST https://api.wxcc-us1.cisco.com/v1/tasks/{taskId}/accept
634
+ Authorization: Bearer {cc_token}
635
+
636
+ # Consult transfer
637
+ POST https://api.wxcc-us1.cisco.com/v1/tasks/{taskId}/consult/transfer
638
+ Authorization: Bearer {cc_token}
639
+
640
+ # Wrap up
641
+ POST https://api.wxcc-us1.cisco.com/v1/tasks/{taskId}/wrapup
642
+ Authorization: Bearer {cc_token}
643
+ Content-Type: application/json
644
+
645
+ {"wrapUpReason": "resolved"}
646
+ ```
647
+
648
+ ---
649
+
650
+ ## 11. Notifications
651
+
652
+ CLI group: `wxcli cc-notification` (1 command)
653
+
654
+ Subscribe to contact center notifications. This is a separate mechanism from the
655
+ Subscriptions API (Section 9) and Realtime API (Section 8) — notifications provide
656
+ push-based event delivery.
657
+
658
+ ### Commands
659
+
660
+ | CLI Command | HTTP | Description |
661
+ |-------------|------|-------------|
662
+ | `create` | POST `/v1/notification/subscribe` | Subscribe to notifications |
663
+
664
+ ### CLI Examples
665
+
666
+ ```bash
667
+ # Subscribe to notifications
668
+ wxcli cc-notification create --json-body '{
669
+ "notificationType": "agentDesktop",
670
+ "resource": "task"
671
+ }'
672
+ ```
673
+
674
+ ### Raw HTTP
675
+
676
+ ```
677
+ POST https://api.wxcc-us1.cisco.com/v1/notification/subscribe
678
+ Authorization: Bearer {cc_token}
679
+ Content-Type: application/json
680
+
681
+ {"notificationType": "agentDesktop", "resource": "task"}
682
+ ```
683
+
684
+ ---
685
+
686
+ ## 12. Search
687
+
688
+ CLI group: `wxcli cc-search` (1 command)
689
+
690
+ Search for tasks using POST with query criteria in the request body (not GET with
691
+ query parameters).
692
+
693
+ ### Commands
694
+
695
+ | CLI Command | HTTP | Description |
696
+ |-------------|------|-------------|
697
+ | `create` | POST `/search` | Search tasks |
698
+
699
+ ### CLI Examples
700
+
701
+ ```bash
702
+ # Search for tasks by agent and time range
703
+ wxcli cc-search create --json-body '{
704
+ "query": {
705
+ "agentId": "agent-456",
706
+ "channelType": "telephony",
707
+ "from": "2026-03-01T00:00:00Z",
708
+ "to": "2026-03-28T23:59:59Z"
709
+ }
710
+ }'
711
+ ```
712
+
713
+ ### Raw HTTP
714
+
715
+ ```
716
+ POST https://api.wxcc-us1.cisco.com/search
717
+ Authorization: Bearer {cc_token}
718
+ Content-Type: application/json
719
+
720
+ {
721
+ "query": {
722
+ "agentId": "agent-456",
723
+ "channelType": "telephony",
724
+ "from": "2026-03-01T00:00:00Z",
725
+ "to": "2026-03-28T23:59:59Z"
726
+ }
727
+ }
728
+ ```
729
+
730
+ ---
731
+
732
+ ## 13. Address Book
733
+
734
+ CLI group: `wxcli cc-address-book` (19 commands)
735
+
736
+ Manage contact center address books and their entries. Address books provide agent-facing
737
+ contact directories. The API has a two-level structure (address book then entries) and
738
+ spans three API versions (v1, v2, v3).
739
+
740
+ ### Commands
741
+
742
+ | CLI Command | HTTP | Description |
743
+ |-------------|------|-------------|
744
+ | `list` | GET `/organization/{orgid}/address-book` | List address books (v1) |
745
+ | `create` | POST `/organization/{orgid}/address-book` | Create address book (v1) |
746
+ | `list-bulk-export` | GET `/organization/{orgid}/address-book/bulk-export` | Bulk export |
747
+ | `create-entry` | POST `.../address-book/{addressBookId}/entry` | Create entry |
748
+ | `create-bulk` | POST `.../address-book/{addressBookId}/entry/bulk` | Bulk save entries |
749
+ | `show` | GET `/organization/{orgid}/address-book/{id}` | Get address book (v1) |
750
+ | `update` | PUT `/organization/{orgid}/address-book/{id}` | Update address book (v1) |
751
+ | `delete` | DELETE `/organization/{orgid}/address-book/{id}` | Delete address book (v1) |
752
+ | `list-incoming-references` | GET `.../address-book/{id}/incoming-references` | Get references |
753
+ | `list-address-book-v2` | GET `/organization/{orgid}/v2/address-book` | List (v2) |
754
+ | `list-entry` | GET `.../v2/address-book/{addressBookId}/entry` | List entries (v2) |
755
+ | `show-entry` | GET `.../address-book/{addressBookId}/entry/{id}` | Get entry |
756
+ | `update-entry` | PUT `.../address-book/{addressBookId}/entry/{id}` | Update entry |
757
+ | `delete-entry` | DELETE `.../address-book/{addressBookId}/entry/{id}` | Delete entry |
758
+ | `list-address-book-v3` | GET `/organization/{orgid}/v3/address-book` | List (v3) |
759
+ | `create-address-book` | POST `/organization/{orgid}/v3/address-book` | Create (v3) |
760
+ | `show-address-book` | GET `/organization/{orgid}/v3/address-book/{id}` | Get (v3) |
761
+ | `update-address-book` | PUT `/organization/{orgid}/v3/address-book/{id}` | Update (v3) |
762
+ | `delete-address-book` | DELETE `/organization/{orgid}/v3/address-book/{id}` | Delete (v3) |
763
+
764
+ ### Key Parameters
765
+
766
+ - `id` (positional) — Address book ID
767
+ - `address-book-id` (positional) — Address book ID (for entry operations)
768
+ - `--json-body` — Full JSON body for create/update operations
769
+
770
+ ### CLI Examples
771
+
772
+ ```bash
773
+ # List address books (v3)
774
+ wxcli cc-address-book list-address-book-v3
775
+
776
+ # Create address book (v3)
777
+ wxcli cc-address-book create-address-book --json-body '{
778
+ "name": "Sales Contacts",
779
+ "description": "External sales contacts"
780
+ }'
781
+
782
+ # Create an entry
783
+ wxcli cc-address-book create-entry ab-001 --json-body '{
784
+ "firstName": "Jane",
785
+ "lastName": "Smith",
786
+ "phoneNumber": "+15559876543"
787
+ }'
788
+
789
+ # Bulk save entries
790
+ wxcli cc-address-book create-bulk ab-001 --json-body '{
791
+ "entries": [
792
+ {"firstName": "Alice", "phoneNumber": "+15551111111"},
793
+ {"firstName": "Bob", "phoneNumber": "+15552222222"}
794
+ ]
795
+ }'
796
+
797
+ # Bulk export
798
+ wxcli cc-address-book list-bulk-export
799
+
800
+ # List entries for an address book
801
+ wxcli cc-address-book list-entry ab-001
802
+
803
+ # Delete entry
804
+ wxcli cc-address-book delete-entry ab-001 entry-001
805
+
806
+ # Check incoming references before deleting an address book
807
+ wxcli cc-address-book list-incoming-references ab-001
808
+ wxcli cc-address-book delete ab-001
809
+ ```
810
+
811
+ ### Raw HTTP
812
+
813
+ ```
814
+ # List address books (v3)
815
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/v3/address-book
816
+ Authorization: Bearer {cc_token}
817
+
818
+ # Create address book (v3)
819
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/v3/address-book
820
+ Authorization: Bearer {cc_token}
821
+ Content-Type: application/json
822
+
823
+ {"name": "Sales Contacts", "description": "External sales contacts"}
824
+
825
+ # Create entry
826
+ POST https://api.wxcc-us1.cisco.com/organization/{orgId}/address-book/{addressBookId}/entry
827
+ Authorization: Bearer {cc_token}
828
+ Content-Type: application/json
829
+
830
+ {"firstName": "Jane", "lastName": "Smith", "phoneNumber": "+15559876543"}
831
+
832
+ # Bulk export
833
+ GET https://api.wxcc-us1.cisco.com/organization/{orgId}/address-book/bulk-export
834
+ Authorization: Bearer {cc_token}
835
+ ```
836
+
837
+ ---
838
+
839
+ ## Raw HTTP Endpoint Table
840
+
841
+ All 122 endpoints across the 13 CLI groups. Regional base URL: `https://api.wxcc-{region}.cisco.com`.
842
+
843
+ ### AI Assistant (1)
844
+
845
+ | Method | Path | Description |
846
+ |--------|------|-------------|
847
+ | POST | `/event` | Get AI suggestions |
848
+
849
+ ### AI Feature (3)
850
+
851
+ | Method | Path | Description |
852
+ |--------|------|-------------|
853
+ | GET | `/organization/{orgid}/ai-feature/{id}` | Get by ID |
854
+ | PATCH | `/organization/{orgid}/ai-feature/{id}` | Partial update |
855
+ | GET | `/organization/{orgid}/v2/ai-feature` | List |
856
+
857
+ ### Auto CSAT (8)
858
+
859
+ | Method | Path | Description |
860
+ |--------|------|-------------|
861
+ | POST | `/organization/{orgid}/auto-csat/{autoCsatId}/question` | Create question |
862
+ | POST | `/organization/{orgid}/auto-csat/{autoCsatId}/question/bulk` | Bulk save questions |
863
+ | GET | `/organization/{orgid}/auto-csat/{autoCsatId}/question/{id}` | Get question |
864
+ | DELETE | `/organization/{orgid}/auto-csat/{autoCsatId}/question/{id}` | Delete question |
865
+ | GET | `/organization/{orgid}/auto-csat/{id}` | Get Auto CSAT |
866
+ | PUT | `/organization/{orgid}/auto-csat/{id}` | Update Auto CSAT |
867
+ | GET | `/organization/{orgid}/v2/auto-csat` | List (v2) |
868
+ | GET | `/organization/{orgid}/v2/auto-csat/{autoCsatId}/question` | List questions (v2) |
869
+
870
+ ### Generated Summaries (3)
871
+
872
+ | Method | Path | Description |
873
+ |--------|------|-------------|
874
+ | GET | `/organization/{orgid}/generated-summaries/{id}` | Get by ID |
875
+ | PUT | `/organization/{orgid}/generated-summaries/{id}` | Update by ID |
876
+ | GET | `/organization/{orgid}/v2/generated-summaries` | List (v2) |
877
+
878
+ ### Agent Summaries (2)
879
+
880
+ | Method | Path | Description |
881
+ |--------|------|-------------|
882
+ | POST | `/generated-summaries/search` | Search summaries |
883
+ | POST | `/summary/list` | List summaries |
884
+
885
+ *Journey endpoints (41 commands) moved to [`contact-center-journey.md`](contact-center-journey.md).*
886
+
887
+ ### Call Monitoring (7)
888
+
889
+ | Method | Path | Description |
890
+ |--------|------|-------------|
891
+ | POST | `/v1/monitor` | Create monitoring request |
892
+ | GET | `/v1/monitor/sessions` | Fetch sessions |
893
+ | DELETE | `/v1/monitor/{requestId}` | Delete request |
894
+ | POST | `/v1/monitor/{taskId}/bargeIn` | Barge-in |
895
+ | POST | `/v1/monitor/{taskId}/end` | End monitoring |
896
+ | POST | `/v1/monitor/{taskId}/hold` | Hold |
897
+ | POST | `/v1/monitor/{taskId}/unhold` | Unhold |
898
+
899
+ ### Realtime (1)
900
+
901
+ | Method | Path | Description |
902
+ |--------|------|-------------|
903
+ | POST | `/v1/realtime/subscribe` | Subscribe to realtime notifications |
904
+
905
+ ### Subscriptions (12)
906
+
907
+ | Method | Path | Description |
908
+ |--------|------|-------------|
909
+ | GET | `/v1/event-types` | List event types (v1) |
910
+ | GET | `/v1/subscriptions` | List (v1) |
911
+ | POST | `/v1/subscriptions` | Register (v1) |
912
+ | GET | `/v1/subscriptions/{id}` | Get (v1) |
913
+ | DELETE | `/v1/subscriptions/{id}` | Delete (v1) |
914
+ | PATCH | `/v1/subscriptions/{id}` | Update (v1) |
915
+ | GET | `/v2/event-types` | List event types (v2) |
916
+ | GET | `/v2/subscriptions` | List (v2) |
917
+ | POST | `/v2/subscriptions` | Register (v2) |
918
+ | GET | `/v2/subscriptions/{id}` | Get (v2) |
919
+ | DELETE | `/v2/subscriptions/{id}` | Delete (v2) |
920
+ | PATCH | `/v2/subscriptions/{id}` | Update (v2) |
921
+
922
+ ### Tasks (24)
923
+
924
+ | Method | Path | Description |
925
+ |--------|------|-------------|
926
+ | GET | `/v1/tasks` | Get tasks |
927
+ | POST | `/v1/tasks` | Create task (v1) |
928
+ | PATCH | `/v1/tasks/{taskId}` | Update task |
929
+ | POST | `/v1/tasks/{taskId}/accept` | Accept |
930
+ | POST | `/v1/tasks/{taskId}/assign` | Assign |
931
+ | POST | `/v1/tasks/{taskId}/conference/exit` | Exit conference |
932
+ | POST | `/v1/tasks/{taskId}/consult` | Consult |
933
+ | POST | `/v1/tasks/{taskId}/consult/accept` | Consult accept |
934
+ | POST | `/v1/tasks/{taskId}/consult/conference` | Consult conference |
935
+ | POST | `/v1/tasks/{taskId}/consult/end` | Consult end |
936
+ | POST | `/v1/tasks/{taskId}/consult/transfer` | Consult transfer |
937
+ | POST | `/v1/tasks/{taskId}/end` | End task |
938
+ | POST | `/v1/tasks/{taskId}/hold` | Hold |
939
+ | POST | `/v1/tasks/{taskId}/record/pause` | Pause recording |
940
+ | POST | `/v1/tasks/{taskId}/record/resume` | Resume recording |
941
+ | POST | `/v1/tasks/{taskId}/reject` | Reject |
942
+ | POST | `/v1/tasks/{taskId}/transfer` | Transfer |
943
+ | POST | `/v1/tasks/{taskId}/unhold` | Resume (unhold) |
944
+ | POST | `/v1/tasks/{taskId}/wrapup` | Wrap up |
945
+ | POST | `/v2/tasks` | Create task (v2) |
946
+ | POST | `/v2/tasks/{taskId}/messages` | Update (v2 messages) |
947
+ | POST | `/v1/dialer/campaign/{campaignId}/preview-task/{taskId}/accept` | Accept preview |
948
+ | POST | `/v1/dialer/campaign/{campaignId}/preview-task/{taskId}/remove` | Remove preview |
949
+ | POST | `/v1/dialer/campaign/{campaignId}/preview-task/{taskId}/skip` | Skip preview |
950
+
951
+ ### Notifications (1)
952
+
953
+ | Method | Path | Description |
954
+ |--------|------|-------------|
955
+ | POST | `/v1/notification/subscribe` | Subscribe |
956
+
957
+ ### Search (1)
958
+
959
+ | Method | Path | Description |
960
+ |--------|------|-------------|
961
+ | POST | `/search` | Search tasks |
962
+
963
+ ### Address Book (19)
964
+
965
+ | Method | Path | Description |
966
+ |--------|------|-------------|
967
+ | GET | `/organization/{orgid}/address-book` | List (v1) |
968
+ | POST | `/organization/{orgid}/address-book` | Create (v1) |
969
+ | GET | `/organization/{orgid}/address-book/bulk-export` | Bulk export |
970
+ | POST | `/organization/{orgid}/address-book/{addressBookId}/entry` | Create entry |
971
+ | POST | `/organization/{orgid}/address-book/{addressBookId}/entry/bulk` | Bulk save entries |
972
+ | GET | `/organization/{orgid}/address-book/{addressBookId}/entry/{id}` | Get entry |
973
+ | PUT | `/organization/{orgid}/address-book/{addressBookId}/entry/{id}` | Update entry |
974
+ | DELETE | `/organization/{orgid}/address-book/{addressBookId}/entry/{id}` | Delete entry |
975
+ | GET | `/organization/{orgid}/address-book/{id}` | Get (v1) |
976
+ | PUT | `/organization/{orgid}/address-book/{id}` | Update (v1) |
977
+ | DELETE | `/organization/{orgid}/address-book/{id}` | Delete (v1) |
978
+ | GET | `/organization/{orgid}/address-book/{id}/incoming-references` | References |
979
+ | GET | `/organization/{orgid}/v2/address-book` | List (v2) |
980
+ | GET | `/organization/{orgid}/v2/address-book/{addressBookId}/entry` | List entries (v2) |
981
+ | GET | `/organization/{orgid}/v3/address-book` | List (v3) |
982
+ | POST | `/organization/{orgid}/v3/address-book` | Create (v3) |
983
+ | GET | `/organization/{orgid}/v3/address-book/{id}` | Get (v3) |
984
+ | PUT | `/organization/{orgid}/v3/address-book/{id}` | Update (v3) |
985
+ | DELETE | `/organization/{orgid}/v3/address-book/{id}` | Delete (v3) |
986
+
987
+ ---
988
+
989
+ ## Gotchas
990
+
991
+ 1. **JDS gotchas have moved to [`contact-center-journey.md`](contact-center-journey.md).** All JDS-specific gotchas (alias normalization, Publish API, event immutability, RSQL syntax, scopes, etc.) are in the journey doc's gotchas section.
992
+
993
+ 2. **Tasks API is the primary agent interaction API.** It handles the full contact/call lifecycle: create, accept, hold, consult, conference, transfer, record, wrap up. This is the API that drives the agent desktop.
994
+
995
+ 3. **The AI Assistant endpoint (POST `/event`) uses a generic path.** Easy to confuse with the JDS event ingestion endpoint (POST `/publish/v1/api/event`) — completely different path and purpose.
996
+
997
+ 4. **Subscriptions have v1 and v2 variants.** v2 adds enhanced event types and requires a `resourceVersion` field (e.g., `"resourceVersion": "agent:2.0.0"`) when creating subscriptions. Use `list-event-types-v2` to see the full set of available events. **Breaking rename in v2:** `agent:state_change` (v1 event name) is renamed to `agent:channel_state_change` — update subscriptions and webhook handlers when migrating to v2. v1.0.0 agent events are deprecated and supported until December 16, 2026.
998
+
999
+ 5. **Call monitoring uses `taskId` for most operations but `requestId` for delete.** The create-monitor endpoint returns a `requestId` which is needed to delete the monitoring session. The taskId-based endpoints (barge-in, hold, unhold, end) operate on the contact being monitored.
1000
+
1001
+ 6. **Search endpoint uses POST (not GET).** The query criteria are passed in the request body, not as query parameters.
1002
+
1003
+ 7. **Agent Summaries uses POST endpoints for searching.** Both `create` (search) and `create-list` (list) use POST — the search/filter criteria go in the request body.
1004
+
1005
+ 8. **Auto CSAT has a two-level structure.** Auto CSAT configurations sit at the top level; mapped questions are nested under each config by `autoCsatId`. You must create the Auto CSAT config before adding questions.
1006
+
1007
+ 9. **Address Book has a two-level structure with v1/v2/v3 API versions.** Address books contain entries. v1 provides full CRUD, v2 adds enhanced list/query, v3 adds further improvements. Entry CRUD uses the v1 path regardless of which version was used to create the address book.
1008
+
1009
+ 10. **Notifications and Realtime are separate subscription mechanisms.** `cc-notification` (POST `/v1/notification/subscribe`) is push-based delivery. `cc-realtime` (POST `/v1/realtime/subscribe`) is for WebSocket/SSE streaming. `cc-subscriptions` manages durable webhook-style subscriptions. All three coexist and serve different consumption patterns.
1010
+
1011
+ 11. **All CC APIs require CC-specific OAuth scopes.** Standard Webex admin tokens will not work. You need `cjp:config_read` and/or `cjp:config_write` scopes. JDS admin endpoints additionally need `cjds:admin_org_read`/`cjds:admin_org_write`. The CLI detects 403 errors and prints a scope tip.
1012
+
1013
+ 12. **Regional base URL is required.** All CC API requests go to `https://api.wxcc-{region}.cisco.com`, not `https://webexapis.com`. Set the region with `wxcli set-cc-region <region>` (defaults to `us1`).
1014
+
1015
+ 13. **`orgId` is auto-injected.** For endpoints under `/organization/{orgid}/`, the orgId path parameter is automatically resolved from the saved config or the authenticated user's org. No manual `--org-id` flag is needed.
1016
+
1017
+ 14. **WXCC CloudEvents webhook envelope.** All CC webhook events follow CloudEvents 1.0:
1018
+
1019
+ **v1 envelope fields:** `id` (UUID), `specversion` ("1.0"), `type` (event name), `source` (contains subscription ID), `comciscoorgid` (org ID), `datacontenttype` ("application/json"), `data` (event payload).
1020
+
1021
+ **v2 envelope adds:** `comciscotimestamp` (UTC epoch ms). v2 subscriptions also add headers: `X-WebexCC-Timestamp` (epoch ms), `X-WebexCC-Webhook-Version`, `X-WebexCC-Signature` (HMAC-SHA256 hex).
1022
+
1023
+ v1 subscriptions use `X-WebexCC-Signature` only.
1024
+
1025
+ 15. **Complete webhook event type taxonomy (22 types).** The full set of supported types for subscriptions:
1026
+ - Agent (v1): `agent:login`, `agent:logout`, `agent:state_change`
1027
+ - Agent (v2): `agent:login`, `agent:logout`, `agent:channel_state_change`, `agent:channelType_state_change`
1028
+ - Capture: `capture:available`
1029
+ - Task: `task:new`, `task:connect`, `task:connected`, `task:parked`, `task:on-hold`, `task:hold-done`, `task:consulting`, `task:consult-done`, `task:conferencing`, `task:conference-done`, `task:conference-transferred`, `task:ended`, `task:failed`, `task:origin-updated`
1030
+ - Task message: `task-message:appended`, `task-message:append-failed`
1031
+
1032
+ v2 event data fields — **`agent:channel_state_change`**: `agentId`, `currentState` (idle/available/ringing/not-responding/connected/on-hold/hold-done/consulting/conferencing/consult-done/conference-done/wrapup/wrapup-done), `channelId`, `channelType` (telephony/email/chat/social), `destination`, `queueId`, `taskId`, `createdTime` (epoch ms), `idleCodeId`, `wrapUpAuxCodeId`, `teamId`.
1033
+
1034
+ **`agent:channelType_state_change`**: `agentId`, `currentState` (Available/Idle/Engaged/EngagedOther/WrapUp/Reserved/LoggedOut), `channelType`, `pendingIdleState` (boolean), `idleCodeName`, `teamId`, `createdTime`. Note: the `comciscotimestamp` CloudEvents envelope field is **only** present in `agent:channelType_state_change` events.
1035
+
1036
+ 16. **Queue Statistics and Agent Statistics REST APIs reach EOL March 31, 2027.** Both are deprecated in favor of the GraphQL Search API. Same auth scopes apply (`cjp:config` or `cjp:config_read`). Migrate before the EOL date.
1037
+
1038
+ 17. **Bulk export APIs deprecated April 2026.** The `/bulk-export` GET endpoints across 19 config resources (Address Book, Auxiliary Code, Business Hours, Desktop Layout, Skills, Teams, Users, and others) are deprecated. Use the corresponding list endpoints (`/v2/` or `/v3/` variants) instead. The `list-bulk-export` CLI commands for these resources will stop working after removal.
1039
+
1040
+ ---
1041
+
1042
+ ## See Also
1043
+
1044
+ - [Contact Center: Core](contact-center-core.md) — Agents, queues, teams, skills, desktop, configuration
1045
+ - [Contact Center: Journey](contact-center-journey.md) — JDS: workspaces, persons, identity, profile views, events
1046
+ - [Contact Center: Routing](contact-center-routing.md) — Dial plans, campaigns, flows, audio, contacts
1047
+ - [Webhooks & Events](webhooks-events.md) — Webex platform webhooks (separate from CC subscriptions)
1048
+ - [Reporting & Analytics](reporting-analytics.md) — Webex Calling CDR, queue stats, call quality
1049
+ - [Authentication](authentication.md) — CC-specific OAuth scopes and region configuration