Google Workspace · Capability

Google Workspace Admin SDK Directory API — Users

Google Workspace Admin SDK Directory API — Users. 9 operations. Lead operation: List Users. Self-contained Naftiko capability covering one Google Workspace business surface.

Run with Naftiko Google WorkspaceUsers

What You Can Do

GET
Listusers — List Users
/v1/admin/directory/v1/users
POST
Insertuser — Create a User
/v1/admin/directory/v1/users
GET
Getuser — Get a User
/v1/admin/directory/v1/users/{userkey}
PUT
Updateuser — Update a User
/v1/admin/directory/v1/users/{userkey}
PATCH
Patchuser — Patch a User
/v1/admin/directory/v1/users/{userkey}
DELETE
Deleteuser — Delete a User
/v1/admin/directory/v1/users/{userkey}
POST
Makeuseradmin — Make a User a Super Administrator
/v1/admin/directory/v1/users/{userkey}/makeadmin
POST
Signoutuser — Sign Out a User
/v1/admin/directory/v1/users/{userkey}/signout
POST
Undeleteuser — Undelete a User
/v1/admin/directory/v1/users/{userkey}/undelete

MCP Tools

list-users

List Users

read-only idempotent
create-user

Create a User

get-user

Get a User

read-only idempotent
update-user

Update a User

idempotent
patch-user

Patch a User

idempotent
delete-user

Delete a User

idempotent
make-user-super-administrator

Make a User a Super Administrator

sign-out-user

Sign Out a User

undelete-user

Undelete a User

Capability Spec

admin-sdk-directory-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Workspace Admin SDK Directory API — Users
  description: 'Google Workspace Admin SDK Directory API — Users. 9 operations. Lead operation: List Users. Self-contained
    Naftiko capability covering one Google Workspace business surface.'
  tags:
  - Google Workspace
  - Users
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOOGLE_WORKSPACE_API_KEY: GOOGLE_WORKSPACE_API_KEY
capability:
  consumes:
  - type: http
    namespace: admin-sdk-directory-users
    baseUri: https://admin.googleapis.com
    description: Google Workspace Admin SDK Directory API — Users business capability. Self-contained, no shared references.
    resources:
    - name: admin-directory-v1-users
      path: /admin/directory/v1/users
      operations:
      - name: listusers
        method: GET
        description: List Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: maxResults
          in: query
          type: integer
          description: Maximum number of results to return (1-500). Default is 100.
        - name: pageToken
          in: query
          type: string
          description: Token to specify the next page in the list.
        - name: orderBy
          in: query
          type: string
          description: Property to use for sorting results.
        - name: sortOrder
          in: query
          type: string
          description: Whether to return results in ascending or descending order.
        - name: query
          in: query
          type: string
          description: Query string for searching user fields. For more information on constructing user queries, see the
            Search for Users documentation.
        - name: showDeleted
          in: query
          type: string
          description: If set to true, retrieves the list of deleted users.
        - name: projection
          in: query
          type: string
          description: What subset of fields to fetch for this user.
        - name: viewType
          in: query
          type: string
          description: Whether to fetch the administrator-only or domain-wide public view of the user. Default is admin_view.
        - name: customFieldMask
          in: query
          type: string
          description: A comma-separated list of schema names. All fields from these schemas are fetched. Must be set when
            projection=custom.
      - name: insertuser
        method: POST
        description: Create a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: admin-directory-v1-users-userKey
      path: /admin/directory/v1/users/{userKey}
      operations:
      - name: getuser
        method: GET
        description: Get a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: projection
          in: query
          type: string
          description: What subset of fields to fetch for this user.
        - name: viewType
          in: query
          type: string
          description: Whether to fetch the administrator-only or domain-wide public view of the user.
        - name: customFieldMask
          in: query
          type: string
          description: A comma-separated list of schema names. All fields from these schemas are fetched. Must be set when
            projection=custom.
      - name: updateuser
        method: PUT
        description: Update a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: patchuser
        method: PATCH
        description: Patch a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteuser
        method: DELETE
        description: Delete a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: admin-directory-v1-users-userKey-makeAdmin
      path: /admin/directory/v1/users/{userKey}/makeAdmin
      operations:
      - name: makeuseradmin
        method: POST
        description: Make a User a Super Administrator
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: admin-directory-v1-users-userKey-signOut
      path: /admin/directory/v1/users/{userKey}/signOut
      operations:
      - name: signoutuser
        method: POST
        description: Sign Out a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: admin-directory-v1-users-userKey-undelete
      path: /admin/directory/v1/users/{userKey}/undelete
      operations:
      - name: undeleteuser
        method: POST
        description: Undelete a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.GOOGLE_WORKSPACE_API_KEY}}'
  exposes:
  - type: rest
    namespace: admin-sdk-directory-users-rest
    port: 8080
    description: REST adapter for Google Workspace Admin SDK Directory API — Users. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/admin/directory/v1/users
      name: admin-directory-v1-users
      description: REST surface for admin-directory-v1-users.
      operations:
      - method: GET
        name: listusers
        description: List Users
        call: admin-sdk-directory-users.listusers
        with:
          maxResults: rest.maxResults
          pageToken: rest.pageToken
          orderBy: rest.orderBy
          sortOrder: rest.sortOrder
          query: rest.query
          showDeleted: rest.showDeleted
          projection: rest.projection
          viewType: rest.viewType
          customFieldMask: rest.customFieldMask
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: insertuser
        description: Create a User
        call: admin-sdk-directory-users.insertuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/admin/directory/v1/users/{userkey}
      name: admin-directory-v1-users-userkey
      description: REST surface for admin-directory-v1-users-userKey.
      operations:
      - method: GET
        name: getuser
        description: Get a User
        call: admin-sdk-directory-users.getuser
        with:
          projection: rest.projection
          viewType: rest.viewType
          customFieldMask: rest.customFieldMask
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateuser
        description: Update a User
        call: admin-sdk-directory-users.updateuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchuser
        description: Patch a User
        call: admin-sdk-directory-users.patchuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteuser
        description: Delete a User
        call: admin-sdk-directory-users.deleteuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/admin/directory/v1/users/{userkey}/makeadmin
      name: admin-directory-v1-users-userkey-makeadmin
      description: REST surface for admin-directory-v1-users-userKey-makeAdmin.
      operations:
      - method: POST
        name: makeuseradmin
        description: Make a User a Super Administrator
        call: admin-sdk-directory-users.makeuseradmin
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/admin/directory/v1/users/{userkey}/signout
      name: admin-directory-v1-users-userkey-signout
      description: REST surface for admin-directory-v1-users-userKey-signOut.
      operations:
      - method: POST
        name: signoutuser
        description: Sign Out a User
        call: admin-sdk-directory-users.signoutuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/admin/directory/v1/users/{userkey}/undelete
      name: admin-directory-v1-users-userkey-undelete
      description: REST surface for admin-directory-v1-users-userKey-undelete.
      operations:
      - method: POST
        name: undeleteuser
        description: Undelete a User
        call: admin-sdk-directory-users.undeleteuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: admin-sdk-directory-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for Google Workspace Admin SDK Directory API — Users. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: list-users
      description: List Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin-sdk-directory-users.listusers
      with:
        maxResults: tools.maxResults
        pageToken: tools.pageToken
        orderBy: tools.orderBy
        sortOrder: tools.sortOrder
        query: tools.query
        showDeleted: tools.showDeleted
        projection: tools.projection
        viewType: tools.viewType
        customFieldMask: tools.customFieldMask
      outputParameters:
      - type: object
        mapping: $.
    - name: create-user
      description: Create a User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin-sdk-directory-users.insertuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user
      description: Get a User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: admin-sdk-directory-users.getuser
      with:
        projection: tools.projection
        viewType: tools.viewType
        customFieldMask: tools.customFieldMask
      outputParameters:
      - type: object
        mapping: $.
    - name: update-user
      description: Update a User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: admin-sdk-directory-users.updateuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: patch-user
      description: Patch a User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: admin-sdk-directory-users.patchuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-user
      description: Delete a User
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: admin-sdk-directory-users.deleteuser
      outputParameters:
      - type: object
        mapping: $.
    - name: make-user-super-administrator
      description: Make a User a Super Administrator
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin-sdk-directory-users.makeuseradmin
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: sign-out-user
      description: Sign Out a User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin-sdk-directory-users.signoutuser
      outputParameters:
      - type: object
        mapping: $.
    - name: undelete-user
      description: Undelete a User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: admin-sdk-directory-users.undeleteuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.