Google Workspace OrgUnits API

Manage organizational units in a Google Workspace domain

Operations 6

GET /admin/directory/v1/customer/{customerId}/orgunits List Organizational Units #
POST /admin/directory/v1/customer/{customerId}/orgunits Create an Organizational Unit #
GET /admin/directory/v1/customer/{customerId}/orgunits/{orgUnitPath} Get an Organizational Unit #
PUT /admin/directory/v1/customer/{customerId}/orgunits/{orgUnitPath} Update an Organizational Unit #
PATCH /admin/directory/v1/customer/{customerId}/orgunits/{orgUnitPath} Patch an Organizational Unit #
DELETE /admin/directory/v1/customer/{customerId}/orgunits/{orgUnitPath} Delete an Organizational Unit #

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-workspace-orgunits-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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-workspace-orgunits-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Google Workspace Admin SDK Directory Groups Org Units API
  description: Manage users, groups, and organizational units in a Google Workspace domain. The Admin SDK Directory API lets administrators of enterprise domains view and manage resources such as user accounts, groups, and organizational units within their Google Workspace domain.
  version: directory_v1
  contact:
    name: Google Workspace Developer Support
    url: https://developers.google.com/admin-sdk/directory
  license:
    name: Google APIs Terms of Service
    url: https://developers.google.com/terms
  x-logo:
    url: https://www.gstatic.com/images/branding/product/2x/admin_2020q4_48dp.png
servers:
- url: https://admin.googleapis.com
  description: Google Admin SDK production endpoint
security:
- oauth2: []
tags:
- name: OrgUnits
  description: Manage organizational units in a Google Workspace domain
  externalDocs:
    url: https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits
paths:
  /admin/directory/v1/customer/{customerId}/orgunits:
    parameters:
    - $ref: '#/components/parameters/customerId'
    get:
      operationId: listOrgUnits
      summary: List Organizational Units
      description: Retrieves a list of all organizational units for an account. The hierarchy of organizational units is limited to 35 levels of depth.
      tags:
      - OrgUnits
      parameters:
      - name: type
        in: query
        description: Whether to return all sub-organizations or just immediate children.
        schema:
          type: string
          enum:
          - all
          - children
          - allIncludingParent
      - name: orgUnitPath
        in: query
        description: The full path to the organizational unit or its unique ID. Returns child organizational units beneath the specified path.
        schema:
          type: string
      responses:
        '200':
          description: Successful response containing a list of organizational units.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgUnits'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: insertOrgUnit
      summary: Create an Organizational Unit
      description: Adds an organizational unit under the specified customer account.
      tags:
      - OrgUnits
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgUnit'
      responses:
        '200':
          description: Successfully created organizational unit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgUnit'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /admin/directory/v1/customer/{customerId}/orgunits/{orgUnitPath}:
    parameters:
    - $ref: '#/components/parameters/customerId'
    - $ref: '#/components/parameters/orgUnitPath'
    get:
      operationId: getOrgUnit
      summary: Get an Organizational Unit
      description: Retrieves an organizational unit.
      tags:
      - OrgUnits
      responses:
        '200':
          description: Successful response containing the organizational unit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgUnit'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateOrgUnit
      summary: Update an Organizational Unit
      description: Updates an organizational unit. This replaces the entire resource. Use patch for partial updates.
      tags:
      - OrgUnits
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgUnit'
      responses:
        '200':
          description: Successfully updated organizational unit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgUnit'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: patchOrgUnit
      summary: Patch an Organizational Unit
      description: Updates an organizational unit using patch semantics. Only the specified fields are updated.
      tags:
      - OrgUnits
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrgUnit'
      responses:
        '200':
          description: Successfully patched organizational unit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgUnit'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteOrgUnit
      summary: Delete an Organizational Unit
      description: Removes an organizational unit. Only empty organizational units can be deleted. All users and child organizational units must be moved or deleted before the parent can be removed.
      tags:
      - OrgUnits
      responses:
        '204':
          description: Successfully deleted organizational unit. No content returned.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The authenticated user does not have permission to perform this operation. Ensure the correct admin scopes are authorized.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication is required. The request did not include valid credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request was malformed or contained invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    orgUnitPath:
      name: orgUnitPath
      in: path
      required: true
      description: The full path of the organizational unit (minus the leading /) or its unique ID.
      schema:
        type: string
    customerId:
      name: customerId
      in: path
      required: true
      description: The unique ID for the customer Google Workspace account. Use the value my_customer to represent the account associated with the authenticated administrator.
      schema:
        type: string
  schemas:
    OrgUnit:
      type: object
      description: A Google Workspace organizational unit. JSON representation of an org unit resource from the Admin SDK Directory API. The hierarchy is limited to 35 levels of depth.
      properties:
        kind:
          type: string
          description: The type of the API resource.
          default: admin#directory#orgUnit
          readOnly: true
          example: example_value
        etag:
          type: string
          description: ETag of the resource.
          readOnly: true
          example: example_value
        name:
          type: string
          description: The organizational unit path name. For example, an organizational unit with parent path /corp and name sales is derived as /corp/sales.
          example: Example Title
        description:
          type: string
          description: Description of the organizational unit.
          example: A sample description.
        orgUnitPath:
          type: string
          description: The full path to the organizational unit. The orgUnitPath is a derived property. When listed, it is derived from parentOrgUnitPath and the organizational unit name.
          readOnly: true
          example: example_value
        orgUnitId:
          type: string
          description: The unique ID of the organizational unit.
          readOnly: true
          example: '500123'
        parentOrgUnitPath:
          type: string
          description: The organizational unit path of the parent organizational unit. Required unless parentOrgUnitId is set.
          example: example_value
        parentOrgUnitId:
          type: string
          description: The unique ID of the parent organizational unit. Required unless parentOrgUnitPath is set.
          example: '500123'
        blockInheritance:
          type: boolean
          description: Deprecated. Setting this field has no effect.
          deprecated: true
          example: true
      required:
      - name
    Error:
      type: object
      description: An error response from the API.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: The HTTP status code.
            message:
              type: string
              description: A human-readable description of the error.
            errors:
              type: array
              description: Detailed error information.
              items:
                type: object
                properties:
                  domain:
                    type: string
                  reason:
                    type: string
                  message:
                    type: string
          example: example_value
    OrgUnits:
      type: object
      description: A list of organizational unit resources.
      properties:
        kind:
          type: string
          description: The type of the API resource.
          default: admin#directory#orgUnits
          readOnly: true
          example: example_value
        etag:
          type: string
          description: ETag of the resource.
          readOnly: true
          example: example_value
        organizationUnits:
          type: array
          description: A list of organizational unit objects.
          items:
            $ref: '#/components/schemas/OrgUnit'
          example: []
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization for Google Workspace Admin operations.
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          refreshUrl: https://oauth2.googleapis.com/token
          scopes:
            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.user.readonly: View 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.group.readonly: View groups on your domain
            https://www.googleapis.com/auth/admin.directory.orgunit: View and manage organization units on your domain
            https://www.googleapis.com/auth/admin.directory.orgunit.readonly: View organization units on your domain
externalDocs:
  description: Google Admin SDK Directory API Documentation
  url: https://developers.google.com/admin-sdk/directory/reference/rest