{
  "servicePath": "",
  "documentationLink": "https://cloud.google.com/advisory-notifications",
  "ownerName": "Google",
  "baseUrl": "https://advisorynotifications.googleapis.com/",
  "canonicalName": "Advisorynotifications",
  "protocol": "rest",
  "description": "An API for accessing Advisory Notifications in Google Cloud",
  "ownerDomain": "google.com",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "kind": "discovery#restDescription",
  "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"
  },
  "name": "advisorynotifications",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "updateSettings": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+/settings$",
                  "type": "string",
                  "description": "Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings.",
                  "required": true,
                  "location": "path"
                }
              },
              "id": "advisorynotifications.projects.locations.updateSettings",
              "httpMethod": "PATCH",
              "response": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "path": "v1/{+name}",
              "description": "Update notification settings.",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings",
              "request": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "parameterOrder": [
                "name"
              ]
            },
            "getSettings": {
              "parameters": {
                "name": {
                  "required": true,
                  "description": "Required. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings.",
                  "pattern": "^projects/[^/]+/locations/[^/]+/settings$",
                  "type": "string",
                  "location": "path"
                }
              },
              "httpMethod": "GET",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings",
              "id": "advisorynotifications.projects.locations.getSettings",
              "path": "v1/{+name}",
              "response": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Get notification settings."
            }
          },
          "resources": {
            "notifications": {
              "methods": {
                "get": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notifications/{notificationsId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "advisorynotifications.projects.locations.notifications.get",
                  "description": "Gets a notification.",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/notifications/[^/]+$",
                      "description": "Required. A name of the notification to retrieve. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{projects}/locations/{location}/notifications/{notification}."
                    },
                    "languageCode": {
                      "location": "query",
                      "description": "ISO code for requested localization language. If unset, will be interpereted as \"en\". If the requested language is valid, but not supported for this notification, English will be returned with an \"Not applicable\" LocalizationState. If the ISO code is invalid (i.e. not a real language), this RPC will throw an error.",
                      "type": "string"
                    }
                  },
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "GoogleCloudAdvisorynotificationsV1Notification"
                  },
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "advisorynotifications.projects.locations.notifications.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleCloudAdvisorynotificationsV1ListNotificationsResponse"
                  },
                  "path": "v1/{+parent}/notifications",
                  "description": "Lists notifications under a given parent.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notifications",
                  "httpMethod": "GET",
                  "parameters": {
                    "pageSize": {
                      "format": "int32",
                      "description": "The maximum number of notifications to return. The service may return fewer than this value. If unspecified or equal to 0, at most 50 notifications will be returned. The maximum value is 50; values above 50 will be coerced to 50.",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "location": "query",
                      "description": "A page token returned from a previous request. When paginating, all other parameters provided in the request must match the call that returned the page token.",
                      "type": "string"
                    },
                    "parent": {
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent, which owns this collection of notifications. Must be of the form \"organizations/{organization}/locations/{location}\" or \"projects/{project}/locations/{location}\".",
                      "required": true
                    },
                    "languageCode": {
                      "description": "ISO code for requested localization language. If unset, will be interpereted as \"en\". If the requested language is valid, but not supported for this notification, English will be returned with an \"Not applicable\" LocalizationState. If the ISO code is invalid (i.e. not a real language), this RPC will throw an error.",
                      "location": "query",
                      "type": "string"
                    },
                    "view": {
                      "description": "Specifies which parts of the notification resource should be returned in the response.",
                      "location": "query",
                      "enum": [
                        "NOTIFICATION_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ],
                      "enumDescriptions": [
                        "Not specified, equivalent to BASIC.",
                        "Server responses only include title, creation time and Notification ID. Note: for internal use responses also include the last update time, the latest message text and whether notification has attachments.",
                        "Include everything."
                      ],
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "organizations": {
      "resources": {
        "locations": {
          "methods": {
            "updateSettings": {
              "response": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "path": "v1/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "request": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "id": "advisorynotifications.organizations.locations.updateSettings",
              "description": "Update notification settings.",
              "httpMethod": "PATCH",
              "parameters": {
                "name": {
                  "type": "string",
                  "required": true,
                  "description": "Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings.",
                  "pattern": "^organizations/[^/]+/locations/[^/]+/settings$",
                  "location": "path"
                }
              },
              "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/settings",
              "parameterOrder": [
                "name"
              ]
            },
            "getSettings": {
              "description": "Get notification settings.",
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/settings",
              "path": "v1/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "advisorynotifications.organizations.locations.getSettings",
              "response": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "pattern": "^organizations/[^/]+/locations/[^/]+/settings$",
                  "location": "path",
                  "description": "Required. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings."
                }
              },
              "httpMethod": "GET"
            }
          },
          "resources": {
            "notifications": {
              "methods": {
                "list": {
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/notifications",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "description": "Required. The parent, which owns this collection of notifications. Must be of the form \"organizations/{organization}/locations/{location}\" or \"projects/{project}/locations/{location}\".",
                      "location": "path",
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+$"
                    },
                    "languageCode": {
                      "type": "string",
                      "description": "ISO code for requested localization language. If unset, will be interpereted as \"en\". If the requested language is valid, but not supported for this notification, English will be returned with an \"Not applicable\" LocalizationState. If the ISO code is invalid (i.e. not a real language), this RPC will throw an error.",
                      "location": "query"
                    },
                    "pageSize": {
                      "type": "integer",
                      "location": "query",
                      "description": "The maximum number of notifications to return. The service may return fewer than this value. If unspecified or equal to 0, at most 50 notifications will be returned. The maximum value is 50; values above 50 will be coerced to 50.",
                      "format": "int32"
                    },
                    "view": {
                      "location": "query",
                      "description": "Specifies which parts of the notification resource should be returned in the response.",
                      "type": "string",
                      "enum": [
                        "NOTIFICATION_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ],
                      "enumDescriptions": [
                        "Not specified, equivalent to BASIC.",
                        "Server responses only include title, creation time and Notification ID. Note: for internal use responses also include the last update time, the latest message text and whether notification has attachments.",
                        "Include everything."
                      ]
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "A page token returned from a previous request. When paginating, all other parameters provided in the request must match the call that returned the page token."
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleCloudAdvisorynotificationsV1ListNotificationsResponse"
                  },
                  "path": "v1/{+parent}/notifications",
                  "description": "Lists notifications under a given parent.",
                  "id": "advisorynotifications.organizations.locations.notifications.list"
                },
                "get": {
                  "description": "Gets a notification.",
                  "response": {
                    "$ref": "GoogleCloudAdvisorynotificationsV1Notification"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "id": "advisorynotifications.organizations.locations.notifications.get",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/notifications/{notificationsId}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+/notifications/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. A name of the notification to retrieve. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{projects}/locations/{location}/notifications/{notification}."
                    },
                    "languageCode": {
                      "description": "ISO code for requested localization language. If unset, will be interpereted as \"en\". If the requested language is valid, but not supported for this notification, English will be returned with an \"Not applicable\" LocalizationState. If the ISO code is invalid (i.e. not a real language), this RPC will throw an error.",
                      "location": "query",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "batchPath": "batch",
  "id": "advisorynotifications:v1",
  "revision": "20260916",
  "parameters": {
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "prettyPrint": {
      "location": "query",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "key": {
      "location": "query",
      "type": "string",
      "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."
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "quotaUser": {
      "location": "query",
      "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.",
      "type": "string"
    },
    "alt": {
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response.",
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string"
    },
    "$.xgafv": {
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format."
    }
  },
  "schemas": {
    "GoogleCloudAdvisorynotificationsV1CsvCsvRow": {
      "properties": {
        "entries": {
          "description": "The data entries in a CSV file row, as a string array rather than a single comma-separated string.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1CsvCsvRow",
      "type": "object",
      "description": "A representation of a single data row in a CSV file."
    },
    "GoogleCloudAdvisorynotificationsV1Subject": {
      "id": "GoogleCloudAdvisorynotificationsV1Subject",
      "type": "object",
      "description": "A subject line of a notification.",
      "properties": {
        "text": {
          "$ref": "GoogleCloudAdvisorynotificationsV1Text",
          "description": "The text content."
        }
      }
    },
    "GoogleCloudAdvisorynotificationsV1Message": {
      "properties": {
        "localizationTime": {
          "description": "Time when Message was localized",
          "format": "google-datetime",
          "type": "string"
        },
        "createTime": {
          "format": "google-datetime",
          "description": "The Message creation timestamp.",
          "type": "string"
        },
        "body": {
          "description": "The message content.",
          "$ref": "GoogleCloudAdvisorynotificationsV1MessageBody"
        },
        "attachments": {
          "items": {
            "$ref": "GoogleCloudAdvisorynotificationsV1Attachment"
          },
          "type": "array",
          "description": "The attachments to download."
        }
      },
      "type": "object",
      "id": "GoogleCloudAdvisorynotificationsV1Message",
      "description": "A message which contains notification details."
    },
    "GoogleCloudAdvisorynotificationsV1NotificationSettings": {
      "description": "Settings for each NotificationType.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether the associated NotificationType is enabled."
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1NotificationSettings",
      "type": "object"
    },
    "GoogleCloudAdvisorynotificationsV1Text": {
      "properties": {
        "localizationState": {
          "type": "string",
          "enumDescriptions": [
            "Not used.",
            "Localization is not applicable for requested language. This can happen when: - The requested language was not supported by Advisory Notifications at the time of localization (including notifications created before the localization feature was launched). - The requested language is English, so only the English text is returned.",
            "Localization for requested language is in progress, and not ready yet.",
            "Localization for requested language is completed."
          ],
          "enum": [
            "LOCALIZATION_STATE_UNSPECIFIED",
            "LOCALIZATION_STATE_NOT_APPLICABLE",
            "LOCALIZATION_STATE_PENDING",
            "LOCALIZATION_STATE_COMPLETED"
          ],
          "description": "Status of the localization."
        },
        "enText": {
          "description": "The English copy.",
          "type": "string"
        },
        "localizedText": {
          "type": "string",
          "description": "The requested localized copy (if applicable)."
        }
      },
      "description": "A text object containing the English text and its localized copies.",
      "type": "object",
      "id": "GoogleCloudAdvisorynotificationsV1Text"
    },
    "GoogleCloudAdvisorynotificationsV1Settings": {
      "description": "Settings for Advisory Notifications.",
      "type": "object",
      "properties": {
        "notificationSettings": {
          "description": "Required. Map of each notification type and its settings to get/set all settings at once. The server will validate the value for each notification type.",
          "additionalProperties": {
            "$ref": "GoogleCloudAdvisorynotificationsV1NotificationSettings"
          },
          "type": "object"
        },
        "name": {
          "type": "string",
          "description": "Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings."
        },
        "etag": {
          "description": "Required. Fingerprint for optimistic concurrency returned in Get requests. Must be provided for Update requests. If the value provided does not match the value known to the server, ABORTED will be thrown, and the client should retry the read-modify-write cycle.",
          "type": "string"
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1Settings"
    },
    "GoogleCloudAdvisorynotificationsV1Notification": {
      "id": "GoogleCloudAdvisorynotificationsV1Notification",
      "description": "A notification object for notifying customers about security and privacy issues.",
      "properties": {
        "subject": {
          "$ref": "GoogleCloudAdvisorynotificationsV1Subject",
          "description": "The subject line of the notification."
        },
        "messages": {
          "type": "array",
          "description": "A list of messages in the notification.",
          "items": {
            "$ref": "GoogleCloudAdvisorynotificationsV1Message"
          }
        },
        "notificationType": {
          "description": "Type of notification",
          "type": "string",
          "enumDescriptions": [
            "Default type",
            "Security and privacy advisory notifications",
            "Sensitive action notifications",
            "General security MSA",
            "Threat horizons MSA"
          ],
          "enum": [
            "NOTIFICATION_TYPE_UNSPECIFIED",
            "NOTIFICATION_TYPE_SECURITY_PRIVACY_ADVISORY",
            "NOTIFICATION_TYPE_SENSITIVE_ACTIONS",
            "NOTIFICATION_TYPE_SECURITY_MSA",
            "NOTIFICATION_TYPE_THREAT_HORIZONS"
          ]
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. Time the notification was created."
        },
        "name": {
          "description": "The resource name of the notification. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{project}/locations/{location}/notifications/{notification}.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudAdvisorynotificationsV1MessageBody": {
      "properties": {
        "text": {
          "$ref": "GoogleCloudAdvisorynotificationsV1Text",
          "description": "The text content of the message body."
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1MessageBody",
      "type": "object",
      "description": "A message body containing text."
    },
    "GoogleCloudAdvisorynotificationsV1Attachment": {
      "description": "Attachment with specific information about the issue.",
      "type": "object",
      "id": "GoogleCloudAdvisorynotificationsV1Attachment",
      "properties": {
        "csv": {
          "description": "A CSV file attachment. Max size is 10 MB.",
          "$ref": "GoogleCloudAdvisorynotificationsV1Csv"
        },
        "displayName": {
          "type": "string",
          "description": "The title of the attachment."
        }
      }
    },
    "GoogleCloudAdvisorynotificationsV1ListNotificationsResponse": {
      "id": "GoogleCloudAdvisorynotificationsV1ListNotificationsResponse",
      "type": "object",
      "description": "Response of ListNotifications endpoint.",
      "properties": {
        "notifications": {
          "description": "List of notifications under a given parent.",
          "items": {
            "$ref": "GoogleCloudAdvisorynotificationsV1Notification"
          },
          "type": "array"
        },
        "totalSize": {
          "format": "int32",
          "type": "integer",
          "description": "Estimation of a total number of notifications."
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "GoogleCloudAdvisorynotificationsV1Csv": {
      "type": "object",
      "properties": {
        "headers": {
          "items": {
            "type": "string"
          },
          "description": "The list of headers for data columns in a CSV file.",
          "type": "array"
        },
        "dataRows": {
          "type": "array",
          "description": "The list of data rows in a CSV file, as string arrays rather than as a single comma-separated string.",
          "items": {
            "$ref": "GoogleCloudAdvisorynotificationsV1CsvCsvRow"
          }
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1Csv",
      "description": "A representation of a CSV file attachment, as a list of column headers and a list of data rows."
    }
  },
  "version_module": true,
  "version": "v1",
  "rootUrl": "https://advisorynotifications.googleapis.com/",
  "mtlsRootUrl": "https://advisorynotifications.mtls.googleapis.com/",
  "title": "Advisory Notifications API",
  "basePath": "",
  "discoveryVersion": "v1"
}
