{
  "baseUrl": "https://cloudsupport.googleapis.com/",
  "batchPath": "batch",
  "schemas": {
    "ContentTypeInfo": {
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object",
      "id": "ContentTypeInfo",
      "properties": {
        "fromFileName": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "fromFusionId": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "fromUrlPath": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "fromBytes": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "fromHeader": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "bestGuess": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "fusionIdDetectionMetadata": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        }
      }
    },
    "DiffVersionResponse": {
      "id": "DiffVersionResponse",
      "properties": {
        "objectVersion": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "objectSizeBytes": {
          "format": "int64",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        }
      },
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object"
    },
    "DiffUploadResponse": {
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object",
      "id": "DiffUploadResponse",
      "properties": {
        "objectVersion": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "originalObject": {
          "$ref": "CompositeMedia",
          "description": "# gdata.* are outside protos with mising documentation"
        }
      }
    },
    "Escalation": {
      "id": "Escalation",
      "properties": {
        "reason": {
          "description": "Required. The reason why the Case is being escalated.",
          "type": "string",
          "enumDescriptions": [
            "The escalation reason is in an unknown state or has not been specified.",
            "The case is taking too long to resolve.",
            "The support agent does not have the expertise required to successfully resolve the issue.",
            "The issue is having a significant business impact."
          ],
          "enum": [
            "REASON_UNSPECIFIED",
            "RESOLUTION_TIME",
            "TECHNICAL_EXPERTISE",
            "BUSINESS_IMPACT"
          ]
        },
        "justification": {
          "description": "Required. A free text description to accompany the `reason` field above. Provides additional context on why the case is being escalated.",
          "type": "string"
        }
      },
      "description": "An escalation of a support case.",
      "type": "object"
    },
    "EscalateCaseRequest": {
      "id": "EscalateCaseRequest",
      "properties": {
        "escalation": {
          "description": "The escalation information to be sent with the escalation request.",
          "$ref": "Escalation"
        }
      },
      "description": "The request message for the EscalateCase endpoint.",
      "type": "object"
    },
    "CloseCaseRequest": {
      "id": "CloseCaseRequest",
      "properties": {},
      "description": "The request message for the CloseCase endpoint.",
      "type": "object"
    },
    "EmailMessage": {
      "description": "An email associated with a support case.",
      "type": "object",
      "id": "EmailMessage",
      "properties": {
        "name": {
          "description": "Identifier. Resource name for the email message.",
          "type": "string"
        },
        "recipientEmailAddresses": {
          "description": "Output only. Email addresses the email was sent to.",
          "type": "array",
          "readOnly": true,
          "items": {
            "type": "string"
          }
        },
        "bodyContent": {
          "description": "Output only. The full email message body. A best-effort attempt is made to remove extraneous reply threads.",
          "readOnly": true,
          "$ref": "TextContent"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Time when this email message object was created.",
          "type": "string",
          "format": "google-datetime"
        },
        "actor": {
          "description": "Output only. The user or Google Support agent that created this email message. This is inferred from the headers on the email message.",
          "readOnly": true,
          "$ref": "Actor"
        },
        "subject": {
          "description": "Output only. Subject of the email.",
          "type": "string",
          "readOnly": true
        },
        "ccEmailAddresses": {
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "description": "Output only. Email addresses CCed on the email.",
          "type": "array"
        }
      }
    },
    "Product": {
      "description": "The product a case may be associated with.",
      "type": "object",
      "id": "Product",
      "properties": {
        "productLine": {
          "enumDescriptions": [
            "Unknown product type.",
            "Google Cloud",
            "Google Maps"
          ],
          "enum": [
            "PRODUCT_LINE_UNSPECIFIED",
            "GOOGLE_CLOUD",
            "GOOGLE_MAPS"
          ],
          "description": "The product line of the Product.",
          "type": "string"
        }
      }
    },
    "CompositeMedia": {
      "id": "CompositeMedia",
      "properties": {
        "cosmoBinaryReference": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "byte"
        },
        "blobRef": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "deprecated": true
        },
        "inline": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "path": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "blobstore2Info": {
          "description": "# gdata.* are outside protos with mising documentation",
          "$ref": "Blobstore2Info"
        },
        "md5Hash": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "referenceType": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "enumDescriptions": [
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation"
          ],
          "enum": [
            "PATH",
            "BLOB_REF",
            "INLINE",
            "BIGSTORE_REF",
            "COSMO_BINARY_REFERENCE"
          ]
        },
        "crc32cHash": {
          "format": "uint32",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "integer"
        },
        "length": {
          "format": "int64",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "objectId": {
          "$ref": "ObjectId",
          "description": "# gdata.* are outside protos with mising documentation"
        },
        "sha1Hash": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "byte"
        }
      },
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object"
    },
    "SearchCasesResponse": {
      "description": "The response message for the SearchCases endpoint.",
      "type": "object",
      "id": "SearchCasesResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Set this in the `page_token` field of subsequent `cases.search` requests. If unspecified, there are no more results to retrieve.",
          "type": "string"
        },
        "cases": {
          "description": "The list of cases associated with the parent after any filters have been applied.",
          "type": "array",
          "items": {
            "$ref": "Case"
          }
        }
      }
    },
    "ListAttachmentsResponse": {
      "description": "The response message for the ListAttachments endpoint.",
      "type": "object",
      "id": "ListAttachmentsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Set this in the `page_token` field of subsequent `cases.attachments.list` requests. If unspecified, there are no more results to retrieve.",
          "type": "string"
        },
        "attachments": {
          "items": {
            "$ref": "Attachment"
          },
          "description": "The list of attachments associated with a case.",
          "type": "array"
        }
      }
    },
    "Media": {
      "id": "Media",
      "properties": {
        "crc32cHash": {
          "format": "uint32",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "integer"
        },
        "length": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "int64"
        },
        "sha1Hash": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "sha256Hash": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "byte"
        },
        "bigstoreObjectRef": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "deprecated": true,
          "format": "byte"
        },
        "downloadParameters": {
          "description": "# gdata.* are outside protos with mising documentation",
          "$ref": "DownloadParameters"
        },
        "filename": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "algorithm": {
          "deprecated": true,
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "cosmoBinaryReference": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "byte"
        },
        "path": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "diffChecksumsResponse": {
          "description": "# gdata.* are outside protos with mising documentation",
          "$ref": "DiffChecksumsResponse"
        },
        "inline": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "referenceType": {
          "enumDescriptions": [
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation",
            "# gdata.* are outside protos with mising documentation"
          ],
          "enum": [
            "PATH",
            "BLOB_REF",
            "INLINE",
            "GET_MEDIA",
            "COMPOSITE_MEDIA",
            "BIGSTORE_REF",
            "DIFF_VERSION_RESPONSE",
            "DIFF_CHECKSUMS_RESPONSE",
            "DIFF_DOWNLOAD_RESPONSE",
            "DIFF_UPLOAD_REQUEST",
            "DIFF_UPLOAD_RESPONSE",
            "COSMO_BINARY_REFERENCE",
            "ARBITRARY_BYTES"
          ],
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "diffVersionResponse": {
          "description": "# gdata.* are outside protos with mising documentation",
          "$ref": "DiffVersionResponse"
        },
        "compositeMedia": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "array",
          "items": {
            "$ref": "CompositeMedia"
          }
        },
        "hash": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "deprecated": true
        },
        "objectId": {
          "$ref": "ObjectId",
          "description": "# gdata.* are outside protos with mising documentation"
        },
        "diffUploadRequest": {
          "$ref": "DiffUploadRequest",
          "description": "# gdata.* are outside protos with mising documentation"
        },
        "isPotentialRetry": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "boolean"
        },
        "timestamp": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "uint64"
        },
        "hashVerified": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "boolean"
        },
        "mediaId": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "contentTypeInfo": {
          "description": "# gdata.* are outside protos with mising documentation",
          "$ref": "ContentTypeInfo"
        },
        "contentType": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "token": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "blobRef": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "deprecated": true
        },
        "blobstore2Info": {
          "$ref": "Blobstore2Info",
          "description": "# gdata.* are outside protos with mising documentation"
        },
        "md5Hash": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "diffDownloadResponse": {
          "description": "# gdata.* are outside protos with mising documentation",
          "$ref": "DiffDownloadResponse"
        },
        "diffUploadResponse": {
          "$ref": "DiffUploadResponse",
          "description": "# gdata.* are outside protos with mising documentation"
        }
      },
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object"
    },
    "Case": {
      "id": "Case",
      "properties": {
        "name": {
          "description": "Identifier. The resource name for the case.",
          "type": "string"
        },
        "state": {
          "readOnly": true,
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "NEW",
            "IN_PROGRESS_GOOGLE_SUPPORT",
            "ACTION_REQUIRED",
            "SOLUTION_PROVIDED",
            "CLOSED"
          ],
          "description": "Output only. The current status of the support case.",
          "enumDescriptions": [
            "Case is in an unknown state.",
            "The case has been created but no one is assigned to work on it yet.",
            "The case is currently being handled by Google support.",
            "Google is waiting for a response.",
            "A solution has been offered for the case, but it isn't yet closed.",
            "The case has been resolved."
          ]
        },
        "testCase": {
          "description": "Whether this case was created for internal API testing and should not be acted on by the support team.",
          "type": "boolean"
        },
        "escalated": {
          "description": "Whether the case is currently escalated.",
          "type": "boolean"
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time this case was created.",
          "type": "string",
          "readOnly": true
        },
        "contactEmail": {
          "description": "A user-supplied email address to send case update notifications for. This should only be used in BYOID flows, where we cannot infer the user's email address directly from their EUCs.",
          "type": "string"
        },
        "languageCode": {
          "description": "The language the user has requested to receive support in. This should be a BCP 47 language code (e.g., `\"en\"`, `\"zh-CN\"`, `\"zh-TW\"`, `\"ja\"`, `\"ko\"`). If no language or an unsupported language is specified, this field defaults to English (en). Language selection during case creation may affect your available support options. For a list of supported languages and their support working hours, see: https://cloud.google.com/support/docs/language-working-hours",
          "type": "string"
        },
        "priority": {
          "description": "The priority of this case.",
          "type": "string",
          "enumDescriptions": [
            "Priority is undefined or has not been set yet.",
            "Extreme impact on a production service. Service is hard down.",
            "Critical impact on a production service. Service is currently unusable.",
            "Severe impact on a production service. Service is usable but greatly impaired.",
            "Medium impact on a production service. Service is available, but moderately impaired.",
            "General questions or minor issues. Production service is fully available."
          ],
          "enum": [
            "PRIORITY_UNSPECIFIED",
            "P0",
            "P1",
            "P2",
            "P3",
            "P4"
          ]
        },
        "timeZone": {
          "description": "The timezone of the user who created the support case. It should be in a format IANA recognizes: https://www.iana.org/time-zones. There is no additional validation done by the API.",
          "type": "string"
        },
        "description": {
          "description": "A broad description of the issue.",
          "type": "string"
        },
        "severity": {
          "description": "REMOVED. The severity of this case. Use priority instead.",
          "type": "string",
          "enumDescriptions": [
            "Severity is undefined or has not been set yet.",
            "Extreme impact on a production service. Service is hard down.",
            "Critical impact on a production service. Service is currently unusable.",
            "Severe impact on a production service. Service is usable but greatly impaired.",
            "Medium impact on a production service. Service is available, but moderately impaired.",
            "General questions or minor issues. Production service is fully available."
          ],
          "enum": [
            "SEVERITY_UNSPECIFIED",
            "S0",
            "S1",
            "S2",
            "S3",
            "S4"
          ]
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. The time this case was last updated.",
          "type": "string",
          "format": "google-datetime"
        },
        "subscriberEmailAddresses": {
          "description": "The email addresses to receive updates on this case.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "displayName": {
          "description": "The short summary of the issue reported in this case.",
          "type": "string"
        },
        "classification": {
          "description": "The issue classification applicable to this case.",
          "$ref": "CaseClassification"
        },
        "creator": {
          "$ref": "Actor",
          "description": "The user who created the case. Note: The name and email will be obfuscated if the case was created by Google Support."
        }
      },
      "description": "A Case is an object that contains the details of a support case. It contains fields for the time it was created, its priority, its classification, and more. Cases can also have comments and attachments that get added over time. A case is parented by a Google Cloud organization or project. Organizations are identified by a number, so the name of a case parented by an organization would look like this: ``` organizations/123/cases/456 ``` Projects have two unique identifiers, an ID and a number, and they look like this: ``` projects/abc/cases/456 ``` ``` projects/123/cases/456 ``` You can use either of them when calling the API. To learn more about project identifiers, see [AIP-2510](https://google.aip.dev/cloud/2510).",
      "type": "object"
    },
    "Blobstore2Info": {
      "id": "Blobstore2Info",
      "properties": {
        "uploadMetadataContainer": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "downloadExternalReadToken": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "byte"
        },
        "uploadFragmentListCreationInfo": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "blobId": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "readToken": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "downloadReadHandle": {
          "format": "byte",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "blobGeneration": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object"
    },
    "DiffChecksumsResponse": {
      "id": "DiffChecksumsResponse",
      "properties": {
        "objectVersion": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "chunkSizeBytes": {
          "format": "int64",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "checksumsLocation": {
          "$ref": "CompositeMedia",
          "description": "# gdata.* are outside protos with mising documentation"
        },
        "objectLocation": {
          "description": "# gdata.* are outside protos with mising documentation",
          "$ref": "CompositeMedia"
        },
        "objectSizeBytes": {
          "format": "int64",
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        }
      },
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object"
    },
    "Attachment": {
      "description": "An Attachment contains metadata about a file that was uploaded to a case - it is NOT a file itself. That being said, the name of an Attachment object can be used to download its accompanying file through the `media.download` endpoint. While attachments can be uploaded in the console at the same time as a comment, they're associated on a \"case\" level, not a \"comment\" level.",
      "type": "object",
      "id": "Attachment",
      "properties": {
        "createTime": {
          "readOnly": true,
          "description": "Output only. The time at which the attachment was created.",
          "type": "string",
          "format": "google-datetime"
        },
        "sizeBytes": {
          "format": "int64",
          "readOnly": true,
          "description": "Output only. The size of the attachment in bytes.",
          "type": "string"
        },
        "creator": {
          "readOnly": true,
          "$ref": "Actor",
          "description": "Output only. The user who uploaded the attachment. Note, the name and email will be obfuscated if the attachment was uploaded by Google support."
        },
        "name": {
          "readOnly": true,
          "description": "Output only. Identifier. The resource name of the attachment.",
          "type": "string"
        },
        "filename": {
          "description": "The filename of the attachment (e.g. `\"graph.jpg\"`).",
          "type": "string"
        },
        "mimeType": {
          "description": "Output only. The MIME type of the attachment (e.g. text/plain).",
          "type": "string",
          "readOnly": true
        }
      }
    },
    "CaseClassification": {
      "id": "CaseClassification",
      "properties": {
        "product": {
          "$ref": "Product",
          "description": "The full product the classification corresponds to."
        },
        "displayName": {
          "description": "A display name for the classification. The display name is not static and can change. To uniquely and consistently identify classifications, use the `CaseClassification.id` field.",
          "type": "string"
        },
        "id": {
          "description": "The unique ID for a classification. Must be specified for case creation. To retrieve valid classification IDs for case creation, use `caseClassifications.search`. Classification IDs returned by `caseClassifications.search` are guaranteed to be valid for at least 6 months. If a given classification is deactiveated, it will immediately stop being returned. After 6 months, `case.create` requests using the classification ID will fail.",
          "type": "string"
        }
      },
      "description": "A Case Classification represents the topic that a case is about. It's very important to use accurate classifications, because they're used to route your cases to specialists who can help you. A classification always has an ID that is its unique identifier. A valid ID is required when creating a case.",
      "type": "object"
    },
    "ListCommentsResponse": {
      "id": "ListCommentsResponse",
      "properties": {
        "comments": {
          "description": "List of the comments associated with the case.",
          "type": "array",
          "items": {
            "$ref": "Comment"
          }
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Set this in the `page_token` field of subsequent `cases.comments.list` requests. If unspecified, there are no more results to retrieve.",
          "type": "string"
        }
      },
      "description": "The response message for the ListComments endpoint.",
      "type": "object"
    },
    "DiffDownloadResponse": {
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object",
      "id": "DiffDownloadResponse",
      "properties": {
        "objectLocation": {
          "$ref": "CompositeMedia",
          "description": "# gdata.* are outside protos with mising documentation"
        }
      }
    },
    "CreateAttachmentRequest": {
      "id": "CreateAttachmentRequest",
      "properties": {
        "attachment": {
          "$ref": "Attachment",
          "description": "Required. The attachment to be created."
        }
      },
      "description": "The request message for the CreateAttachment endpoint.",
      "type": "object"
    },
    "ListCasesResponse": {
      "description": "The response message for the ListCases endpoint.",
      "type": "object",
      "id": "ListCasesResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Set this in the `page_token` field of subsequent `cases.list` requests. If unspecified, there are no more results to retrieve.",
          "type": "string"
        },
        "cases": {
          "items": {
            "$ref": "Case"
          },
          "description": "The list of cases associated with the parent after any filters have been applied.",
          "type": "array"
        }
      }
    },
    "SearchCaseClassificationsResponse": {
      "description": "The response message for SearchCaseClassifications endpoint.",
      "type": "object",
      "id": "SearchCaseClassificationsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. Set this in the `page_token` field of subsequent `caseClassifications.list` requests. If unspecified, there are no more results to retrieve.",
          "type": "string"
        },
        "caseClassifications": {
          "items": {
            "$ref": "CaseClassification"
          },
          "description": "The classifications retrieved.",
          "type": "array"
        }
      }
    },
    "ObjectId": {
      "id": "ObjectId",
      "properties": {
        "bucketName": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "generation": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string",
          "format": "int64"
        },
        "objectName": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        }
      },
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object"
    },
    "DownloadParameters": {
      "id": "DownloadParameters",
      "properties": {
        "allowGzipCompression": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "boolean"
        },
        "ignoreRange": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "boolean"
        }
      },
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object"
    },
    "Comment": {
      "description": "A comment associated with a support case. Case comments are the primary way for Google Support to communicate with a user who has opened a case. When a user responds to Google Support, the user's responses also appear as comments.",
      "type": "object",
      "id": "Comment",
      "properties": {
        "body": {
          "description": "The full comment body. Maximum of 12800 characters.",
          "type": "string"
        },
        "plainTextBody": {
          "readOnly": true,
          "deprecated": true,
          "description": "Output only. DEPRECATED. DO NOT USE. A duplicate of the `body` field. This field is only present for legacy reasons.",
          "type": "string"
        },
        "name": {
          "description": "Output only. Identifier. The resource name of the comment.",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time when the comment was created.",
          "type": "string",
          "readOnly": true
        },
        "creator": {
          "readOnly": true,
          "$ref": "Actor",
          "description": "Output only. The user or Google Support agent who created the comment."
        }
      }
    },
    "TextContent": {
      "id": "TextContent",
      "properties": {
        "plainText": {
          "description": "Content in this field should be rendered and interpreted as-is.",
          "type": "string"
        }
      },
      "description": "Stores text attached to a support object.",
      "type": "object"
    },
    "DiffUploadRequest": {
      "id": "DiffUploadRequest",
      "properties": {
        "objectInfo": {
          "$ref": "CompositeMedia",
          "description": "# gdata.* are outside protos with mising documentation"
        },
        "objectVersion": {
          "description": "# gdata.* are outside protos with mising documentation",
          "type": "string"
        },
        "checksumsInfo": {
          "description": "# gdata.* are outside protos with mising documentation",
          "$ref": "CompositeMedia"
        }
      },
      "description": "# gdata.* are outside protos with mising documentation",
      "type": "object"
    },
    "Actor": {
      "description": "An Actor represents an entity that performed an action. For example, an actor could be a user who posted a comment on a support case, a user who uploaded an attachment, or a service account that created a support case.",
      "type": "object",
      "id": "Actor",
      "properties": {
        "googleSupport": {
          "description": "Output only. Whether the actor is a Google support actor.",
          "type": "boolean",
          "readOnly": true
        },
        "displayName": {
          "description": "The name to display for the actor. If not provided, it is inferred from credentials supplied during case creation. When an email is provided, a display name must also be provided. This will be obfuscated if the user is a Google Support agent.",
          "type": "string"
        },
        "username": {
          "readOnly": true,
          "description": "Output only. The username of the actor. It may look like an email or other format provided by the identity provider. If not provided, it is inferred from the credentials supplied. When a name is provided, a username must also be provided. If the user is a Google Support agent, this will not be set.",
          "type": "string"
        },
        "email": {
          "description": "The email address of the actor. If not provided, it is inferred from the credentials supplied during case creation. When a name is provided, an email must also be provided. If the user is a Google Support agent, this is obfuscated. This field is deprecated. Use `username` instead.",
          "type": "string",
          "deprecated": true
        }
      }
    },
    "ShowFeedResponse": {
      "description": "The response message for the ShowFeed endpoint.",
      "type": "object",
      "id": "ShowFeedResponse",
      "properties": {
        "feedItems": {
          "description": "The list of feed items associated with the given Case.",
          "type": "array",
          "items": {
            "$ref": "FeedItem"
          }
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results. This should be set in the `page_token` field of subsequent `ShowFeedRequests`. If unspecified, there are no more results to retrieve.",
          "type": "string"
        }
      }
    },
    "FeedItem": {
      "description": "A feed item associated with a support case.",
      "type": "object",
      "id": "FeedItem",
      "properties": {
        "attachment": {
          "description": "Output only. An attachment attached to the case.",
          "readOnly": true,
          "$ref": "Attachment"
        },
        "emailMessage": {
          "description": "Output only. An email message received in reply to the case.",
          "readOnly": true,
          "$ref": "EmailMessage"
        },
        "eventTime": {
          "format": "google-datetime",
          "description": "Output only. Time corresponding to the event of this item.",
          "type": "string",
          "readOnly": true
        },
        "comment": {
          "readOnly": true,
          "$ref": "Comment",
          "description": "Output only. A comment added to the case."
        },
        "deletedAttachment": {
          "readOnly": true,
          "$ref": "Attachment",
          "description": "Output only. A deleted attachment that used to be associated with the support case."
        }
      }
    }
  },
  "discoveryVersion": "v1",
  "kind": "discovery#restDescription",
  "resources": {
    "media": {
      "methods": {
        "download": {
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "description": "The name of the file attachment to download.",
              "type": "string",
              "required": true,
              "pattern": "^[^/]+/[^/]+/cases/[^/]+/attachments/[^/]+$",
              "location": "path"
            }
          },
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments/{attachmentsId}:download",
          "description": "Download a file attached to a case. When this endpoint is called, no \"response body\" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append \"?alt=media\" to the URL. EXAMPLES: cURL: ```shell name=\"projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$name:download?alt=media\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.media().download( name=\"projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR\" ) request.uri = request.uri.split(\"?\")[0] + \"?alt=media\" print(request.execute()) ```",
          "path": "v2beta/{+name}:download",
          "useMediaDownloadService": true,
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Media"
          },
          "id": "cloudsupport.media.download",
          "supportsMediaDownload": true
        },
        "upload": {
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments",
          "description": "Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo \"This text is in a file I'm uploading using CSAPI.\" \\ \u003e \"./example_file.txt\" case=\"projects/some-project/cases/43594844\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --data-binary @\"./example_file.txt\" \\ \"https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) file_path = \"./example_file.txt\" with open(file_path, \"w\") as file: file.write( \"This text is inside a file I'm going to upload using the Cloud Support API.\", ) request = supportApiService.media().upload( parent=\"projects/some-project/cases/43595344\", media_body=file_path ) request.uri = request.uri.split(\"?\")[0] + \"?attachment.filename=uploaded_via_python.txt\" print(request.execute()) ```",
          "supportsMediaUpload": true,
          "httpMethod": "POST",
          "parameters": {
            "parent": {
              "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string",
              "description": "Required. The name of the case or Cloud resource to which the attachment should be attached."
            }
          },
          "request": {
            "$ref": "CreateAttachmentRequest"
          },
          "parameterOrder": [
            "parent"
          ],
          "response": {
            "$ref": "Attachment"
          },
          "id": "cloudsupport.media.upload",
          "path": "v2beta/{+parent}/attachments",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "mediaUpload": {
            "accept": [
              "*/*"
            ],
            "protocols": {
              "simple": {
                "path": "/upload/v2beta/{+parent}/attachments",
                "multipart": true
              }
            }
          }
        }
      }
    },
    "cases": {
      "resources": {
        "comments": {
          "methods": {
            "list": {
              "httpMethod": "GET",
              "parameters": {
                "pageSize": {
                  "format": "int32",
                  "location": "query",
                  "description": "The maximum number of comments to fetch. Defaults to 10.",
                  "type": "integer"
                },
                "pageToken": {
                  "location": "query",
                  "description": "A token identifying the page of results to return. If unspecified, the first page is returned.",
                  "type": "string"
                },
                "parent": {
                  "type": "string",
                  "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
                  "location": "path",
                  "required": true,
                  "description": "Required. The name of the case for which to list comments."
                }
              },
              "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments",
              "description": "List all the comments associated with a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case/comments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .comments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```",
              "path": "v2beta/{+parent}/comments",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "ListCommentsResponse"
              },
              "id": "cloudsupport.cases.comments.list",
              "parameterOrder": [
                "parent"
              ]
            },
            "create": {
              "response": {
                "$ref": "Comment"
              },
              "id": "cloudsupport.cases.comments.create",
              "parameterOrder": [
                "parent"
              ],
              "path": "v2beta/{+parent}/comments",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments",
              "description": "Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43591344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header 'Content-Type: application/json' \\ --data '{ \"body\": \"This is a test comment.\" }' \\ \"https://cloudsupport.googleapis.com/v2/$case/comments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .comments() .create( parent=\"projects/some-project/cases/43595344\", body={\"body\": \"This is a test comment.\"}, ) ) print(request.execute()) ```",
              "httpMethod": "POST",
              "parameters": {
                "parent": {
                  "required": true,
                  "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. The name of the case to which the comment should be added."
                }
              },
              "request": {
                "$ref": "Comment"
              }
            },
            "get": {
              "parameterOrder": [
                "name"
              ],
              "id": "cloudsupport.cases.comments.get",
              "response": {
                "$ref": "Comment"
              },
              "path": "v2beta/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Retrieve a comment. EXAMPLES: cURL: ```shell comment=\"projects/some-project/cases/43595344/comments/234567890\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$comment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().comments().get( name=\"projects/some-project/cases/43595344/comments/234567890\", ) print(request.execute()) ```",
              "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments/{commentsId}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "Required. The name of the comment to retrieve.",
                  "pattern": "^[^/]+/[^/]+/cases/[^/]+/comments/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              }
            }
          }
        },
        "attachments": {
          "methods": {
            "get": {
              "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments/{attachmentsId}",
              "description": "Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment=\"projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$attachment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .get(name=\"projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB\") ) print(request.execute()) ```",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "required": true,
                  "pattern": "^[^/]+/[^/]+/cases/[^/]+/attachments/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. The name of the attachment to get."
                }
              },
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Attachment"
              },
              "id": "cloudsupport.cases.attachments.get",
              "path": "v2beta/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "response": {
                "$ref": "ListAttachmentsResponse"
              },
              "id": "cloudsupport.cases.attachments.list",
              "parameterOrder": [
                "parent"
              ],
              "path": "v2beta/{+parent}/attachments",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments",
              "description": "List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/23598314\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case/attachments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```",
              "httpMethod": "GET",
              "parameters": {
                "parent": {
                  "description": "Required. The name of the case for which attachments should be listed.",
                  "required": true,
                  "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
                  "location": "path",
                  "type": "string"
                },
                "pageToken": {
                  "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.",
                  "type": "string",
                  "location": "query"
                },
                "pageSize": {
                  "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. The size of each page can be smaller than the requested page size and can include zero. For example, you could request 100 attachments on one page, receive 0, and then on the next page, receive 90.",
                  "type": "integer",
                  "location": "query",
                  "format": "int32"
                }
              }
            }
          }
        }
      },
      "methods": {
        "showFeed": {
          "response": {
            "$ref": "ShowFeedResponse"
          },
          "id": "cloudsupport.cases.showFeed",
          "parameterOrder": [
            "parent"
          ],
          "path": "v2beta/{+parent}:showFeed",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}:showFeed",
          "description": "Show items in the feed of this case, including case emails, attachments, and comments.",
          "httpMethod": "GET",
          "parameters": {
            "parent": {
              "description": "Required. The resource name of the case for which feed items should be listed.",
              "type": "string",
              "required": true,
              "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
              "location": "path"
            },
            "orderBy": {
              "location": "query",
              "description": "Optional. Field to order feed items by, followed by `asc` or `desc` postfix. The only valid field is `creation_time`. This list is case-insensitive, default sorting order is ascending, and the redundant space characters are insignificant. Example: `creation_time desc`",
              "type": "string"
            },
            "pageToken": {
              "location": "query",
              "description": "Optional. A token identifying the page of results to return. If unspecified, it retrieves the first page.",
              "type": "string"
            },
            "pageSize": {
              "format": "int32",
              "location": "query",
              "description": "Optional. The maximum number of feed items fetched with each request.",
              "type": "integer"
            }
          }
        },
        "escalate": {
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "description": "Required. The name of the case to be escalated.",
              "type": "string",
              "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
              "location": "path",
              "required": true
            }
          },
          "request": {
            "$ref": "EscalateCaseRequest"
          },
          "description": "Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header \"Content-Type: application/json\" \\ --data '{ \"escalation\": { \"reason\": \"BUSINESS_IMPACT\", \"justification\": \"This is a test escalation.\" } }' \\ \"https://cloudsupport.googleapis.com/v2/$case:escalate\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().escalate( name=\"projects/some-project/cases/43595344\", body={ \"escalation\": { \"reason\": \"BUSINESS_IMPACT\", \"justification\": \"This is a test escalation.\", }, }, ) print(request.execute()) ```",
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}:escalate",
          "path": "v2beta/{+name}:escalate",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "cloudsupport.cases.escalate",
          "response": {
            "$ref": "Case"
          },
          "parameterOrder": [
            "name"
          ]
        },
        "close": {
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "description": "Required. The name of the case to close.",
              "type": "string",
              "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
              "location": "path",
              "required": true
            }
          },
          "request": {
            "$ref": "CloseCaseRequest"
          },
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}:close",
          "description": "Close a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case:close\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().close( name=\"projects/some-project/cases/43595344\" ) print(request.execute()) ```",
          "path": "v2beta/{+name}:close",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "response": {
            "$ref": "Case"
          },
          "id": "cloudsupport.cases.close",
          "parameterOrder": [
            "name"
          ]
        },
        "create": {
          "path": "v2beta/{+parent}/cases",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [
            "parent"
          ],
          "id": "cloudsupport.cases.create",
          "response": {
            "$ref": "Case"
          },
          "httpMethod": "POST",
          "parameters": {
            "parent": {
              "required": true,
              "pattern": "^[^/]+/[^/]+$",
              "location": "path",
              "type": "string",
              "description": "Required. The name of the parent under which the case should be created."
            }
          },
          "request": {
            "$ref": "Case"
          },
          "description": "Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header 'Content-Type: application/json' \\ --data '{ \"display_name\": \"Test case created by me.\", \"description\": \"a random test case, feel free to close\", \"classification\": { \"id\": \"100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8\" }, \"time_zone\": \"-07:00\", \"subscriber_email_addresses\": [ \"foo@domain.com\", \"bar@domain.com\" ], \"testCase\": true, \"priority\": \"P3\" }' \\ \"https://cloudsupport.googleapis.com/v2/$parent/cases\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().create( parent=\"projects/some-project\", body={ \"displayName\": \"A Test Case\", \"description\": \"This is a test case.\", \"testCase\": True, \"priority\": \"P2\", \"classification\": { \"id\": \"100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8\" }, }, ) print(request.execute()) ```",
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases"
        },
        "get": {
          "description": "Retrieve a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/16033687\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().get( name=\"projects/some-project/cases/43595344\", ) print(request.execute()) ```",
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}",
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "type": "string",
              "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
              "location": "path",
              "required": true,
              "description": "Required. The full name of a case to be retrieved."
            }
          },
          "parameterOrder": [
            "name"
          ],
          "id": "cloudsupport.cases.get",
          "response": {
            "$ref": "Case"
          },
          "path": "v2beta/{+name}",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "path": "v2beta/{+parent}/cases",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "response": {
            "$ref": "ListCasesResponse"
          },
          "id": "cloudsupport.cases.list",
          "parameterOrder": [
            "parent"
          ],
          "httpMethod": "GET",
          "parameters": {
            "productLine": {
              "description": "The product line to request cases for. If unspecified, only Google Cloud cases will be returned.",
              "enumDescriptions": [
                "Unknown product type.",
                "Google Cloud",
                "Google Maps"
              ],
              "type": "string",
              "location": "query",
              "enum": [
                "PRODUCT_LINE_UNSPECIFIED",
                "GOOGLE_CLOUD",
                "GOOGLE_MAPS"
              ]
            },
            "parent": {
              "description": "Required. The name of a parent to list cases under.",
              "pattern": "^[^/]+/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "filter": {
              "description": "An expression used to filter cases. If it's an empty string, then no filtering happens. Otherwise, the endpoint returns the cases that match the filter. Expressions use the following fields separated by `AND` and specified with `=`: - `state`: Can be `OPEN` or `CLOSED`. - `priority`: Can be `P0`, `P1`, `P2`, `P3`, or `P4`. You can specify multiple values for priority using the `OR` operator. For example, `priority=P1 OR priority=P2`. - `creator.email`: The email address of the case creator. EXAMPLES: - `state=CLOSED` - `state=OPEN AND creator.email=\"tester@example.com\"` - `state=OPEN AND (priority=P0 OR priority=P1)`",
              "type": "string",
              "location": "query"
            },
            "pageToken": {
              "location": "query",
              "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.",
              "type": "string"
            },
            "pageSize": {
              "description": "The maximum number of cases fetched with each request. Defaults to 10.",
              "type": "integer",
              "location": "query",
              "format": "int32"
            }
          },
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases",
          "description": "Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$parent/cases\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().list(parent=\"projects/some-project\") print(request.execute()) ```"
        },
        "search": {
          "httpMethod": "GET",
          "parameters": {
            "parent": {
              "description": "The name of the parent resource to search for cases under.",
              "type": "string",
              "location": "query"
            },
            "pageToken": {
              "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.",
              "type": "string",
              "location": "query"
            },
            "pageSize": {
              "format": "int32",
              "location": "query",
              "description": "The maximum number of cases fetched with each request. The default page size is 10.",
              "type": "integer"
            },
            "query": {
              "description": "An expression used to filter cases. Expressions use the following fields separated by `AND` and specified with `=`: - `state`: Can be `OPEN` or `CLOSED`. - `priority`: Can be `P0`, `P1`, `P2`, `P3`, or `P4`. You can specify multiple values for priority using the `OR` operator. For example, `priority=P1 OR priority=P2`. - `creator.email`: The email address of the case creator. To search across `displayName`, `description`, and comments, use a global restriction with no keyword or operator. For example, `\"my search\"`. To search only cases updated after a certain date, use `update_time` restricted with that particular date, time, and timezone in ISO datetime format. For example, `update_time\u003e\"2020-01-01T00:00:00-05:00\"`. `update_time` only supports the greater than operator (`\u003e`). If you are using the `v2` version of the API, you must specify the case parent in the `parent` field. If you provide an empty `query`, all cases under the parent resource will be returned. If you are using the `v2beta` version of the API, you must specify the case parent in the `query` field using one of the two fields below, which are only available for `v2beta`. The `parent` field will be ignored. - `organization`: An organization name in the form `organizations/`. - `project`: A project name in the form `projects/`. Examples: For `v2`: - `state=CLOSED` - `state=OPEN AND creator.email=\"tester@example.com\"` - `state=OPEN AND (priority=P0 OR priority=P1)` - `update_time\u003e\"2020-01-01T00:00:00-05:00\"` For `v2beta`: - `organization=\"organizations/123456789\"` - `project=\"projects/my-project-id\"` - `project=\"projects/123456789\"` - `organization=\"organizations/123456789\" AND state=CLOSED` - `project=\"projects/my-project-id\" AND creator.email=\"tester@example.com\"` - `project=\"projects/my-project-id\" AND (priority=P0 OR priority=P1)`",
              "type": "string",
              "location": "query"
            }
          },
          "description": "Search for cases using a query. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$parent/cases:search\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().search( parent=\"projects/some-project\", query=\"state=OPEN\" ) print(request.execute()) ```",
          "flatPath": "v2beta/cases:search",
          "path": "v2beta/cases:search",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "cloudsupport.cases.search",
          "response": {
            "$ref": "SearchCasesResponse"
          },
          "parameterOrder": []
        },
        "patch": {
          "path": "v2beta/{+name}",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [
            "name"
          ],
          "id": "cloudsupport.cases.patch",
          "response": {
            "$ref": "Case"
          },
          "httpMethod": "PATCH",
          "parameters": {
            "name": {
              "description": "Identifier. The resource name for the case.",
              "type": "string",
              "pattern": "^[^/]+/[^/]+/cases/[^/]+$",
              "location": "path",
              "required": true
            },
            "updateMask": {
              "description": "A list of attributes of the case that should be updated. Supported values are `priority`, `display_name`, and `subscriber_email_addresses`. If no fields are specified, all supported fields are updated. Be careful - if you do not provide a field mask, then you might accidentally clear some fields. For example, if you leave the field mask empty and do not provide a value for `subscriber_email_addresses`, then `subscriber_email_addresses` is updated to empty.",
              "type": "string",
              "format": "google-fieldmask",
              "location": "query"
            }
          },
          "request": {
            "$ref": "Case"
          },
          "description": "Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request PATCH \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header \"Content-Type: application/json\" \\ --data '{ \"priority\": \"P1\" }' \\ \"https://cloudsupport.googleapis.com/v2/$case?updateMask=priority\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().patch( name=\"projects/some-project/cases/43112854\", body={ \"displayName\": \"This is Now a New Title\", \"priority\": \"P2\", }, ) print(request.execute()) ```",
          "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}"
        }
      }
    },
    "caseClassifications": {
      "methods": {
        "search": {
          "httpMethod": "GET",
          "parameters": {
            "pageToken": {
              "description": "A token identifying the page of results to return. If unspecified, the first page is retrieved.",
              "type": "string",
              "location": "query"
            },
            "product.productLine": {
              "location": "query",
              "enum": [
                "PRODUCT_LINE_UNSPECIFIED",
                "GOOGLE_CLOUD",
                "GOOGLE_MAPS"
              ],
              "type": "string",
              "enumDescriptions": [
                "Unknown product type.",
                "Google Cloud",
                "Google Maps"
              ],
              "description": "The product line of the Product."
            },
            "pageSize": {
              "location": "query",
              "format": "int32",
              "description": "The maximum number of classifications fetched with each request.",
              "type": "integer"
            },
            "query": {
              "location": "query",
              "description": "An expression used to filter case classifications. If it's an empty string, then no filtering happens. Otherwise, case classifications will be returned that match the filter.",
              "type": "string"
            }
          },
          "flatPath": "v2beta/caseClassifications:search",
          "description": "Retrieve valid classifications to use when creating a support case. Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by `\" \u003e \"`. For example, `\"Technical Issue \u003e Compute \u003e Compute Engine\"`. Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, `case.create` requests using the classification will fail. EXAMPLES: cURL: ```shell curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ 'https://cloudsupport.googleapis.com/v2/caseClassifications:search?query=display_name:\"*Compute%20Engine*\"' ``` Python: ```python import googleapiclient.discovery supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=\"v2\", discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version=v2\", ) request = supportApiService.caseClassifications().search( query='display_name:\"*Compute Engine*\"' ) print(request.execute()) ```",
          "path": "v2beta/caseClassifications:search",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "response": {
            "$ref": "SearchCaseClassificationsResponse"
          },
          "id": "cloudsupport.caseClassifications.search",
          "parameterOrder": []
        }
      }
    }
  },
  "id": "cloudsupport:v2beta",
  "version": "v2beta",
  "parameters": {
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "location": "query",
      "type": "string"
    },
    "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"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "alt": {
      "type": "string",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "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."
    },
    "prettyPrint": {
      "location": "query",
      "default": "true",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks."
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    }
  },
  "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"
  },
  "version_module": true,
  "ownerDomain": "google.com",
  "documentationLink": "https://cloud.google.com/support/docs/apis",
  "rootUrl": "https://cloudsupport.googleapis.com/",
  "canonicalName": "Cloud Support",
  "title": "Google Cloud Support API",
  "description": "Manages Google Cloud technical support cases for Customer Care support offerings. ",
  "servicePath": "",
  "basePath": "",
  "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."
        }
      }
    }
  },
  "protocol": "rest",
  "ownerName": "Google",
  "revision": "20260409",
  "mtlsRootUrl": "https://cloudsupport.mtls.googleapis.com/",
  "name": "cloudsupport"
}
