Google Admin SDK Directory API

The Admin SDK Directory API enables management of users, groups, devices, organizational units, roles, domains, and other directory resources in a Google Workspace domain.

OpenAPI Specification

openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Admin SDK Directory API
  description: >-
    The Admin SDK Directory API enables management of users, groups, devices,
    organizational units, roles, domains, and other directory resources in a
    Google Workspace domain.
  version: directory_v1
  contact:
    name: Google
    url: https://developers.google.com/workspace/admin/directory/reference/rest
servers:
  - url: https://admin.googleapis.com
paths:
  /admin/directory/v1/users:
    get:
      operationId: listUsers
      summary: Google Admin SDK List users
      description: Retrieves a paginated list of either deleted users or all users in a domain.
      parameters:
        - name: domain
          in: query
          schema:
            type: string
        - name: customer
          in: query
          schema:
            type: string
        - name: maxResults
          in: query
          schema:
            type: integer
        - name: pageToken
          in: query
          schema:
            type: string
        - name: query
          in: query
          schema:
            type: string
        - name: orderBy
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users'
      tags:
        - Admin
    post:
      operationId: createUser
      summary: Google Admin SDK Create user
      description: Creates a user.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
        - Admin
  /admin/directory/v1/users/{userKey}:
    get:
      operationId: getUser
      summary: Google Admin SDK Get user
      description: Retrieves a user.
      parameters:
        - name: userKey
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
        - Admin
    put:
      operationId: updateUser
      summary: Google Admin SDK Update user
      description: Updates a user.
      parameters:
        - name: userKey
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
        - Admin
    patch:
      operationId: patchUser
      summary: Google Admin SDK Patch user
      description: Patches a user.
      parameters:
        - name: userKey
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      tags:
        - Admin
    delete:
      operationId: deleteUser
      summary: Google Admin SDK Delete user
      description: Deletes a user.
      parameters:
        - name: userKey
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful deletion
      tags:
        - Admin
  /admin/directory/v1/users/{userKey}/makeAdmin:
    post:
      operationId: makeUserAdmin
      summary: Google Admin SDK Make user admin
      description: Makes a user a super administrator.
      parameters:
        - name: userKey
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: boolean
      responses:
        '204':
          description: Successful response
      tags:
        - Admin
  /admin/directory/v1/groups:
    get:
      operationId: listGroups
      summary: Google Admin SDK List groups
      description: Retrieves all groups of a domain or a user.
      parameters:
        - name: domain
          in: query
          schema:
            type: string
        - name: customer
          in: query
          schema:
            type: string
        - name: maxResults
          in: query
          schema:
            type: integer
        - name: pageToken
          in: query
          schema:
            type: string
        - name: userKey
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Groups'
      tags:
        - Admin
    post:
      operationId: createGroup
      summary: Google Admin SDK Create group
      description: Creates a group.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
      tags:
        - Admin
  /admin/directory/v1/groups/{groupKey}:
    get:
      operationId: getGroup
      summary: Google Admin SDK Get group
      description: Retrieves a group's properties.
      parameters:
        - name: groupKey
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
      tags:
        - Admin
    put:
      operationId: updateGroup
      summary: Google Admin SDK Update group
      description: Updates a group's properties.
      parameters:
        - name: groupKey
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
      tags:
        - Admin
    delete:
      operationId: deleteGroup
      summary: Google Admin SDK Delete group
      description: Deletes a group.
      parameters:
        - name: groupKey
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful deletion
      tags:
        - Admin
  /admin/directory/v1/groups/{groupKey}/members:
    get:
      operationId: listMembers
      summary: Google Admin SDK List group members
      description: Retrieves a paginated list of all members in a group.
      parameters:
        - name: groupKey
          in: path
          required: true
          schema:
            type: string
        - name: maxResults
          in: query
          schema:
            type: integer
        - name: pageToken
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Members'
      tags:
        - Admin
    post:
      operationId: addMember
      summary: Google Admin SDK Add group member
      description: Adds a user to the specified group.
      parameters:
        - name: groupKey
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Member'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Member'
      tags:
        - Admin
  /admin/directory/v1/customer/{customerId}/orgunits:
    get:
      operationId: listOrgUnits
      summary: Google Admin SDK List organizational units
      description: Retrieves a list of all organizational units for an account.
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgUnits'
      tags:
        - Admin
    post:
      operationId: createOrgUnit
      summary: Google Admin SDK Create organizational unit
      description: Adds an organizational unit.
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgUnit'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgUnit'
      tags:
        - Admin
  /admin/directory/v1/customer/{customerId}/devices/chromeos:
    get:
      operationId: listChromeOsDevices
      summary: Google Admin SDK List Chrome OS devices
      description: Retrieves a paginated list of Chrome OS devices.
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
        - name: maxResults
          in: query
          schema:
            type: integer
        - name: pageToken
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChromeOsDevices'
      tags:
        - Admin
  /admin/directory/v1/customer/{customerId}/devices/mobile:
    get:
      operationId: listMobileDevices
      summary: Google Admin SDK List mobile devices
      description: Retrieves a paginated list of all user-owned mobile devices.
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
        - name: maxResults
          in: query
          schema:
            type: integer
        - name: pageToken
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
      tags:
        - Admin
  /admin/directory/v1/customer/{customerId}/roles:
    get:
      operationId: listRoles
      summary: Google Admin SDK List roles
      description: Retrieves a paginated list of all the roles in a domain.
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
      tags:
        - Admin
  /admin/directory/v1/customer/{customer}/domains:
    get:
      operationId: listDomains
      summary: Google Admin SDK List domains
      description: Lists the domains of the customer.
      parameters:
        - name: customer
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
      tags:
        - Admin
components:
  schemas:
    User:
      type: object
      properties:
        kind:
          type: string
        id:
          type: string
        primaryEmail:
          type: string
        name:
          type: object
          properties:
            givenName:
              type: string
            familyName:
              type: string
            fullName:
              type: string
        isAdmin:
          type: boolean
        isDelegatedAdmin:
          type: boolean
        suspended:
          type: boolean
        orgUnitPath:
          type: string
        creationTime:
          type: string
          format: date-time
        lastLoginTime:
          type: string
          format: date-time
        password:
          type: string
    Users:
      type: object
      properties:
        kind:
          type: string
        users:
          type: array
          items:
            $ref: '#/components/schemas/User'
        nextPageToken:
          type: string
    Group:
      type: object
      properties:
        kind:
          type: string
        id:
          type: string
        email:
          type: string
        name:
          type: string
        description:
          type: string
        directMembersCount:
          type: string
    Groups:
      type: object
      properties:
        kind:
          type: string
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
        nextPageToken:
          type: string
    Member:
      type: object
      properties:
        kind:
          type: string
        id:
          type: string
        email:
          type: string
        role:
          type: string
          enum: [MEMBER, MANAGER, OWNER]
        type:
          type: string
          enum: [USER, GROUP, EXTERNAL]
    Members:
      type: object
      properties:
        kind:
          type: string
        members:
          type: array
          items:
            $ref: '#/components/schemas/Member'
        nextPageToken:
          type: string
    OrgUnit:
      type: object
      properties:
        kind:
          type: string
        orgUnitId:
          type: string
        name:
          type: string
        description:
          type: string
        orgUnitPath:
          type: string
        parentOrgUnitPath:
          type: string
        parentOrgUnitId:
          type: string
    OrgUnits:
      type: object
      properties:
        kind:
          type: string
        organizationUnits:
          type: array
          items:
            $ref: '#/components/schemas/OrgUnit'
    ChromeOsDevices:
      type: object
      properties:
        kind:
          type: string
        chromeosdevices:
          type: array
          items:
            type: object
        nextPageToken:
          type: string
tags:
  - name: Admin