{
  "name": "advisorynotifications",
  "version": "v1",
  "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."
        }
      }
    }
  },
  "description": "An API for accessing Advisory Notifications in Google Cloud",
  "ownerName": "Google",
  "documentationLink": "https://cloud.google.com/advisory-notifications",
  "rootUrl": "https://advisorynotifications.googleapis.com/",
  "ownerDomain": "google.com",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "batchPath": "batch",
  "revision": "20260426",
  "title": "Advisory Notifications API",
  "discoveryVersion": "v1",
  "canonicalName": "Advisorynotifications",
  "version_module": true,
  "kind": "discovery#restDescription",
  "basePath": "",
  "mtlsRootUrl": "https://advisorynotifications.mtls.googleapis.com/",
  "resources": {
    "organizations": {
      "resources": {
        "locations": {
          "methods": {
            "updateSettings": {
              "parameters": {
                "name": {
                  "required": true,
                  "pattern": "^organizations/[^/]+/locations/[^/]+/settings$",
                  "description": "Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings.",
                  "location": "path",
                  "type": "string"
                }
              },
              "id": "advisorynotifications.organizations.locations.updateSettings",
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}",
              "description": "Update notification settings.",
              "httpMethod": "PATCH",
              "response": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/settings",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "request": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              }
            },
            "getSettings": {
              "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/settings",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings.",
                  "location": "path",
                  "type": "string",
                  "required": true,
                  "pattern": "^organizations/[^/]+/locations/[^/]+/settings$"
                }
              },
              "path": "v1/{+name}",
              "description": "Get notification settings.",
              "id": "advisorynotifications.organizations.locations.getSettings",
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "response": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              }
            }
          },
          "resources": {
            "notifications": {
              "methods": {
                "list": {
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/notifications",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "GoogleCloudAdvisorynotificationsV1ListNotificationsResponse"
                  },
                  "parameters": {
                    "pageSize": {
                      "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",
                      "format": "int32"
                    },
                    "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": {
                      "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."
                      ],
                      "description": "Specifies which parts of the notification resource should be returned in the response.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageToken": {
                      "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.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "required": true,
                      "pattern": "^organizations/[^/]+/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}\".",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "id": "advisorynotifications.organizations.locations.notifications.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/notifications",
                  "description": "Lists notifications under a given parent."
                },
                "get": {
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "GoogleCloudAdvisorynotificationsV1Notification"
                  },
                  "parameters": {
                    "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"
                    },
                    "name": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+/notifications/[^/]+$",
                      "required": true,
                      "description": "Required. A name of the notification to retrieve. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{projects}/locations/{location}/notifications/{notification}.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "description": "Gets a notification.",
                  "id": "advisorynotifications.organizations.locations.notifications.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/notifications/{notificationsId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "updateSettings": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "request": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings",
              "id": "advisorynotifications.projects.locations.updateSettings",
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}",
              "description": "Update notification settings.",
              "parameters": {
                "name": {
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+/settings$",
                  "description": "Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings.",
                  "location": "path",
                  "type": "string"
                }
              },
              "httpMethod": "PATCH",
              "response": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              }
            },
            "getSettings": {
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings.",
                  "location": "path",
                  "type": "string",
                  "pattern": "^projects/[^/]+/locations/[^/]+/settings$",
                  "required": true
                }
              },
              "id": "advisorynotifications.projects.locations.getSettings",
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}",
              "description": "Get notification settings.",
              "httpMethod": "GET",
              "response": {
                "$ref": "GoogleCloudAdvisorynotificationsV1Settings"
              },
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          },
          "resources": {
            "notifications": {
              "methods": {
                "list": {
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "GoogleCloudAdvisorynotificationsV1ListNotificationsResponse"
                  },
                  "path": "v1/{+parent}/notifications",
                  "description": "Lists notifications under a given parent.",
                  "id": "advisorynotifications.projects.locations.notifications.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "parent": {
                      "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",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true
                    },
                    "view": {
                      "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."
                      ],
                      "description": "Specifies which parts of the notification resource should be returned in the response.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageToken": {
                      "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.",
                      "location": "query",
                      "type": "string"
                    },
                    "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"
                    },
                    "pageSize": {
                      "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",
                      "format": "int32"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notifications"
                },
                "get": {
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "GoogleCloudAdvisorynotificationsV1Notification"
                  },
                  "parameters": {
                    "name": {
                      "description": "Required. A name of the notification to retrieve. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{projects}/locations/{location}/notifications/{notification}.",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/notifications/[^/]+$"
                    },
                    "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"
                    }
                  },
                  "id": "advisorynotifications.projects.locations.notifications.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}",
                  "description": "Gets a notification.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notifications/{notificationsId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "schemas": {
    "GoogleCloudAdvisorynotificationsV1Settings": {
      "id": "GoogleCloudAdvisorynotificationsV1Settings",
      "description": "Settings for Advisory Notifications.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Identifier. The resource name of the settings to retrieve. Format: organizations/{organization}/locations/{location}/settings or projects/{projects}/locations/{location}/settings.",
          "type": "string"
        },
        "notificationSettings": {
          "additionalProperties": {
            "$ref": "GoogleCloudAdvisorynotificationsV1NotificationSettings"
          },
          "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.",
          "type": "object"
        },
        "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"
        }
      }
    },
    "GoogleCloudAdvisorynotificationsV1MessageBody": {
      "description": "A message body containing text.",
      "type": "object",
      "properties": {
        "text": {
          "$ref": "GoogleCloudAdvisorynotificationsV1Text",
          "description": "The text content of the message body."
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1MessageBody"
    },
    "GoogleCloudAdvisorynotificationsV1Notification": {
      "id": "GoogleCloudAdvisorynotificationsV1Notification",
      "description": "A notification object for notifying customers about security and privacy issues.",
      "type": "object",
      "properties": {
        "name": {
          "description": "The resource name of the notification. Format: organizations/{organization}/locations/{location}/notifications/{notification} or projects/{project}/locations/{location}/notifications/{notification}.",
          "type": "string"
        },
        "notificationType": {
          "description": "Type of notification",
          "type": "string",
          "enum": [
            "NOTIFICATION_TYPE_UNSPECIFIED",
            "NOTIFICATION_TYPE_SECURITY_PRIVACY_ADVISORY",
            "NOTIFICATION_TYPE_SENSITIVE_ACTIONS",
            "NOTIFICATION_TYPE_SECURITY_MSA",
            "NOTIFICATION_TYPE_THREAT_HORIZONS"
          ],
          "enumDescriptions": [
            "Default type",
            "Security and privacy advisory notifications",
            "Sensitive action notifications",
            "General security MSA",
            "Threat horizons MSA"
          ]
        },
        "createTime": {
          "description": "Output only. Time the notification was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "messages": {
          "description": "A list of messages in the notification.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudAdvisorynotificationsV1Message"
          }
        },
        "subject": {
          "$ref": "GoogleCloudAdvisorynotificationsV1Subject",
          "description": "The subject line of the notification."
        }
      }
    },
    "GoogleCloudAdvisorynotificationsV1Subject": {
      "description": "A subject line of a notification.",
      "type": "object",
      "properties": {
        "text": {
          "$ref": "GoogleCloudAdvisorynotificationsV1Text",
          "description": "The text content."
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1Subject"
    },
    "GoogleCloudAdvisorynotificationsV1Attachment": {
      "description": "Attachment with specific information about the issue.",
      "type": "object",
      "properties": {
        "csv": {
          "description": "A CSV file attachment. Max size is 10 MB.",
          "$ref": "GoogleCloudAdvisorynotificationsV1Csv"
        },
        "displayName": {
          "description": "The title of the attachment.",
          "type": "string"
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1Attachment"
    },
    "GoogleCloudAdvisorynotificationsV1Message": {
      "description": "A message which contains notification details.",
      "type": "object",
      "properties": {
        "body": {
          "$ref": "GoogleCloudAdvisorynotificationsV1MessageBody",
          "description": "The message content."
        },
        "attachments": {
          "description": "The attachments to download.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudAdvisorynotificationsV1Attachment"
          }
        },
        "createTime": {
          "format": "google-datetime",
          "description": "The Message creation timestamp.",
          "type": "string"
        },
        "localizationTime": {
          "description": "Time when Message was localized",
          "type": "string",
          "format": "google-datetime"
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1Message"
    },
    "GoogleCloudAdvisorynotificationsV1CsvCsvRow": {
      "id": "GoogleCloudAdvisorynotificationsV1CsvCsvRow",
      "description": "A representation of a single data row in a CSV file.",
      "type": "object",
      "properties": {
        "entries": {
          "items": {
            "type": "string"
          },
          "description": "The data entries in a CSV file row, as a string array rather than a single comma-separated string.",
          "type": "array"
        }
      }
    },
    "GoogleCloudAdvisorynotificationsV1NotificationSettings": {
      "id": "GoogleCloudAdvisorynotificationsV1NotificationSettings",
      "description": "Settings for each NotificationType.",
      "type": "object",
      "properties": {
        "enabled": {
          "description": "Whether the associated NotificationType is enabled.",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudAdvisorynotificationsV1ListNotificationsResponse": {
      "description": "Response of ListNotifications endpoint.",
      "type": "object",
      "properties": {
        "notifications": {
          "items": {
            "$ref": "GoogleCloudAdvisorynotificationsV1Notification"
          },
          "description": "List of notifications under a given parent.",
          "type": "array"
        },
        "totalSize": {
          "format": "int32",
          "description": "Estimation of a total number of notifications.",
          "type": "integer"
        },
        "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"
        }
      },
      "id": "GoogleCloudAdvisorynotificationsV1ListNotificationsResponse"
    },
    "GoogleCloudAdvisorynotificationsV1Csv": {
      "id": "GoogleCloudAdvisorynotificationsV1Csv",
      "description": "A representation of a CSV file attachment, as a list of column headers and a list of data rows.",
      "type": "object",
      "properties": {
        "headers": {
          "description": "The list of headers for data columns in a CSV file.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "dataRows": {
          "items": {
            "$ref": "GoogleCloudAdvisorynotificationsV1CsvCsvRow"
          },
          "description": "The list of data rows in a CSV file, as string arrays rather than as a single comma-separated string.",
          "type": "array"
        }
      }
    },
    "GoogleCloudAdvisorynotificationsV1Text": {
      "id": "GoogleCloudAdvisorynotificationsV1Text",
      "description": "A text object containing the English text and its localized copies.",
      "type": "object",
      "properties": {
        "localizedText": {
          "description": "The requested localized copy (if applicable).",
          "type": "string"
        },
        "localizationState": {
          "description": "Status of the localization.",
          "type": "string",
          "enum": [
            "LOCALIZATION_STATE_UNSPECIFIED",
            "LOCALIZATION_STATE_NOT_APPLICABLE",
            "LOCALIZATION_STATE_PENDING",
            "LOCALIZATION_STATE_COMPLETED"
          ],
          "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."
          ]
        },
        "enText": {
          "description": "The English copy.",
          "type": "string"
        }
      }
    }
  },
  "protocol": "rest",
  "baseUrl": "https://advisorynotifications.googleapis.com/",
  "fullyEncodeReservedExpansion": true,
  "servicePath": "",
  "id": "advisorynotifications:v1",
  "parameters": {
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "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"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "default": "true"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "alt": {
      "default": "json",
      "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"
      ],
      "type": "string",
      "description": "Data format for response.",
      "location": "query"
    },
    "key": {
      "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.",
      "location": "query"
    },
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "description": "V1 error format.",
      "location": "query"
    }
  }
}
