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.

GitHub OpenAPI

Operations 6

POST /admin/directory/v1/customer/{customer}/roles Insert roles #
GET /admin/directory/v1/customer/{customer}/roles List roles #
GET /admin/directory/v1/customer/{customer}/roles/{roleId} Get roles #
PATCH /admin/directory/v1/customer/{customer}/roles/{roleId} Patch roles #
DELETE /admin/directory/v1/customer/{customer}/roles/{roleId} Delete roles #
PUT /admin/directory/v1/customer/{customer}/roles/{roleId} Update roles #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-admin-sdk:google-admin-sdk-admin-directory-roles-api"
All apis
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.

Get an API 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 Specification

google-admin-sdk-admin-directory-roles-api-openapi.yml Raw ↑
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)