Skip to content

Fix org-contacts UUID format and cross-platform skill improvements#3

Closed
mycollablab wants to merge 3 commits into
Cloverhound:mainfrom
mycollablab:fix/orgid-format-and-cross-platform-skill
Closed

Fix org-contacts UUID format and cross-platform skill improvements#3
mycollablab wants to merge 3 commits into
Cloverhound:mainfrom
mycollablab:fix/orgid-format-and-cross-platform-skill

Conversation

@mycollablab

Copy link
Copy Markdown
Contributor

Summary

  • Bug fix: webex admin org-contacts was sending base64 org IDs to the /contacts/organizations/{orgId}/* API, which explicitly requires UUID format. All 7 org-contacts commands now correctly send UUID.
  • Codegen fix: Extended the generate_cli.py orgId normalization rule to also apply UUID handling for any endpoint whose path contains /contacts/organizations/, so future Postman collection updates pick this up automatically.
  • Cross-platform skill: Replaced macOS-only /tmp/ paths and ~/Library/Application Support/Claude/ config path with per-platform alternatives covering macOS, Linux, and Windows.
  • OrgID troubleshooting guidance: Added a new section in the skill documenting the CC=UUID vs admin/calling=base64 rule and what to try when an org-scoped API call returns 400/404.

Changes

File Change
codegen/generate_cli.py Extend UUID normalization to /contacts/organizations/ paths
cmd/admin/org_contacts.go Regenerated — all 7 commands now use --orgid (UUID)
skill/SKILL.md Cross-platform temp/config paths; OrgID troubleshooting section; MCP server cross-platform config paths; sub-skills table split by platform

Test plan

  • go build ./... passes
  • webex admin org-contacts list --debug — URL contains UUID, not base64
  • webex cc site list --debug — URL contains UUID
  • webex admin people list --debug?orgId= query param contains base64
  • webex calling locations list --debug?orgId= query param contains base64
  • webex admin licenses list --debug?orgId= query param contains base64

🤖 Generated with Claude Code

mycollablab and others added 3 commits June 29, 2026 10:03
- Replace hardcoded /tmp/ with ${TMPDIR:-/tmp}/ (respects macOS per-user
  temp dir; falls back to /tmp on Linux; adds Windows PowerShell comments)
- Expand Claude Desktop config path from macOS-only ~/Library/Application
  Support/Claude/ to a per-platform table (macOS / Linux / Windows)
- Split sub-skills table into base-path-per-platform + relative sub-path
  so Windows users use %USERPROFILE%\.claude\skills\webex-cli\ correctly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The /contacts/organizations/{orgId}/* API requires UUID format, not the
base64 format used by most other Admin endpoints. The codegen was sending
base64 because the blanket --org-id → base64 rule in root.go applied to
all non-CC commands indiscriminately.

Fix: extend the orgId normalization condition in generate_cli.py to also
apply UUID handling (--orgid flag, {orgid} path) for any endpoint whose
path contains /contacts/organizations/, matching the explicit Postman note
"orgId used in path are the org UUIDs." All 7 org-contacts commands now
use --orgid and auto-receive a decoded UUID from root.go.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documents the CC=UUID vs admin/calling=base64 rule and tells the model
to try the other format when an API returns a 400/404 org-related error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mycollablab

Copy link
Copy Markdown
Contributor Author

Superseded by a cleaner branch — see new PR

@mycollablab mycollablab deleted the fix/orgid-format-and-cross-platform-skill branch June 29, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant