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