This document explains how-tos for using the Service Health API to manage events affecting a single project.
Before you begin
Verify that billing is enabled for your Google Cloud project.
- Enable the Service Health API for the project you want to manage events for.
- Set permissions to access the Service Health API.
References
See the Events API reference (v1, v1beta)
for the methods you can use and the meaning of the fields in the responses.
In the API response, each entry in the impact list includes the granular
disruption state (AFFECTED or RESOLVED), startTime, and endTime (when
resolved) for each impacted product and location.
When setting the product or location, use the values found at Google Cloud products and locations.
List all active incidents for a project
See the quickstart.
Get incident details
You can use the Get API to view detailed information about an event.
Before using any of the request data, make the following replacements:
- API_VERSION: The API version to use. Use
v1orv1beta. - PROJECT_ID: your Google Cloud project ID.
- EVENT_ID: the ID of the event.
HTTP method and URL:
GET https://servicehealth.googleapis.com/API VERSION/projects/PROJECT_ID/locations/global/events/EVENT_ID
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
{
"name": "projects/PROJECT_ID/locations/global/events/EVENT_ID",
"title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
"description": "The issue with Google Cloud SQL has been resolved for all affected projects as of Tuesday, 2022-10-18 11:00 US/Pacific. We thank you for your patience while we worked on resolving the issue.",
"category": "INCIDENT",
"detailedCategory": "CONFIRMED_INCIDENT",
"state": "CLOSED",
"detailedState": "RESOLVED",
"artifacts": [
{
"artifact": "projects/PROJECT_ID/locations/global/artifacts/artifact_id",
"artifactCategory": "ARTIFACT_CATEGORY_INCIDENT_REPORT",
}
],
"eventImpacts": [
{
"product": {
"productName": "Google Cloud SQL",
"id": "hV87iK5DcEXKgWU2kDri",
},
"location": {
"locationName": "us-central1",
}
}
],
"relevance": "RELATED",
"updates": [
{
"updateTime": "2022-10-18T17:41:20.112287Z",
"title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
"description": "We are experiencing an intermittent issue with Google Cloud SQL. Our engineering team continues to investigate the issue.",
"symptom": "None at this time.",
"workaround": "None at this time."
},
{
"updateTime": "2022-10-18T18:00:05.690761Z",
"title": "We are experiencing a connectivity issue affecting Google Cloud SQL in us-east1, australia-southeast2.",
"description": "The issue with Google Cloud SQL has been resolved for all affected projects as of Tuesday, 2022-10-18 11:00 US/Pacific.\n\nWe thank you for your patience while we worked on resolving the issue.",
"symptom": "None at this time.",
"workaround": "None at this time."
}
],
"updateTime": "2022-10-18T18:00:05.690761Z",
"startTime": "2022-10-18T17:41:20.112287Z",
"endTime": "2022-10-18T18:00:05.690761Z",
}
If you don't have the
permissions to get events,
you will get the following PERMISSION_DENIED error.
{
"error": {
"code": 403,
"message": "Permission 'servicehealth.events.get' denied on resource '//servicehealth.googleapis.com/projects/PROJECT_ID/locations/global/events/EVENT_ID' (or it may not exist).",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "IAM_PERMISSION_DENIED",
"domain": "servicehealth.googleapis.com",
"metadata": {
"resource": "projects/PROJECT_ID/locations/global/events/EVENT_ID",
"permission": "servicehealth.events.get"
}
}
]
}
}
To fix the error, set the required permissions.
List impacted resources in a project
For supported Google Cloud products, you can list the specific Google Cloud resources in your project that are impacted by a Personalized Service Health event.
To list impacted resources, the Service Health API
(servicehealth.googleapis.com) must be enabled on the project at least 24
hours before the event starts, and your principal must have the
servicehealth.impacts.list permission (included in
roles/servicehealth.viewer).
REST API (v1beta)
To list impacted resources in a project, send a request to the Service Health API with the following parameters:
| Parameter | Value | Description |
|---|---|---|
parent |
projects/PROJECT_ID/locations/global |
Required. Project ID or project number where you want to list impacted resources. |
pageSize |
1 to 100 | Optional. Maximum number of impacts to return per page. When unspecified, defaults to 10. |
pageToken |
string | Optional. Token from a previous ListImpactsResponse to retrieve the next page of results. |
filter |
string | Optional. Filter expression to scope the returned impacts. For example, to list resources impacted by a specific event, set filter=events:projects/PROJECT_ID/locations/global/events/EVENT_ID. |
Before using any of the request data, make the following replacements:
PROJECT_ID: your Google Cloud project ID or project number.
HTTP method and URL:
GET https://servicehealth.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/impacts
To use curl, call the GET endpoint directly:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://servicehealth.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/impacts"
gcloud
Run the following command to list impacted resources in a project:
gcloud beta service-health impacts list \
--project=PROJECT_ID \
--location=global
To list only the resources impacted by a specific event, pass the --filter flag:
gcloud beta service-health impacts list \
--project=PROJECT_ID \
--location=global \
--filter="events:projects/PROJECT_ID/locations/global/events/EVENT_ID"
If the request is successful, the response body contains a list of Impact objects similar to the following:
{
"impacts": [
{
"name": "projects/my-project/locations/global/impacts/f9a8b7c6-d5e4-4f3a-9b2c-1d0e9f8a7b6c",
"events": [
"projects/my-project/locations/global/events/1234567890abcdef"
],
"asset": {
"assetName": "//cloudsql.googleapis.com/projects/9876543210/instances/prod-orders-db",
"assetType": "sqladmin.googleapis.com/Instance"
},
"description": "Instance experienced elevated connection errors during regional network disruption.",
"createTime": "2026-10-08T14:12:05.120450Z",
"updateTime": "2026-10-08T14:12:05.120450Z"
}
]
}
Common filter examples for impacted resources
You can pass a filter query parameter (or --filter in the Google Cloud CLI) to
narrow the returned Impact records:
- List impacted resources for a specific event:
filter=events:projects/PROJECT_ID/locations/global/events/EVENT_ID - List impacted resources of a specific resource type (for example, Cloud SQL instances):
filter=asset.assetType="sqladmin.googleapis.com/Instance" - List impacted resources updated after a specific timestamp:
filter=updateTime>"2026-10-08T00:00:00Z"
Get details about an impacted resource
You can retrieve a specific Impact record using its IMPACT_ID.
REST API (v1beta)
To get details about a specific impacted resource record, send a request with the following parameter:
| Parameter | Value | Description |
|---|---|---|
name |
projects/PROJECT_ID/locations/global/impacts/IMPACT_ID |
Required. Full resource name of the Impact record to retrieve. |
HTTP method and URL:
GET https://servicehealth.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/impacts/IMPACT_ID
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://servicehealth.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/impacts/IMPACT_ID"
gcloud
Run the following command to get details about an impacted resource record:
gcloud beta service-health impacts describe IMPACT_ID \
--project=PROJECT_ID \
--location=global
If the request is successful, the response body contains an Impact object:
{
"name": "projects/my-project/locations/global/impacts/f9a8b7c6-d5e4-4f3a-9b2c-1d0e9f8a7b6c",
"events": [
"projects/my-project/locations/global/events/1234567890abcdef"
],
"asset": {
"assetName": "//cloudsql.googleapis.com/projects/9876543210/instances/prod-orders-db",
"assetType": "sqladmin.googleapis.com/Instance"
},
"description": "Instance experienced elevated connection errors during regional network disruption.",
"createTime": "2026-10-08T14:12:05.120450Z",
"updateTime": "2026-10-08T14:12:05.120450Z"
}