{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-language": {
          "description": "Apply machine learning models to reveal the structure and meaning of text"
        },
        "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": "",
  "baseUrl": "https://language.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Cloud Natural Language",
  "description": "Provides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/natural-language/",
  "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"
  },
  "id": "language:v1beta2",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://language.mtls.googleapis.com/",
  "name": "language",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "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"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "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"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "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"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "documents": {
      "methods": {
        "analyzeEntities": {
          "description": "Finds named entities (currently proper names and common nouns) in the text along with entity types, salience, mentions for each entity, and other properties.",
          "flatPath": "v1beta2/documents:analyzeEntities",
          "httpMethod": "POST",
          "id": "language.documents.analyzeEntities",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta2/documents:analyzeEntities",
          "request": {
            "$ref": "AnalyzeEntitiesRequest"
          },
          "response": {
            "$ref": "AnalyzeEntitiesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-language",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "analyzeEntitySentiment": {
          "description": "Finds entities, similar to AnalyzeEntities in the text and analyzes sentiment associated with each entity and its mentions.",
          "flatPath": "v1beta2/documents:analyzeEntitySentiment",
          "httpMethod": "POST",
          "id": "language.documents.analyzeEntitySentiment",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta2/documents:analyzeEntitySentiment",
          "request": {
            "$ref": "AnalyzeEntitySentimentRequest"
          },
          "response": {
            "$ref": "AnalyzeEntitySentimentResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-language",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "analyzeSentiment": {
          "description": "Analyzes the sentiment of the provided text.",
          "flatPath": "v1beta2/documents:analyzeSentiment",
          "httpMethod": "POST",
          "id": "language.documents.analyzeSentiment",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta2/documents:analyzeSentiment",
          "request": {
            "$ref": "AnalyzeSentimentRequest"
          },
          "response": {
            "$ref": "AnalyzeSentimentResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-language",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "analyzeSyntax": {
          "description": "Analyzes the syntax of the text and provides sentence boundaries and tokenization along with part of speech tags, dependency trees, and other properties.",
          "flatPath": "v1beta2/documents:analyzeSyntax",
          "httpMethod": "POST",
          "id": "language.documents.analyzeSyntax",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta2/documents:analyzeSyntax",
          "request": {
            "$ref": "AnalyzeSyntaxRequest"
          },
          "response": {
            "$ref": "AnalyzeSyntaxResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-language",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "annotateText": {
          "description": "A convenience method that provides all syntax, sentiment, entity, and classification features in one call.",
          "flatPath": "v1beta2/documents:annotateText",
          "httpMethod": "POST",
          "id": "language.documents.annotateText",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta2/documents:annotateText",
          "request": {
            "$ref": "AnnotateTextRequest"
          },
          "response": {
            "$ref": "AnnotateTextResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-language",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "classifyText": {
          "description": "Classifies a document into categories.",
          "flatPath": "v1beta2/documents:classifyText",
          "httpMethod": "POST",
          "id": "language.documents.classifyText",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta2/documents:classifyText",
          "request": {
            "$ref": "ClassifyTextRequest"
          },
          "response": {
            "$ref": "ClassifyTextResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-language",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "moderateText": {
          "description": "Moderates a document for harmful and sensitive categories.",
          "flatPath": "v1beta2/documents:moderateText",
          "httpMethod": "POST",
          "id": "language.documents.moderateText",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta2/documents:moderateText",
          "request": {
            "$ref": "ModerateTextRequest"
          },
          "response": {
            "$ref": "ModerateTextResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-language",
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    }
  },
  "revision": "20230812",
  "rootUrl": "https://language.googleapis.com/",
  "schemas": {
    "AnalyzeEntitiesRequest": {
      "description": "The entity analysis request message.",
      "id": "AnalyzeEntitiesRequest",
      "properties": {
        "document": {
          "$ref": "Document",
          "description": "Required. Input document."
        },
        "encodingType": {
          "description": "The encoding type used by the API to calculate offsets.",
          "enum": [
            "NONE",
            "UTF8",
            "UTF16",
            "UTF32"
          ],
          "enumDescriptions": [
            "If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "AnalyzeEntitiesResponse": {
      "description": "The entity analysis response message.",
      "id": "AnalyzeEntitiesResponse",
      "properties": {
        "entities": {
          "description": "The recognized entities in the input document.",
          "items": {
            "$ref": "Entity"
          },
          "type": "array"
        },
        "language": {
          "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AnalyzeEntitySentimentRequest": {
      "description": "The entity-level sentiment analysis request message.",
      "id": "AnalyzeEntitySentimentRequest",
      "properties": {
        "document": {
          "$ref": "Document",
          "description": "Required. Input document."
        },
        "encodingType": {
          "description": "The encoding type used by the API to calculate offsets.",
          "enum": [
            "NONE",
            "UTF8",
            "UTF16",
            "UTF32"
          ],
          "enumDescriptions": [
            "If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "AnalyzeEntitySentimentResponse": {
      "description": "The entity-level sentiment analysis response message.",
      "id": "AnalyzeEntitySentimentResponse",
      "properties": {
        "entities": {
          "description": "The recognized entities in the input document with associated sentiments.",
          "items": {
            "$ref": "Entity"
          },
          "type": "array"
        },
        "language": {
          "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AnalyzeSentimentRequest": {
      "description": "The sentiment analysis request message.",
      "id": "AnalyzeSentimentRequest",
      "properties": {
        "document": {
          "$ref": "Document",
          "description": "Required. Input document."
        },
        "encodingType": {
          "description": "The encoding type used by the API to calculate sentence offsets for the sentence sentiment.",
          "enum": [
            "NONE",
            "UTF8",
            "UTF16",
            "UTF32"
          ],
          "enumDescriptions": [
            "If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "AnalyzeSentimentResponse": {
      "description": "The sentiment analysis response message.",
      "id": "AnalyzeSentimentResponse",
      "properties": {
        "documentSentiment": {
          "$ref": "Sentiment",
          "description": "The overall sentiment of the input document."
        },
        "language": {
          "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.",
          "type": "string"
        },
        "sentences": {
          "description": "The sentiment for all the sentences in the document.",
          "items": {
            "$ref": "Sentence"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AnalyzeSyntaxRequest": {
      "description": "The syntax analysis request message.",
      "id": "AnalyzeSyntaxRequest",
      "properties": {
        "document": {
          "$ref": "Document",
          "description": "Required. Input document."
        },
        "encodingType": {
          "description": "The encoding type used by the API to calculate offsets.",
          "enum": [
            "NONE",
            "UTF8",
            "UTF16",
            "UTF32"
          ],
          "enumDescriptions": [
            "If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "AnalyzeSyntaxResponse": {
      "description": "The syntax analysis response message.",
      "id": "AnalyzeSyntaxResponse",
      "properties": {
        "language": {
          "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.",
          "type": "string"
        },
        "sentences": {
          "description": "Sentences in the input document.",
          "items": {
            "$ref": "Sentence"
          },
          "type": "array"
        },
        "tokens": {
          "description": "Tokens, along with their syntactic information, in the input document.",
          "items": {
            "$ref": "Token"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AnnotateTextRequest": {
      "description": "The request message for the text annotation API, which can perform multiple analysis types (sentiment, entities, and syntax) in one call.",
      "id": "AnnotateTextRequest",
      "properties": {
        "document": {
          "$ref": "Document",
          "description": "Required. Input document."
        },
        "encodingType": {
          "description": "The encoding type used by the API to calculate offsets.",
          "enum": [
            "NONE",
            "UTF8",
            "UTF16",
            "UTF32"
          ],
          "enumDescriptions": [
            "If `EncodingType` is not specified, encoding-dependent information (such as `begin_offset`) will be set at `-1`.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-8 encoding of the input. C++ and Go are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-16 encoding of the input. Java and JavaScript are examples of languages that use this encoding natively.",
            "Encoding-dependent information (such as `begin_offset`) is calculated based on the UTF-32 encoding of the input. Python is an example of a language that uses this encoding natively."
          ],
          "type": "string"
        },
        "features": {
          "$ref": "Features",
          "description": "Required. The enabled features."
        }
      },
      "type": "object"
    },
    "AnnotateTextResponse": {
      "description": "The text annotations response message.",
      "id": "AnnotateTextResponse",
      "properties": {
        "categories": {
          "description": "Categories identified in the input document.",
          "items": {
            "$ref": "ClassificationCategory"
          },
          "type": "array"
        },
        "documentSentiment": {
          "$ref": "Sentiment",
          "description": "The overall sentiment for the document. Populated if the user enables AnnotateTextRequest.Features.extract_document_sentiment."
        },
        "entities": {
          "description": "Entities, along with their semantic information, in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_entities.",
          "items": {
            "$ref": "Entity"
          },
          "type": "array"
        },
        "language": {
          "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.",
          "type": "string"
        },
        "moderationCategories": {
          "description": "Harmful and sensitive categories identified in the input document.",
          "items": {
            "$ref": "ClassificationCategory"
          },
          "type": "array"
        },
        "sentences": {
          "description": "Sentences in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_syntax.",
          "items": {
            "$ref": "Sentence"
          },
          "type": "array"
        },
        "tokens": {
          "description": "Tokens, along with their syntactic information, in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_syntax.",
          "items": {
            "$ref": "Token"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ClassificationCategory": {
      "description": "Represents a category returned from the text classifier.",
      "id": "ClassificationCategory",
      "properties": {
        "confidence": {
          "description": "The classifier's confidence of the category. Number represents how certain the classifier is that this category represents the given text.",
          "format": "float",
          "type": "number"
        },
        "name": {
          "description": "The name of the category representing the document.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ClassificationModelOptions": {
      "description": "Model options available for classification requests.",
      "id": "ClassificationModelOptions",
      "properties": {
        "v1Model": {
          "$ref": "V1Model",
          "description": "Setting this field will use the V1 model and V1 content categories version. The V1 model is a legacy model; support for this will be discontinued in the future."
        },
        "v2Model": {
          "$ref": "V2Model",
          "description": "Setting this field will use the V2 model with the appropriate content categories version. The V2 model is a better performing model."
        }
      },
      "type": "object"
    },
    "ClassifyTextRequest": {
      "description": "The document classification request message.",
      "id": "ClassifyTextRequest",
      "properties": {
        "classificationModelOptions": {
          "$ref": "ClassificationModelOptions",
          "description": "Model options to use for classification. Defaults to v1 options if not specified."
        },
        "document": {
          "$ref": "Document",
          "description": "Required. Input document."
        }
      },
      "type": "object"
    },
    "ClassifyTextResponse": {
      "description": "The document classification response message.",
      "id": "ClassifyTextResponse",
      "properties": {
        "categories": {
          "description": "Categories representing the input document.",
          "items": {
            "$ref": "ClassificationCategory"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DependencyEdge": {
      "description": "Represents dependency parse tree information for a token.",
      "id": "DependencyEdge",
      "properties": {
        "headTokenIndex": {
          "description": "Represents the head of this token in the dependency tree. This is the index of the token which has an arc going to this token. The index is the position of the token in the array of tokens returned by the API method. If this token is a root token, then the `head_token_index` is its own index.",
          "format": "int32",
          "type": "integer"
        },
        "label": {
          "description": "The parse label for the token.",
          "enum": [
            "UNKNOWN",
            "ABBREV",
            "ACOMP",
            "ADVCL",
            "ADVMOD",
            "AMOD",
            "APPOS",
            "ATTR",
            "AUX",
            "AUXPASS",
            "CC",
            "CCOMP",
            "CONJ",
            "CSUBJ",
            "CSUBJPASS",
            "DEP",
            "DET",
            "DISCOURSE",
            "DOBJ",
            "EXPL",
            "GOESWITH",
            "IOBJ",
            "MARK",
            "MWE",
            "MWV",
            "NEG",
            "NN",
            "NPADVMOD",
            "NSUBJ",
            "NSUBJPASS",
            "NUM",
            "NUMBER",
            "P",
            "PARATAXIS",
            "PARTMOD",
            "PCOMP",
            "POBJ",
            "POSS",
            "POSTNEG",
            "PRECOMP",
            "PRECONJ",
            "PREDET",
            "PREF",
            "PREP",
            "PRONL",
            "PRT",
            "PS",
            "QUANTMOD",
            "RCMOD",
            "RCMODREL",
            "RDROP",
            "REF",
            "REMNANT",
            "REPARANDUM",
            "ROOT",
            "SNUM",
            "SUFF",
            "TMOD",
            "TOPIC",
            "VMOD",
            "VOCATIVE",
            "XCOMP",
            "SUFFIX",
            "TITLE",
            "ADVPHMOD",
            "AUXCAUS",
            "AUXVV",
            "DTMOD",
            "FOREIGN",
            "KW",
            "LIST",
            "NOMC",
            "NOMCSUBJ",
            "NOMCSUBJPASS",
            "NUMC",
            "COP",
            "DISLOCATED",
            "ASP",
            "GMOD",
            "GOBJ",
            "INFMOD",
            "MES",
            "NCOMP"
          ],
          "enumDescriptions": [
            "Unknown",
            "Abbreviation modifier",
            "Adjectival complement",
            "Adverbial clause modifier",
            "Adverbial modifier",
            "Adjectival modifier of an NP",
            "Appositional modifier of an NP",
            "Attribute dependent of a copular verb",
            "Auxiliary (non-main) verb",
            "Passive auxiliary",
            "Coordinating conjunction",
            "Clausal complement of a verb or adjective",
            "Conjunct",
            "Clausal subject",
            "Clausal passive subject",
            "Dependency (unable to determine)",
            "Determiner",
            "Discourse",
            "Direct object",
            "Expletive",
            "Goes with (part of a word in a text not well edited)",
            "Indirect object",
            "Marker (word introducing a subordinate clause)",
            "Multi-word expression",
            "Multi-word verbal expression",
            "Negation modifier",
            "Noun compound modifier",
            "Noun phrase used as an adverbial modifier",
            "Nominal subject",
            "Passive nominal subject",
            "Numeric modifier of a noun",
            "Element of compound number",
            "Punctuation mark",
            "Parataxis relation",
            "Participial modifier",
            "The complement of a preposition is a clause",
            "Object of a preposition",
            "Possession modifier",
            "Postverbal negative particle",
            "Predicate complement",
            "Preconjunt",
            "Predeterminer",
            "Prefix",
            "Prepositional modifier",
            "The relationship between a verb and verbal morpheme",
            "Particle",
            "Associative or possessive marker",
            "Quantifier phrase modifier",
            "Relative clause modifier",
            "Complementizer in relative clause",
            "Ellipsis without a preceding predicate",
            "Referent",
            "Remnant",
            "Reparandum",
            "Root",
            "Suffix specifying a unit of number",
            "Suffix",
            "Temporal modifier",
            "Topic marker",
            "Clause headed by an infinite form of the verb that modifies a noun",
            "Vocative",
            "Open clausal complement",
            "Name suffix",
            "Name title",
            "Adverbial phrase modifier",
            "Causative auxiliary",
            "Helper auxiliary",
            "Rentaishi (Prenominal modifier)",
            "Foreign words",
            "Keyword",
            "List for chains of comparable items",
            "Nominalized clause",
            "Nominalized clausal subject",
            "Nominalized clausal passive",
            "Compound of numeric modifier",
            "Copula",
            "Dislocated relation (for fronted/topicalized elements)",
            "Aspect marker",
            "Genitive modifier",
            "Genitive object",
            "Infinitival modifier",
            "Measure",
            "Nominal complement of a noun"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Document": {
      "description": "Represents the input to API methods.",
      "id": "Document",
      "properties": {
        "boilerplateHandling": {
          "description": "Indicates how detected boilerplate(e.g. advertisements, copyright declarations, banners) should be handled for this document. If not specified, boilerplate will be treated the same as content.",
          "enum": [
            "BOILERPLATE_HANDLING_UNSPECIFIED",
            "SKIP_BOILERPLATE",
            "KEEP_BOILERPLATE"
          ],
          "enumDescriptions": [
            "The boilerplate handling is not specified.",
            "Do not analyze detected boilerplate. Reference web URI is required for detecting boilerplate.",
            "Treat boilerplate the same as content."
          ],
          "type": "string"
        },
        "content": {
          "description": "The content of the input in string format. Cloud audit logging exempt since it is based on user data.",
          "type": "string"
        },
        "gcsContentUri": {
          "description": "The Google Cloud Storage URI where the file content is located. This URI must be of the form: gs://bucket_name/object_name. For more details, see https://cloud.google.com/storage/docs/reference-uris. NOTE: Cloud Storage object versioning is not supported.",
          "type": "string"
        },
        "language": {
          "description": "The language of the document (if not specified, the language is automatically detected). Both ISO and BCP-47 language codes are accepted. [Language Support](https://cloud.google.com/natural-language/docs/languages) lists currently supported languages for each API method. If the language (either specified by the caller or automatically detected) is not supported by the called API method, an `INVALID_ARGUMENT` error is returned.",
          "type": "string"
        },
        "referenceWebUri": {
          "description": "The web URI where the document comes from. This URI is not used for fetching the content, but as a hint for analyzing the document.",
          "type": "string"
        },
        "type": {
          "description": "Required. If the type is not set or is `TYPE_UNSPECIFIED`, returns an `INVALID_ARGUMENT` error.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "PLAIN_TEXT",
            "HTML"
          ],
          "enumDescriptions": [
            "The content type is not specified.",
            "Plain text",
            "HTML"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Entity": {
      "description": "Represents a phrase in the text that is a known entity, such as a person, an organization, or location. The API associates information, such as salience and mentions, with entities.",
      "id": "Entity",
      "properties": {
        "mentions": {
          "description": "The mentions of this entity in the input document. The API currently supports proper noun mentions.",
          "items": {
            "$ref": "EntityMention"
          },
          "type": "array"
        },
        "metadata": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below.",
          "type": "object"
        },
        "name": {
          "description": "The representative name for the entity.",
          "type": "string"
        },
        "salience": {
          "description": "The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient.",
          "format": "float",
          "type": "number"
        },
        "sentiment": {
          "$ref": "Sentiment",
          "description": "For calls to AnalyzeEntitySentiment or if AnnotateTextRequest.Features.extract_entity_sentiment is set to true, this field will contain the aggregate sentiment expressed for this entity in the provided document."
        },
        "type": {
          "description": "The entity type.",
          "enum": [
            "UNKNOWN",
            "PERSON",
            "LOCATION",
            "ORGANIZATION",
            "EVENT",
            "WORK_OF_ART",
            "CONSUMER_GOOD",
            "OTHER",
            "PHONE_NUMBER",
            "ADDRESS",
            "DATE",
            "NUMBER",
            "PRICE"
          ],
          "enumDescriptions": [
            "Unknown",
            "Person",
            "Location",
            "Organization",
            "Event",
            "Artwork",
            "Consumer product",
            "Other types of entities",
            "Phone number The metadata lists the phone number, formatted according to local convention, plus whichever additional elements appear in the text: * `number` - the actual number, broken down into sections as per local convention * `national_prefix` - country code, if detected * `area_code` - region or area code, if detected * `extension` - phone extension (to be dialed after connection), if detected",
            "Address The metadata identifies the street number and locality plus whichever additional elements appear in the text: * `street_number` - street number * `locality` - city or town * `street_name` - street/route name, if detected * `postal_code` - postal code, if detected * `country` - country, if detected< * `broad_region` - administrative area, such as the state, if detected * `narrow_region` - smaller administrative area, such as county, if detected * `sublocality` - used in Asian addresses to demark a district within a city, if detected",
            "Date The metadata identifies the components of the date: * `year` - four digit year, if detected * `month` - two digit month number, if detected * `day` - two digit day number, if detected",
            "Number The metadata is the number itself.",
            "Price The metadata identifies the `value` and `currency`."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "EntityMention": {
      "description": "Represents a mention for an entity in the text. Currently, proper noun mentions are supported.",
      "id": "EntityMention",
      "properties": {
        "sentiment": {
          "$ref": "Sentiment",
          "description": "For calls to AnalyzeEntitySentiment or if AnnotateTextRequest.Features.extract_entity_sentiment is set to true, this field will contain the sentiment expressed for this mention of the entity in the provided document."
        },
        "text": {
          "$ref": "TextSpan",
          "description": "The mention text."
        },
        "type": {
          "description": "The type of the entity mention.",
          "enum": [
            "TYPE_UNKNOWN",
            "PROPER",
            "COMMON"
          ],
          "enumDescriptions": [
            "Unknown",
            "Proper name",
            "Common noun (or noun compound)"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Features": {
      "description": "All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input. Next ID: 12",
      "id": "Features",
      "properties": {
        "classificationModelOptions": {
          "$ref": "ClassificationModelOptions",
          "description": "The model options to use for classification. Defaults to v1 options if not specified. Only used if `classify_text` is set to true."
        },
        "classifyText": {
          "description": "Classify the full document into categories. If this is true, the API will use the default model which classifies into a [predefined taxonomy](https://cloud.google.com/natural-language/docs/categories).",
          "type": "boolean"
        },
        "extractDocumentSentiment": {
          "description": "Extract document-level sentiment.",
          "type": "boolean"
        },
        "extractEntities": {
          "description": "Extract entities.",
          "type": "boolean"
        },
        "extractEntitySentiment": {
          "description": "Extract entities and their associated sentiment.",
          "type": "boolean"
        },
        "extractSyntax": {
          "description": "Extract syntax information.",
          "type": "boolean"
        },
        "moderateText": {
          "description": "Moderate the document for harmful and sensitive categories.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ModerateTextRequest": {
      "description": "The document moderation request message.",
      "id": "ModerateTextRequest",
      "properties": {
        "document": {
          "$ref": "Document",
          "description": "Required. Input document."
        }
      },
      "type": "object"
    },
    "ModerateTextResponse": {
      "description": "The document moderation response message.",
      "id": "ModerateTextResponse",
      "properties": {
        "moderationCategories": {
          "description": "Harmful and sensitive categories representing the input document.",
          "items": {
            "$ref": "ClassificationCategory"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PartOfSpeech": {
      "description": "Represents part of speech information for a token.",
      "id": "PartOfSpeech",
      "properties": {
        "aspect": {
          "description": "The grammatical aspect.",
          "enum": [
            "ASPECT_UNKNOWN",
            "PERFECTIVE",
            "IMPERFECTIVE",
            "PROGRESSIVE"
          ],
          "enumDescriptions": [
            "Aspect is not applicable in the analyzed language or is not predicted.",
            "Perfective",
            "Imperfective",
            "Progressive"
          ],
          "type": "string"
        },
        "case": {
          "description": "The grammatical case.",
          "enum": [
            "CASE_UNKNOWN",
            "ACCUSATIVE",
            "ADVERBIAL",
            "COMPLEMENTIVE",
            "DATIVE",
            "GENITIVE",
            "INSTRUMENTAL",
            "LOCATIVE",
            "NOMINATIVE",
            "OBLIQUE",
            "PARTITIVE",
            "PREPOSITIONAL",
            "REFLEXIVE_CASE",
            "RELATIVE_CASE",
            "VOCATIVE"
          ],
          "enumDescriptions": [
            "Case is not applicable in the analyzed language or is not predicted.",
            "Accusative",
            "Adverbial",
            "Complementive",
            "Dative",
            "Genitive",
            "Instrumental",
            "Locative",
            "Nominative",
            "Oblique",
            "Partitive",
            "Prepositional",
            "Reflexive",
            "Relative",
            "Vocative"
          ],
          "type": "string"
        },
        "form": {
          "description": "The grammatical form.",
          "enum": [
            "FORM_UNKNOWN",
            "ADNOMIAL",
            "AUXILIARY",
            "COMPLEMENTIZER",
            "FINAL_ENDING",
            "GERUND",
            "REALIS",
            "IRREALIS",
            "SHORT",
            "LONG",
            "ORDER",
            "SPECIFIC"
          ],
          "enumDescriptions": [
            "Form is not applicable in the analyzed language or is not predicted.",
            "Adnomial",
            "Auxiliary",
            "Complementizer",
            "Final ending",
            "Gerund",
            "Realis",
            "Irrealis",
            "Short form",
            "Long form",
            "Order form",
            "Specific form"
          ],
          "type": "string"
        },
        "gender": {
          "description": "The grammatical gender.",
          "enum": [
            "GENDER_UNKNOWN",
            "FEMININE",
            "MASCULINE",
            "NEUTER"
          ],
          "enumDescriptions": [
            "Gender is not applicable in the analyzed language or is not predicted.",
            "Feminine",
            "Masculine",
            "Neuter"
          ],
          "type": "string"
        },
        "mood": {
          "description": "The grammatical mood.",
          "enum": [
            "MOOD_UNKNOWN",
            "CONDITIONAL_MOOD",
            "IMPERATIVE",
            "INDICATIVE",
            "INTERROGATIVE",
            "JUSSIVE",
            "SUBJUNCTIVE"
          ],
          "enumDescriptions": [
            "Mood is not applicable in the analyzed language or is not predicted.",
            "Conditional",
            "Imperative",
            "Indicative",
            "Interrogative",
            "Jussive",
            "Subjunctive"
          ],
          "type": "string"
        },
        "number": {
          "description": "The grammatical number.",
          "enum": [
            "NUMBER_UNKNOWN",
            "SINGULAR",
            "PLURAL",
            "DUAL"
          ],
          "enumDescriptions": [
            "Number is not applicable in the analyzed language or is not predicted.",
            "Singular",
            "Plural",
            "Dual"
          ],
          "type": "string"
        },
        "person": {
          "description": "The grammatical person.",
          "enum": [
            "PERSON_UNKNOWN",
            "FIRST",
            "SECOND",
            "THIRD",
            "REFLEXIVE_PERSON"
          ],
          "enumDescriptions": [
            "Person is not applicable in the analyzed language or is not predicted.",
            "First",
            "Second",
            "Third",
            "Reflexive"
          ],
          "type": "string"
        },
        "proper": {
          "description": "The grammatical properness.",
          "enum": [
            "PROPER_UNKNOWN",
            "PROPER",
            "NOT_PROPER"
          ],
          "enumDescriptions": [
            "Proper is not applicable in the analyzed language or is not predicted.",
            "Proper",
            "Not proper"
          ],
          "type": "string"
        },
        "reciprocity": {
          "description": "The grammatical reciprocity.",
          "enum": [
            "RECIPROCITY_UNKNOWN",
            "RECIPROCAL",
            "NON_RECIPROCAL"
          ],
          "enumDescriptions": [
            "Reciprocity is not applicable in the analyzed language or is not predicted.",
            "Reciprocal",
            "Non-reciprocal"
          ],
          "type": "string"
        },
        "tag": {
          "description": "The part of speech tag.",
          "enum": [
            "UNKNOWN",
            "ADJ",
            "ADP",
            "ADV",
            "CONJ",
            "DET",
            "NOUN",
            "NUM",
            "PRON",
            "PRT",
            "PUNCT",
            "VERB",
            "X",
            "AFFIX"
          ],
          "enumDescriptions": [
            "Unknown",
            "Adjective",
            "Adposition (preposition and postposition)",
            "Adverb",
            "Conjunction",
            "Determiner",
            "Noun (common and proper)",
            "Cardinal number",
            "Pronoun",
            "Particle or other function word",
            "Punctuation",
            "Verb (all tenses and modes)",
            "Other: foreign words, typos, abbreviations",
            "Affix"
          ],
          "type": "string"
        },
        "tense": {
          "description": "The grammatical tense.",
          "enum": [
            "TENSE_UNKNOWN",
            "CONDITIONAL_TENSE",
            "FUTURE",
            "PAST",
            "PRESENT",
            "IMPERFECT",
            "PLUPERFECT"
          ],
          "enumDescriptions": [
            "Tense is not applicable in the analyzed language or is not predicted.",
            "Conditional",
            "Future",
            "Past",
            "Present",
            "Imperfect",
            "Pluperfect"
          ],
          "type": "string"
        },
        "voice": {
          "description": "The grammatical voice.",
          "enum": [
            "VOICE_UNKNOWN",
            "ACTIVE",
            "CAUSATIVE",
            "PASSIVE"
          ],
          "enumDescriptions": [
            "Voice is not applicable in the analyzed language or is not predicted.",
            "Active",
            "Causative",
            "Passive"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Sentence": {
      "description": "Represents a sentence in the input document.",
      "id": "Sentence",
      "properties": {
        "sentiment": {
          "$ref": "Sentiment",
          "description": "For calls to AnalyzeSentiment or if AnnotateTextRequest.Features.extract_document_sentiment is set to true, this field will contain the sentiment for the sentence."
        },
        "text": {
          "$ref": "TextSpan",
          "description": "The sentence text."
        }
      },
      "type": "object"
    },
    "Sentiment": {
      "description": "Represents the feeling associated with the entire text or entities in the text. Next ID: 6",
      "id": "Sentiment",
      "properties": {
        "magnitude": {
          "description": "A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment regardless of score (positive or negative).",
          "format": "float",
          "type": "number"
        },
        "score": {
          "description": "Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).",
          "format": "float",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TextSpan": {
      "description": "Represents a text span in the input document.",
      "id": "TextSpan",
      "properties": {
        "beginOffset": {
          "description": "The API calculates the beginning offset of the content in the original document according to the EncodingType specified in the API request.",
          "format": "int32",
          "type": "integer"
        },
        "content": {
          "description": "The content of the text span, which is a substring of the document.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Token": {
      "description": "Represents the smallest syntactic building block of the text.",
      "id": "Token",
      "properties": {
        "dependencyEdge": {
          "$ref": "DependencyEdge",
          "description": "Dependency tree parse for this token."
        },
        "lemma": {
          "description": "[Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.",
          "type": "string"
        },
        "partOfSpeech": {
          "$ref": "PartOfSpeech",
          "description": "Parts of speech tag for this token."
        },
        "text": {
          "$ref": "TextSpan",
          "description": "The token text."
        }
      },
      "type": "object"
    },
    "V1Model": {
      "description": "Options for the V1 model.",
      "id": "V1Model",
      "properties": {},
      "type": "object"
    },
    "V2Model": {
      "description": "Options for the V2 model.",
      "id": "V2Model",
      "properties": {
        "contentCategoriesVersion": {
          "description": "The content categories used for classification.",
          "enum": [
            "CONTENT_CATEGORIES_VERSION_UNSPECIFIED",
            "V1",
            "V2"
          ],
          "enumDescriptions": [
            "If `ContentCategoriesVersion` is not specified, this option will default to `V1`.",
            "Legacy content categories of our initial launch in 2017.",
            "Updated content categories in 2022."
          ],
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Natural Language API",
  "version": "v1beta2",
  "version_module": true
}