Google Cloud Resource Manager API

Programmatically manage Google Cloud projects, folders, and organizations for resource hierarchy management.

Documentation

Specifications

SDKs

Schemas & Data

Other Resources

OpenAPI Specification

cloud-resource-manager-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Cloud Platform Google Cloud Resource Manager API
  description: >-
    Programmatically manage Google Cloud projects, folders, and organizations.
    The Cloud Resource Manager API enables you to create, read, update, and
    delete projects, folders, and organizations in the Google Cloud resource
    hierarchy. It provides the foundation for organizing and governing Google
    Cloud resources through a hierarchical structure of organizations, folders,
    and projects.
  version: v3
  termsOfService: https://cloud.google.com/terms
  contact:
    name: Google Cloud Platform
    url: https://cloud.google.com/resource-manager/
  license:
    name: Creative Commons Attribution 4.0
    url: https://creativecommons.org/licenses/by/4.0/
  x-logo:
    url: https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png
servers:
- url: https://cloudresourcemanager.googleapis.com
  description: Google Cloud Resource Manager API production endpoint
security:
- oauth2:
  - https://www.googleapis.com/auth/cloud-platform
- oauth2:
  - https://www.googleapis.com/auth/cloud-platform.read-only
tags:
- name: Folders
  description: >-
    Manage Google Cloud folders. Folders provide an additional grouping
    mechanism and isolation boundary between projects. They can be used to
    model organizational structure, departments, teams, or environments.
- name: Operations
  description: >-
    Long-running operations returned by Resource Manager API methods. Some
    methods return an Operation resource to track the progress of
    asynchronous requests.
- name: Organizations
  description: >-
    Manage Google Cloud organizations. An organization is the root node in
    the Google Cloud resource hierarchy, typically representing a company or
    business entity. Organizations are tied to a Google Workspace or Cloud
    Identity account.
- name: Projects
  description: >-
    Manage Google Cloud projects. A project is the base-level organizing
    entity in Google Cloud and is required to use most Google Cloud services.
    Projects contain resources and are associated with billing accounts.
- name: TagBindings
  description: >-
    Manage tag bindings that associate tag values with Google Cloud resources.
    Tag bindings connect tag values to specific resources in the hierarchy.
- name: TagKeys
  description: >-
    Manage tag keys used to organize and categorize Google Cloud resources.
    Tag keys define the namespace for tag values that can be attached to
    resources.
- name: TagValues
  description: >-
    Manage tag values associated with tag keys. Tag values are the specific
    labels that can be bound to resources through tag bindings.
paths:
  /v3/projects:
    get:
      operationId: cloudresourcemanager.projects.list
      summary: Google Cloud Platform List Projects
      description: >-
        Lists projects that are direct children of the specified parent
        resource. Projects are listed in alphabetical order by display name.
        The caller must have the resourcemanager.projects.list permission on
        the parent resource.
      tags:
      - Projects
      parameters:
      - name: parent
        in: query
        description: >-
          The name of the parent resource whose projects are to be listed.
          Must be of the form folders/{folder_id} or organizations/{org_id}.
        required: true
        schema:
          type: string
          examples:
          - folders/123456789
          - organizations/987654321
        example: example_value
      - name: pageSize
        in: query
        description: >-
          Maximum number of projects to return in the response. The server
          can return fewer results. If unspecified, the server picks an
          appropriate default value.
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 1000
        example: 10
      - name: pageToken
        in: query
        description: >-
          A pagination token returned from a previous call to ListProjects
          that indicates where this listing should continue from.
        schema:
          type: string
        example: example_value
      - name: showDeleted
        in: query
        description: >-
          Indicate that projects in the DELETE_REQUESTED state should also
          be returned.
        schema:
          type: boolean
          default: false
        example: true
      responses:
        '200':
          description: Successful response containing a list of projects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProjectsResponse'
              examples:
                CloudresourcemanagerProjectsList200Example:
                  summary: Default cloudresourcemanager.projects.list 200 response
                  x-microcks-default: true
                  value:
                    projects:
                    - name: Example Title
                      parent: example_value
                      projectId: '500123'
                      state: STATE_UNSPECIFIED
                      displayName: example_value
                      createTime: '2026-01-15T10:30:00Z'
                      updateTime: '2026-01-15T10:30:00Z'
                      deleteTime: '2026-01-15T10:30:00Z'
                      etag: example_value
                      labels: example_value
                    nextPageToken: example_value
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsList400Example:
                  summary: Default cloudresourcemanager.projects.list 400 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsList401Example:
                  summary: Default cloudresourcemanager.projects.list 401 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '403':
          description: The caller does not have required permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsList403Example:
                  summary: Default cloudresourcemanager.projects.list 403 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: cloudresourcemanager.projects.create
      summary: Google Cloud Platform Create a Project
      description: >-
        Creates a new project resource under the specified parent. The parent
        must be an organization or folder. The caller must have the
        resourcemanager.projects.create permission on the parent. This method
        returns a long-running Operation which can be used to track creation.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Project'
            examples:
              CloudresourcemanagerProjectsCreateRequestExample:
                summary: Default cloudresourcemanager.projects.create request
                x-microcks-default: true
                value:
                  name: Example Title
                  parent: example_value
                  projectId: '500123'
                  state: STATE_UNSPECIFIED
                  displayName: example_value
                  createTime: '2026-01-15T10:30:00Z'
                  updateTime: '2026-01-15T10:30:00Z'
                  deleteTime: '2026-01-15T10:30:00Z'
                  etag: example_value
                  labels: example_value
      responses:
        '200':
          description: >-
            Operation started successfully. Returns a long-running operation
            that can be polled for completion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
              examples:
                CloudresourcemanagerProjectsCreate200Example:
                  summary: Default cloudresourcemanager.projects.create 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    metadata: example_value
                    done: true
                    error:
                      code: 10
                      message: example_value
                      details:
                      - {}
                    response: example_value
        '400':
          description: Invalid project data provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsCreate400Example:
                  summary: Default cloudresourcemanager.projects.create 400 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsCreate401Example:
                  summary: Default cloudresourcemanager.projects.create 401 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '403':
          description: The caller does not have required permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsCreate403Example:
                  summary: Default cloudresourcemanager.projects.create 403 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '409':
          description: A project with the specified project ID already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsCreate409Example:
                  summary: Default cloudresourcemanager.projects.create 409 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/projects/{projectId}:
    get:
      operationId: cloudresourcemanager.projects.get
      summary: Google Cloud Platform Get a Project
      description: >-
        Retrieves the project identified by the specified name, such as
        projects/123 or projects/my-project-id. The caller must have the
        resourcemanager.projects.get permission on the project.
      tags:
      - Projects
      parameters:
      - name: projectId
        in: path
        description: >-
          The name of the project to retrieve, such as projects/123 or
          projects/my-project-id. The project ID or number is required.
        required: true
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: Successful response containing the project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
              examples:
                CloudresourcemanagerProjectsGet200Example:
                  summary: Default cloudresourcemanager.projects.get 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    parent: example_value
                    projectId: '500123'
                    state: STATE_UNSPECIFIED
                    displayName: example_value
                    createTime: '2026-01-15T10:30:00Z'
                    updateTime: '2026-01-15T10:30:00Z'
                    deleteTime: '2026-01-15T10:30:00Z'
                    etag: example_value
                    labels: example_value
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsGet401Example:
                  summary: Default cloudresourcemanager.projects.get 401 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '403':
          description: The caller does not have required permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsGet403Example:
                  summary: Default cloudresourcemanager.projects.get 403 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '404':
          description: The specified project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsGet404Example:
                  summary: Default cloudresourcemanager.projects.get 404 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: cloudresourcemanager.projects.patch
      summary: Google Cloud Platform Update a Project
      description: >-
        Updates the display name and labels of the project identified by the
        specified name. Changes to the project are not reflected immediately
        and may take several minutes to propagate. The caller must have the
        resourcemanager.projects.update permission on the project.
      tags:
      - Projects
      parameters:
      - name: projectId
        in: path
        description: The name of the project to update.
        required: true
        schema:
          type: string
        example: '500123'
      - name: updateMask
        in: query
        description: >-
          A comma-separated list of fields to update. Only display_name and
          labels fields can be updated. An empty update mask is not permitted.
        schema:
          type: string
        example: example_value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Project'
            examples:
              CloudresourcemanagerProjectsPatchRequestExample:
                summary: Default cloudresourcemanager.projects.patch request
                x-microcks-default: true
                value:
                  name: Example Title
                  parent: example_value
                  projectId: '500123'
                  state: STATE_UNSPECIFIED
                  displayName: example_value
                  createTime: '2026-01-15T10:30:00Z'
                  updateTime: '2026-01-15T10:30:00Z'
                  deleteTime: '2026-01-15T10:30:00Z'
                  etag: example_value
                  labels: example_value
      responses:
        '200':
          description: >-
            Operation started successfully. Returns a long-running operation
            that can be polled for completion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
              examples:
                CloudresourcemanagerProjectsPatch200Example:
                  summary: Default cloudresourcemanager.projects.patch 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    metadata: example_value
                    done: true
                    error:
                      code: 10
                      message: example_value
                      details:
                      - {}
                    response: example_value
        '400':
          description: Invalid update parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsPatch400Example:
                  summary: Default cloudresourcemanager.projects.patch 400 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsPatch401Example:
                  summary: Default cloudresourcemanager.projects.patch 401 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '403':
          description: The caller does not have required permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsPatch403Example:
                  summary: Default cloudresourcemanager.projects.patch 403 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '404':
          description: The specified project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsPatch404Example:
                  summary: Default cloudresourcemanager.projects.patch 404 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: cloudresourcemanager.projects.delete
      summary: Google Cloud Platform Delete a Project
      description: >-
        Marks the project identified by the specified name to be deleted. This
        method sets the project lifecycle state to DELETE_REQUESTED. The
        project is not immediately deleted but enters a 30-day grace period
        during which it can be restored using undelete. After 30 days, the
        project and all its resources are permanently deleted.
      tags:
      - Projects
      parameters:
      - name: projectId
        in: path
        description: The name of the project to delete.
        required: true
        schema:
          type: string
        example: '500123'
      responses:
        '200':
          description: >-
            Operation started successfully. Returns a long-running operation
            that can be polled for completion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
              examples:
                CloudresourcemanagerProjectsDelete200Example:
                  summary: Default cloudresourcemanager.projects.delete 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    metadata: example_value
                    done: true
                    error:
                      code: 10
                      message: example_value
                      details:
                      - {}
                    response: example_value
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsDelete401Example:
                  summary: Default cloudresourcemanager.projects.delete 401 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '403':
          description: The caller does not have required permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsDelete403Example:
                  summary: Default cloudresourcemanager.projects.delete 403 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '404':
          description: The specified project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsDelete404Example:
                  summary: Default cloudresourcemanager.projects.delete 404 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/projects/{projectId}:undelete:
    post:
      operationId: cloudresourcemanager.projects.undelete
      summary: Google Cloud Platform Undelete a Project
      description: >-
        Restores the project identified by the specified name. A project can
        only be restored within the 30-day grace period after deletion. The
        caller must have the resourcemanager.projects.undelete permission on
        the project.
      tags:
      - Projects
      parameters:
      - name: projectId
        in: path
        description: The name of the project to undelete.
        required: true
        schema:
          type: string
        example: '500123'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UndeleteProjectRequest'
            examples:
              CloudresourcemanagerProjectsUndeleteRequestExample:
                summary: Default cloudresourcemanager.projects.undelete request
                x-microcks-default: true
                value: {}
      responses:
        '200':
          description: >-
            Operation started successfully. Returns a long-running operation
            that can be polled for completion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
              examples:
                CloudresourcemanagerProjectsUndelete200Example:
                  summary: Default cloudresourcemanager.projects.undelete 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    metadata: example_value
                    done: true
                    error:
                      code: 10
                      message: example_value
                      details:
                      - {}
                    response: example_value
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsUndelete401Example:
                  summary: Default cloudresourcemanager.projects.undelete 401 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '403':
          description: The caller does not have required permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsUndelete403Example:
                  summary: Default cloudresourcemanager.projects.undelete 403 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '404':
          description: The specified project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsUndelete404Example:
                  summary: Default cloudresourcemanager.projects.undelete 404 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '412':
          description: >-
            The project is not in DELETE_REQUESTED state or the 30-day grace
            period has expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsUndelete412Example:
                  summary: Default cloudresourcemanager.projects.undelete 412 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/projects/{resource}:getIamPolicy:
    post:
      operationId: cloudresourcemanager.projects.getIamPolicy
      summary: Google Cloud Platform Get Project Iam Policy
      description: >-
        Returns the IAM access control policy for the specified project. The
        caller must have the resourcemanager.projects.getIamPolicy permission
        on the project.
      tags:
      - Projects
      parameters:
      - name: resource
        in: path
        description: >-
          The name of the project whose policy is being requested, such as
          projects/12345.
        required: true
        schema:
          type: string
        example: example_value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetIamPolicyRequest'
            examples:
              CloudresourcemanagerProjectsGetiampolicyRequestExample:
                summary: Default cloudresourcemanager.projects.getIamPolicy request
                x-microcks-default: true
                value:
                  options:
                    requestedPolicyVersion: 10
      responses:
        '200':
          description: Successful response containing the IAM policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
              examples:
                CloudresourcemanagerProjectsGetiampolicy200Example:
                  summary: Default cloudresourcemanager.projects.getIamPolicy 200 response
                  x-microcks-default: true
                  value:
                    version: 10
                    bindings:
                    - role: example_value
                      members: {}
                    etag: example_value
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsGetiampolicy401Example:
                  summary: Default cloudresourcemanager.projects.getIamPolicy 401 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
        '403':
          description: The caller does not have required permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
              examples:
                CloudresourcemanagerProjectsGetiampolicy403Example:
                  summary: Default cloudresourcemanager.projects.getIamPolicy 403 response
                  x-microcks-default: true
                  value:
                    code: 10
                    message: example_value
                    details:
                    - {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/projects/{resource}:setIamPolicy:
    post:
      operationId: cloudresourcemanager.projects.setIamPolicy
      summary: Google Cloud Platform Set Project Iam Policy
      description: >-
        Sets the IAM access control policy for the specified project, replacing
        any existing policy. The caller must have the
        resourcemanager.projects.setIamPolicy permission on the project.
      tags:
      - Projects
      parameters:
      - name: resource
        in: path
        description: >-
          The name of the project whose policy is being set, such as
          projects/12345.
        required: true
        schema:
          type: string
        example: example_value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetIamPolicyRequest'
            examples:
              CloudresourcemanagerProjectsSetiampolicyRequestExample:
                summary: Default cloudresourcemanager.projects.setIamPolicy request
                x-microcks-default: true
                value:
                  policy:
                    version: 10
                    bindings:
                    - {}
                    etag: example_value
                  updateMask: example_value
      responses:
        '200':
          description: Successful response containing the updated IAM policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
              examples:
                CloudresourcemanagerProjectsSetiampolicy200Example:
                  summary: Default cloudresourcemanager.projects.setIam

# --- truncated at 32 KB (126 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-cloud-platform/refs/heads/main/openapi/cloud-resource-manager-openapi.yml