{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://accessapproval.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Access Approval",
  "description": "An API for controlling access to data by Google personnel.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/access-approval/docs",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "accessapproval:v1beta1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://accessapproval.mtls.googleapis.com/",
  "name": "accessapproval",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "folders": {
      "methods": {
        "deleteAccessApprovalSettings": {
          "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
          "flatPath": "v1beta1/folders/{foldersId}/accessApprovalSettings",
          "httpMethod": "DELETE",
          "id": "accessapproval.folders.deleteAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to delete.",
              "location": "path",
              "pattern": "^folders/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "getAccessApprovalSettings": {
          "description": "Gets the settings associated with a project, folder, or organization.",
          "flatPath": "v1beta1/folders/{foldersId}/accessApprovalSettings",
          "httpMethod": "GET",
          "id": "accessapproval.folders.getAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to retrieve.",
              "location": "path",
              "pattern": "^folders/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "updateAccessApprovalSettings": {
          "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
          "flatPath": "v1beta1/folders/{foldersId}/accessApprovalSettings",
          "httpMethod": "PATCH",
          "id": "accessapproval.folders.updateAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
              "location": "path",
              "pattern": "^folders/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            },
            "updateMask": {
              "description": "For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "request": {
            "$ref": "AccessApprovalSettings"
          },
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      },
      "resources": {
        "approvalRequests": {
          "methods": {
            "approve": {
              "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
              "flatPath": "v1beta1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:approve",
              "httpMethod": "POST",
              "id": "accessapproval.folders.approvalRequests.approve",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the approval request to approve.",
                  "location": "path",
                  "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}:approve",
              "request": {
                "$ref": "ApproveApprovalRequestMessage"
              },
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "dismiss": {
              "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
              "flatPath": "v1beta1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:dismiss",
              "httpMethod": "POST",
              "id": "accessapproval.folders.approvalRequests.dismiss",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the ApprovalRequest to dismiss.",
                  "location": "path",
                  "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}:dismiss",
              "request": {
                "$ref": "DismissApprovalRequestMessage"
              },
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
              "flatPath": "v1beta1/folders/{foldersId}/approvalRequests/{approvalRequestsId}",
              "httpMethod": "GET",
              "id": "accessapproval.folders.approvalRequests.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the approval request to retrieve.",
                  "location": "path",
                  "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}",
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
              "flatPath": "v1beta1/folders/{foldersId}/approvalRequests",
              "httpMethod": "GET",
              "id": "accessapproval.folders.approvalRequests.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "filter": {
                  "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "Requested page size.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A token identifying the page of results to return.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
                  "location": "path",
                  "pattern": "^folders/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+parent}/approvalRequests",
              "response": {
                "$ref": "ListApprovalRequestsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        }
      }
    },
    "organizations": {
      "methods": {
        "deleteAccessApprovalSettings": {
          "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
          "flatPath": "v1beta1/organizations/{organizationsId}/accessApprovalSettings",
          "httpMethod": "DELETE",
          "id": "accessapproval.organizations.deleteAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to delete.",
              "location": "path",
              "pattern": "^organizations/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "getAccessApprovalSettings": {
          "description": "Gets the settings associated with a project, folder, or organization.",
          "flatPath": "v1beta1/organizations/{organizationsId}/accessApprovalSettings",
          "httpMethod": "GET",
          "id": "accessapproval.organizations.getAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to retrieve.",
              "location": "path",
              "pattern": "^organizations/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "updateAccessApprovalSettings": {
          "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
          "flatPath": "v1beta1/organizations/{organizationsId}/accessApprovalSettings",
          "httpMethod": "PATCH",
          "id": "accessapproval.organizations.updateAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
              "location": "path",
              "pattern": "^organizations/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            },
            "updateMask": {
              "description": "For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "request": {
            "$ref": "AccessApprovalSettings"
          },
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      },
      "resources": {
        "approvalRequests": {
          "methods": {
            "approve": {
              "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
              "flatPath": "v1beta1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:approve",
              "httpMethod": "POST",
              "id": "accessapproval.organizations.approvalRequests.approve",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the approval request to approve.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}:approve",
              "request": {
                "$ref": "ApproveApprovalRequestMessage"
              },
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "dismiss": {
              "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
              "flatPath": "v1beta1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:dismiss",
              "httpMethod": "POST",
              "id": "accessapproval.organizations.approvalRequests.dismiss",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the ApprovalRequest to dismiss.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}:dismiss",
              "request": {
                "$ref": "DismissApprovalRequestMessage"
              },
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
              "flatPath": "v1beta1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}",
              "httpMethod": "GET",
              "id": "accessapproval.organizations.approvalRequests.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the approval request to retrieve.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}",
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
              "flatPath": "v1beta1/organizations/{organizationsId}/approvalRequests",
              "httpMethod": "GET",
              "id": "accessapproval.organizations.approvalRequests.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "filter": {
                  "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "Requested page size.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A token identifying the page of results to return.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
                  "location": "path",
                  "pattern": "^organizations/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+parent}/approvalRequests",
              "response": {
                "$ref": "ListApprovalRequestsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        }
      }
    },
    "projects": {
      "methods": {
        "deleteAccessApprovalSettings": {
          "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
          "flatPath": "v1beta1/projects/{projectsId}/accessApprovalSettings",
          "httpMethod": "DELETE",
          "id": "accessapproval.projects.deleteAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to delete.",
              "location": "path",
              "pattern": "^projects/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "getAccessApprovalSettings": {
          "description": "Gets the settings associated with a project, folder, or organization.",
          "flatPath": "v1beta1/projects/{projectsId}/accessApprovalSettings",
          "httpMethod": "GET",
          "id": "accessapproval.projects.getAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to retrieve.",
              "location": "path",
              "pattern": "^projects/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "updateAccessApprovalSettings": {
          "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
          "flatPath": "v1beta1/projects/{projectsId}/accessApprovalSettings",
          "httpMethod": "PATCH",
          "id": "accessapproval.projects.updateAccessApprovalSettings",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
              "location": "path",
              "pattern": "^projects/[^/]+/accessApprovalSettings$",
              "required": true,
              "type": "string"
            },
            "updateMask": {
              "description": "For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
              "format": "google-fieldmask",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1beta1/{+name}",
          "request": {
            "$ref": "AccessApprovalSettings"
          },
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      },
      "resources": {
        "approvalRequests": {
          "methods": {
            "approve": {
              "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
              "flatPath": "v1beta1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:approve",
              "httpMethod": "POST",
              "id": "accessapproval.projects.approvalRequests.approve",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the approval request to approve.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}:approve",
              "request": {
                "$ref": "ApproveApprovalRequestMessage"
              },
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "dismiss": {
              "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
              "flatPath": "v1beta1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:dismiss",
              "httpMethod": "POST",
              "id": "accessapproval.projects.approvalRequests.dismiss",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the ApprovalRequest to dismiss.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}:dismiss",
              "request": {
                "$ref": "DismissApprovalRequestMessage"
              },
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
              "flatPath": "v1beta1/projects/{projectsId}/approvalRequests/{approvalRequestsId}",
              "httpMethod": "GET",
              "id": "accessapproval.projects.approvalRequests.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Name of the approval request to retrieve.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+name}",
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
              "flatPath": "v1beta1/projects/{projectsId}/approvalRequests",
              "httpMethod": "GET",
              "id": "accessapproval.projects.approvalRequests.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "filter": {
                  "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "Requested page size.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A token identifying the page of results to return.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1beta1/{+parent}/approvalRequests",
              "response": {
                "$ref": "ListApprovalRequestsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        }
      }
    }
  },
  "revision": "20200225",
  "rootUrl": "https://accessapproval.googleapis.com/",
  "schemas": {
    "AccessApprovalSettings": {
      "description": "Settings on a Project/Folder/Organization related to Access Approval.",
      "id": "AccessApprovalSettings",
      "properties": {
        "enrolledAncestor": {
          "description": "Output only. This field is read only (not settable via\nUpdateAccessAccessApprovalSettings method). If the field is true, that\nindicates that at least one service is enrolled for Access Approval in one\nor more ancestors of the Project or Folder (this field will always be\nunset for the organization since organizations do not have ancestors).",
          "type": "boolean"
        },
        "enrolledServices": {
          "description": "A list of Google Cloud Services for which the given resource has Access\nApproval enrolled. Access requests for the resource given by name against\nany of these services contained here will be required to have explicit\napproval. If name refers to an organization, enrollment can be done for\nindividual services. If name refers to a folder or project, enrollment can\nonly be done on an all or nothing basis.\n\nIf a cloud_product is repeated in this list, the first entry will be\nhonored and all following entries will be discarded. A maximum of 10\nenrolled services will be enforced, to be expanded as the set of supported\nservices is expanded.",
          "items": {
            "$ref": "EnrolledService"
          },
          "type": "array"
        },
        "name": {
          "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
          "type": "string"
        },
        "notificationEmails": {
          "description": "A list of email addresses to which notifications relating to approval\nrequests should be sent. Notifications relating to a resource will be sent\nto all emails in the settings of ancestor resources of that resource. A\nmaximum of 50 email addresses are allowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AccessLocations": {
      "description": "Home office and physical location of the principal.",
      "id": "AccessLocations",
      "properties": {
        "principalOfficeCountry": {
          "description": "The \"home office\" location of the principal. A two-letter country code\n(ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or a region code. In some\nlimited situations Google systems may refer refer to a region code instead\nof a country code.\nPossible Region Codes:\n\u003col\u003e\n  \u003cli\u003eASI: Asia\u003c/li\u003e\n  \u003cli\u003eEUR: Europe\u003c/li\u003e\n  \u003cli\u003eOCE: Oceania\u003c/li\u003e\n  \u003cli\u003eAFR: Africa\u003c/li\u003e\n  \u003cli\u003eNAM: North America\u003c/li\u003e\n  \u003cli\u003eSAM: South America\u003c/li\u003e\n  \u003cli\u003eANT: Antarctica\u003c/li\u003e\n  \u003cli\u003eANY: Any location\u003c/li\u003e\n\u003c/ol\u003e",
          "type": "string"
        },
        "principalPhysicalLocationCountry": {
          "description": "Physical location of the principal at the time of the access. A\ntwo-letter country code (ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or\na region code. In some limited situations Google systems may refer refer to\na region code instead of a country code.\nPossible Region Codes:\n\u003col\u003e\n  \u003cli\u003eASI: Asia\u003c/li\u003e\n  \u003cli\u003eEUR: Europe\u003c/li\u003e\n  \u003cli\u003eOCE: Oceania\u003c/li\u003e\n  \u003cli\u003eAFR: Africa\u003c/li\u003e\n  \u003cli\u003eNAM: North America\u003c/li\u003e\n  \u003cli\u003eSAM: South America\u003c/li\u003e\n  \u003cli\u003eANT: Antarctica\u003c/li\u003e\n  \u003cli\u003eANY: Any location\u003c/li\u003e\n\u003c/ol\u003e",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AccessReason": {
      "id": "AccessReason",
      "properties": {
        "detail": {
          "description": "More detail about certain reason types. See comments for each type above.",
          "type": "string"
        },
        "type": {
          "description": "Type of access justification.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "CUSTOMER_INITIATED_SUPPORT",
            "GOOGLE_INITIATED_SERVICE",
            "GOOGLE_INITIATED_REVIEW"
          ],
          "enumDescriptions": [
            "Default value for proto, shouldn't be used.",
            "Customer made a request or raised an issue that required the principal to\naccess customer data. `detail` is of the form (\"#####\" is the issue ID):\n\u003col\u003e\n  \u003cli\u003e\"Feedback Report: #####\"\u003c/li\u003e\n  \u003cli\u003e\"Case Number: #####\"\u003c/li\u003e\n  \u003cli\u003e\"Case ID: #####\"\u003c/li\u003e\n  \u003cli\u003e\"E-PIN Reference: #####\"\u003c/li\u003e\n  \u003cli\u003e\"Google-#####\"\u003c/li\u003e\n  \u003cli\u003e\"T-#####\"\u003c/li\u003e\n\u003c/ol\u003e",
            "The principal accessed customer data in order to diagnose or resolve a\nsuspected issue in services or a known outage. Often this access is used\nto confirm that customers are not affected by a suspected service issue\nor to remediate a reversible system issue.",
            "Google initiated service for security, fraud, abuse, or compliance\npurposes."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ApprovalRequest": {
      "description": "A request for the customer to approve access to a resource.",
      "id": "ApprovalRequest",
      "properties": {
        "approve": {
          "$ref": "ApproveDecision",
          "description": "Access was approved."
        },
        "dismiss": {
          "$ref": "DismissDecision",
          "description": "The request was dismissed."
        },
        "name": {
          "description": "The resource name of the request. Format is\n\"{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}\".",
          "type": "string"
        },
        "requestTime": {
          "description": "The time at which approval was requested.",
          "format": "google-datetime",
          "type": "string"
        },
        "requestedExpiration": {
          "description": "The requested expiration for the approval. If the request is approved,\naccess will be granted from the time of approval until the expiration time.",
          "format": "google-datetime",
          "type": "string"
        },
        "requestedLocations": {
          "$ref": "AccessLocations",
          "description": "The locations for which approval is being requested."
        },
        "requestedReason": {
          "$ref": "AccessReason",
          "description": "The justification for which approval is being requested."
        },
        "requestedResourceName": {
          "description": "The resource for which approval is being requested. The format of the\nresource name is defined at\nhttps://cloud.google.com/apis/design/resource_names. The resource name here\nmay either be a \"full\" resource name (e.g.\n\"//library.googleapis.com/shelves/shelf1/books/book2\") or a \"relative\"\nresource name (e.g. \"shelves/shelf1/books/book2\") as described in the\nresource name specification.",
          "type": "string"
        },
        "requestedResourceProperties": {
          "$ref": "ResourceProperties",
          "description": "Properties related to the resource represented by requested_resource_name."
        }
      },
      "type": "object"
    },
    "ApproveApprovalRequestMessage": {
      "description": "Request to approve an ApprovalRequest.",
      "id": "ApproveApprovalRequestMessage",
      "properties": {
        "expireTime": {
          "description": "The expiration time of this approval.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ApproveDecision": {
      "description": "A decision that has been made to approve access to a resource.",
      "id": "ApproveDecision",
      "properties": {
        "approveTime": {
          "description": "The time at which approval was granted.",
          "format": "google-datetime",
          "type": "string"
        },
        "expireTime": {
          "description": "The time at which the approval expires.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DismissApprovalRequestMessage": {
      "description": "Request to dismiss an approval request.",
      "id": "DismissApprovalRequestMessage",
      "properties": {},
      "type": "object"
    },
    "DismissDecision": {
      "description": "A decision that has been made to dismiss an approval request.",
      "id": "DismissDecision",
      "properties": {
        "dismissTime": {
          "description": "The time at which the approval request was dismissed.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "EnrolledService": {
      "description": "Represents the enrollment of a cloud resource into a specific service.",
      "id": "EnrolledService",
      "properties": {
        "cloudProduct": {
          "description": "The product for which Access Approval will be enrolled. Allowed values are\nlisted below (case-sensitive):\n\u003col\u003e\n  \u003cli\u003eall\u003c/li\u003e\n  \u003cli\u003eappengine.googleapis.com\u003c/li\u003e\n  \u003cli\u003ebigquery.googleapis.com\u003c/li\u003e\n  \u003cli\u003ebigtable.googleapis.com\u003c/li\u003e\n  \u003cli\u003ecloudkms.googleapis.com\u003c/li\u003e\n  \u003cli\u003ecompute.googleapis.com\u003c/li\u003e\n  \u003cli\u003edataflow.googleapis.com\u003c/li\u003e\n  \u003cli\u003eiam.googleapis.com\u003c/li\u003e\n  \u003cli\u003epubsub.googleapis.com\u003c/li\u003e\n  \u003cli\u003estorage.googleapis.com\u003c/li\u003e\n\u003col\u003e",
          "type": "string"
        },
        "enrollmentLevel": {
          "description": "The enrollment level of the service.",
          "enum": [
            "ENROLLMENT_LEVEL_UNSPECIFIED",
            "BLOCK_ALL"
          ],
          "enumDescriptions": [
            "Default value for proto, shouldn't be used.",
            "Service is enrolled in Access Approval for all requests"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListApprovalRequestsResponse": {
      "description": "Response to listing of ApprovalRequest objects.",
      "id": "ListApprovalRequestsResponse",
      "properties": {
        "approvalRequests": {
          "description": "Approval request details.",
          "items": {
            "$ref": "ApprovalRequest"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ResourceProperties": {
      "description": "The properties associated with the resource of the request.",
      "id": "ResourceProperties",
      "properties": {
        "excludesDescendants": {
          "description": "Whether an approval will exclude the descendants of the resource being\nrequested.",
          "type": "boolean"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Access Approval API",
  "version": "v1beta1",
  "version_module": true
}