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.
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: 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