Skip to content

Add admin-directory as a built-in service alias for Admin SDK Directory API #473

@kelbykleinsasser

Description

@kelbykleinsasser

Summary

The Admin SDK Directory API (admin:directory_v1) is one of the most commonly used Google Workspace APIs for managing users, groups, and organizational units. Currently, accessing it through gws requires using the admin-reports alias with a version override:

gws admin-reports --api-version directory_v1 groups list --params '{"domain":"example.com"}'

This works but is unintuitive — admin-reports implies audit/usage reporting, not user/group management. A built-in admin-directory alias would make the CLI more discoverable and self-documenting.

Proposed Change

Add a new ServiceEntry to src/services.rs:

ServiceEntry {
    aliases: &["admin-directory"],
    api_name: "admin",
    version: "directory_v1",
    description: "Manage users, groups, and organizational units",
},

This would enable:

gws admin-directory groups list --params '{"domain":"example.com"}'
gws admin-directory members list --params '{"groupKey":"group@example.com"}'
gws admin-directory users get --params '{"userKey":"user@example.com"}'

Context

  • The admin-reports alias already maps to admin:reports_v1 — same API name, different version
  • The --api-version directory_v1 workaround works correctly today
  • Adding this alias is backward-compatible (no existing aliases change)
  • The Directory API is core to Workspace administration and used heavily for RBAC, onboarding/offboarding, and compliance workflows

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions