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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions