Google Admin SDK Admin Sdk Admin Directory Roles API
The Admin Sdk Admin Directory Roles API from Google Admin SDK — 2 operation(s) for admin sdk admin directory roles.
The Admin Sdk Admin Directory Roles API from Google Admin SDK — 2 operation(s) for admin sdk admin directory roles.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/google-admin-sdk:google-admin-sdk-admin-directory-roles-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Admin SDK API Roles API
version: directory_v1
description: Generated from Google's published Discovery document for Admin SDK API (admin directory_v1, revision 20261109).
6 operation(s).
contact:
name: Google
url: https://developers.google.com/
termsOfService: https://developers.google.com/terms
externalDocs:
url: https://developers.google.com/workspace/admin/
servers:
- url: https://admin.googleapis.com
paths:
/admin/directory/v1/customer/{customer}/roles:
post:
operationId: directory.roles.insert
summary: Insert roles
description: Creates a role.
parameters:
- name: customer
in: path
required: true
description: Immutable ID of the Google Workspace account.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
4XX:
content: &id001
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id001
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/admin.directory.rolemanagement
- apiKey: []
tags:
- Roles
get:
operationId: directory.roles.list
summary: List roles
description: Retrieves a paginated list of all the roles in a domain.
parameters:
- name: customer
in: path
required: true
description: The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch
all groups for a customer, use this field instead of `domain`. You can also use the `my_customer` alias to represent
your account's `customerId`. The `customerId` is also returned as part of the [Users](https://developers.google.com/workspace/admin/directory/v1/reference/users)
resource. You must provide either the `customer` or the `domain` parameter.
schema:
type: string
- name: maxResults
in: query
required: false
description: Maximum number of results to return.
schema:
type: integer
maximum: 100
format: int32
minimum: 1
- name: pageToken
in: query
required: false
description: Token to specify the next page in the list.
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Roles'
4XX:
content: &id002
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id002
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/admin.directory.rolemanagement
- https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly
- apiKey: []
tags:
- Roles
/admin/directory/v1/customer/{customer}/roles/{roleId}:
get:
operationId: directory.roles.get
summary: Get roles
description: Retrieves a role.
parameters:
- name: customer
in: path
required: true
description: The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch
all groups for a customer, use this field instead of `domain`. You can also use the `my_customer` alias to represent
your account's `customerId`. The `customerId` is also returned as part of the [Users](https://developers.google.com/workspace/admin/directory/v1/reference/users)
resource. You must provide either the `customer` or the `domain` parameter.
schema:
type: string
- name: roleId
in: path
required: true
description: Immutable ID of the role.
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
4XX:
content: &id003
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id003
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/admin.directory.rolemanagement
- https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly
- apiKey: []
tags:
- Roles
patch:
operationId: directory.roles.patch
summary: Patch roles
description: Patches a role.
parameters:
- name: customer
in: path
required: true
description: Immutable ID of the Google Workspace account.
schema:
type: string
- name: roleId
in: path
required: true
description: Immutable ID of the role.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
4XX:
content: &id004
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id004
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/admin.directory.rolemanagement
- apiKey: []
tags:
- Roles
delete:
operationId: directory.roles.delete
summary: Delete roles
description: Deletes a role.
parameters:
- name: customer
in: path
required: true
description: Immutable ID of the Google Workspace account.
schema:
type: string
- name: roleId
in: path
required: true
description: Immutable ID of the role.
schema:
type: string
responses:
'200':
description: Successful response
4XX:
content: &id005
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id005
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/admin.directory.rolemanagement
- apiKey: []
tags:
- Roles
put:
operationId: directory.roles.update
summary: Update roles
description: Updates a role.
parameters:
- name: customer
in: path
required: true
description: Immutable ID of the Google Workspace account.
schema:
type: string
- name: roleId
in: path
required: true
description: Immutable ID of the role.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
4XX:
content: &id006
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content: *id006
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/admin.directory.rolemanagement
- apiKey: []
tags:
- Roles
components:
securitySchemes:
apiKey:
type: apiKey
in: query
name: key
description: API key; accepted by methods that do not need user data.
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://accounts.google.com/o/oauth2/auth
tokenUrl: https://oauth2.googleapis.com/token
scopes:
https://www.googleapis.com/auth/admin.directory.userschema: View and manage the provisioning of user schemas on
your domain
https://www.googleapis.com/auth/admin.directory.group.readonly: View groups on your domain
https://www.googleapis.com/auth/admin.directory.resource.calendar: View and manage the provisioning of calendar
resources on your domain
https://www.googleapis.com/auth/admin.directory.domain.readonly: View domains related to your customers
https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly: View your ChromeOS devices' metadata
https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly: View calendar resources on your domain
https://www.googleapis.com/auth/admin.directory.device.mobile.readonly: View your mobile devices' metadata
https://www.googleapis.com/auth/admin.chrome.printers.readonly: See the printers that your organization can use
with Chrome
https://www.googleapis.com/auth/admin.directory.user.alias.readonly: View user aliases on your domain
https://www.googleapis.com/auth/admin.chrome.printers: See, add, edit, and permanently delete the printers that
your organization can use with Chrome
https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly: View delegated admin roles for your domain
https://www.googleapis.com/auth/admin.directory.user: View and manage the provisioning of users on your domain
https://www.googleapis.com/auth/admin.directory.group: View and manage the provisioning of groups on your domain
https://www.googleapis.com/auth/admin.directory.user.readonly: See info about users on your domain
https://www.googleapis.com/auth/admin.directory.rolemanagement: Manage delegated admin roles for your domain
https://www.googleapis.com/auth/admin.directory.user.security: Manage data access permissions for users on your
domain
https://www.googleapis.com/auth/admin.directory.customer: View and manage customer related information
https://www.googleapis.com/auth/admin.directory.userschema.readonly: View user schemas on your domain
https://www.googleapis.com/auth/admin.directory.device.mobile.action: Manage your mobile devices by performing
administrative tasks
https://www.googleapis.com/auth/admin.directory.orgunit: View and manage organization units on your domain
https://www.googleapis.com/auth/admin.directory.group.member: View and manage group subscriptions on your domain
https://www.googleapis.com/auth/admin.directory.device.chromeos: View and manage your ChromeOS devices' metadata
https://www.googleapis.com/auth/admin.directory.device.mobile: View and manage your mobile devices' metadata
https://www.googleapis.com/auth/cloud-platform: See, edit, configure, and delete your Google Cloud data and see
the email address for your Google Account.
https://www.googleapis.com/auth/admin.directory.group.member.readonly: View group subscriptions on your domain
https://www.googleapis.com/auth/admin.directory.orgunit.readonly: View organization units on your domain
https://www.googleapis.com/auth/admin.directory.user.alias: View and manage user aliases on your domain
https://www.googleapis.com/auth/admin.directory.customer.readonly: View customer related information
https://www.googleapis.com/auth/admin.directory.domain: View and manage the provisioning of domains for your customers
schemas:
GoogleRpcError:
type: object
description: The error envelope every Google API returns.
properties:
error:
type: object
properties:
code:
type: integer
message:
type: string
status:
type: string
details:
type: array
items:
type: object
Role:
type: object
properties:
roleId:
type: string
format: int64
description: ID of the role.
kind:
type: string
description: The type of the API resource. This is always `admin#directory#role`.
default: admin#directory#role
isSystemRole:
description: Returns `true` if this is a pre-defined system role.
type: boolean
roleName:
description: Name of the role.
type: string
isSuperAdminRole:
description: Returns `true` if the role is a super admin role.
type: boolean
roleDescription:
type: string
description: A short description of the role.
rolePrivileges:
type: array
description: The set of privileges that are granted to this role.
items:
properties:
serviceId:
description: The obfuscated ID of the service this privilege is for. This value is returned with [`Privileges.list()`](https://developers.google.com/workspace/admin/directory/v1/reference/privileges/list).
type: string
privilegeName:
description: The name of the privilege.
type: string
type: object
etag:
description: ETag of the resource.
type: string
Roles:
properties:
kind:
type: string
default: admin#directory#roles
description: The type of the API resource. This is always `admin#directory#roles`.
items:
items:
$ref: '#/components/schemas/Role'
type: array
description: A list of Role resources.
nextPageToken:
type: string
etag:
description: ETag of the resource.
type: string
type: object
x-provenance:
method: harvested
publisher: Google
source: https://admin.googleapis.com/$discovery/rest?version=directory_v1
note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261109)