{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/userinfo.email": {
          "description": "View your email address"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://commentanalyzer.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Comment Analyzer",
  "description": "The Perspective Comment Analyzer API provides information about the potential impact of a comment on a conversation (e.g. it can provide a score for the \"toxicity\" of a comment). Users can leverage the \"SuggestCommentScore\" method to submit corrections to improve Perspective over time. Users can set the \"doNotStore\" flag to ensure that all submitted comments are automatically deleted after scores are returned.",
  "discoveryVersion": "v1",
  "documentationLink": "https://conversationai.github.io/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "commentanalyzer:v1alpha1",
  "kind": "discovery#restDescription",
  "name": "commentanalyzer",
  "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": {
    "comments": {
      "methods": {
        "analyze": {
          "description": "Analyzes the provided text and returns scores for requested attributes.",
          "flatPath": "v1alpha1/comments:analyze",
          "httpMethod": "POST",
          "id": "commentanalyzer.comments.analyze",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha1/comments:analyze",
          "request": {
            "$ref": "AnalyzeCommentRequest"
          },
          "response": {
            "$ref": "AnalyzeCommentResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/userinfo.email"
          ]
        },
        "suggestscore": {
          "description": "Suggest comment scores as training data.",
          "flatPath": "v1alpha1/comments:suggestscore",
          "httpMethod": "POST",
          "id": "commentanalyzer.comments.suggestscore",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1alpha1/comments:suggestscore",
          "request": {
            "$ref": "SuggestCommentScoreRequest"
          },
          "response": {
            "$ref": "SuggestCommentScoreResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/userinfo.email"
          ]
        }
      }
    }
  },
  "revision": "20190414",
  "rootUrl": "https://commentanalyzer.googleapis.com/",
  "schemas": {
    "AnalyzeCommentRequest": {
      "description": "The comment analysis request message.",
      "id": "AnalyzeCommentRequest",
      "properties": {
        "clientToken": {
          "description": "Opaque token that is echoed from the request to the response.",
          "type": "string"
        },
        "comment": {
          "$ref": "TextEntry",
          "description": "The comment to analyze."
        },
        "communityId": {
          "description": "Optional identifier associating this AnalyzeCommentRequest with a\nparticular client's community. Different communities may have different\nnorms and rules. Specifying this value enables us to explore building\ncommunity-specific models for clients.",
          "type": "string"
        },
        "context": {
          "$ref": "Context",
          "description": "The context of the comment."
        },
        "doNotStore": {
          "description": "Do not store the comment or context sent in this request. By default, the\nservice may store comments/context for debugging purposes.",
          "type": "boolean"
        },
        "languages": {
          "description": "The language(s) of the comment and context (if none are specified, the\nlanguage is automatically detected). If multiple languages are specified,\nthe text is checked in all of them that are supported. Both ISO and BCP-47\nlanguage codes are accepted.\nCurrent Language Restrictions:\n * Only English text (\"en\") is supported.\nIf none of the languages specified by the caller are supported, an\n`UNIMPLEMENTED` error is returned.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "requestedAttributes": {
          "additionalProperties": {
            "$ref": "AttributeParameters"
          },
          "description": "Specification of requested attributes. The AttributeParameters serve as\nconfiguration for each associated attribute. The map keys are attribute\nnames. The following attributes are available:\n\"ATTACK_ON_AUTHOR\" - Attack on author of original article or post.\n\"ATTACK_ON_COMMENTER\" - Attack on fellow commenter.\n\"ATTACK_ON_PUBLISHER\" - Attack on publisher of article/post.\n\"INCOHERENT\" - Difficult to understand, nonsensical.\n\"INFLAMMATORY\" - Intending to provoke or inflame.\n\"OBSCENE\" - Obscene, such as cursing.\n\"OFF_TOPIC\" - Not related to the original topic.\n\"SPAM\" - Commercial/advertising spam content.\n\"UNSUBSTANTIAL\" - Trivial.",
          "type": "object"
        },
        "sessionId": {
          "description": "Session ID. Used to join related RPCs into a single session. For example,\nan interactive tool that calls both the AnalyzeComment and\nSuggestCommentScore RPCs should set all invocations of both RPCs to the\nsame Session ID, typically a random 64-bit integer.",
          "type": "string"
        },
        "spanAnnotations": {
          "description": "An advisory parameter that will return span annotations if the model\nis capable of providing scores with sub-comment resolution. This will\nlikely increase the size of the returned message.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "AnalyzeCommentResponse": {
      "description": "The comment analysis response message.",
      "id": "AnalyzeCommentResponse",
      "properties": {
        "attributeScores": {
          "additionalProperties": {
            "$ref": "AttributeScores"
          },
          "description": "Scores for the requested attributes. The map keys are attribute names (same\nas the requested_attribute field in AnalyzeCommentRequest, for example\n\"ATTACK_ON_AUTHOR\", \"INFLAMMATORY\", etc).",
          "type": "object"
        },
        "clientToken": {
          "description": "Same token from the original AnalyzeCommentRequest.",
          "type": "string"
        },
        "detectedLanguages": {
          "description": "Contains the language as detected from the text content.  If no language\nwas specified in the request, the first (the most likely) language is used\nto select an appropriate model.  Sorted in order of likelihood.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "languages": {
          "description": "The language(s) requested by the client, as specified in the request. If\nthe request did not specify any language, this will be empty and the\ndetected_languages field will be populated.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ArticleAndParentComment": {
      "description": "A type of context specific to a comment left on a single-threaded comment\nmessage board, where comments are either a top level comment or the child of\na top level comment.",
      "id": "ArticleAndParentComment",
      "properties": {
        "article": {
          "$ref": "TextEntry",
          "description": "The source content about which the comment was made (article text, article\nsummary, video transcript, etc)."
        },
        "parentComment": {
          "$ref": "TextEntry",
          "description": "Refers to text that is a direct parent of the source comment, such as in a\none-deep threaded message board. This field will only be present for\ncomments that are replies to other comments and will not be populated for\ndirect comments on the article_text."
        }
      },
      "type": "object"
    },
    "AttributeParameters": {
      "description": "Configurable parameters for attribute scoring.",
      "id": "AttributeParameters",
      "properties": {
        "scoreThreshold": {
          "description": "Don't return scores for this attribute that are below this threshold. If\nunset, a default threshold will be applied. A FloatValue wrapper is used to\ndistinguish between 0 vs. default/unset.",
          "format": "float",
          "type": "number"
        },
        "scoreType": {
          "description": "What type of scores to return. If unset, defaults to probability scores.",
          "enum": [
            "SCORE_TYPE_UNSPECIFIED",
            "PROBABILITY",
            "STD_DEV_SCORE",
            "PERCENTILE",
            "RAW"
          ],
          "enumDescriptions": [
            "Unspecified. Defaults to PROBABILITY scores if available, and otherwise\nRAW. Every model has a RAW score.",
            "Probability scores are in the range [0, 1] and indicate level of confidence\nin the attribute label.",
            "Standard deviation scores are in the range (-inf, +inf).",
            "Percentile scores are in the range [0, 1] and indicate the percentile of\nthe raw score, normalized with a test dataset. This is not generally\nrecommended, as the normalization is dependent on the dataset used, which\nmay not match other usecases.",
            "Raw scores are the raw values from the model, and may take any value. This\nis primarily for debugging/testing, and not generally recommended."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "AttributeScores": {
      "description": "This holds score values for a single attribute. It contains both per-span\nscores as well as an overall summary score..",
      "id": "AttributeScores",
      "properties": {
        "spanScores": {
          "description": "Per-span scores.",
          "items": {
            "$ref": "SpanScore"
          },
          "type": "array"
        },
        "summaryScore": {
          "$ref": "Score",
          "description": "Overall score for comment as a whole."
        }
      },
      "type": "object"
    },
    "Context": {
      "description": "Context is typically something that a Comment is referencing or replying to\n(such as an article, or previous comment).\nNote: Populate only ONE OF the following fields. The oneof syntax cannot be\nused because that would require nesting entries inside another message and\nbreaking backwards compatibility. The server will return an error if more\nthan one of the following fields is present.",
      "id": "Context",
      "properties": {
        "articleAndParentComment": {
          "$ref": "ArticleAndParentComment",
          "description": "Information about the source for which the original comment was made, and\nany parent comment info."
        },
        "entries": {
          "description": "A list of messages. For example, a linear comments section or forum thread.",
          "items": {
            "$ref": "TextEntry"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Score": {
      "description": "Analysis scores are described by a value and a ScoreType.",
      "id": "Score",
      "properties": {
        "type": {
          "description": "The type of the above value.",
          "enum": [
            "SCORE_TYPE_UNSPECIFIED",
            "PROBABILITY",
            "STD_DEV_SCORE",
            "PERCENTILE",
            "RAW"
          ],
          "enumDescriptions": [
            "Unspecified. Defaults to PROBABILITY scores if available, and otherwise\nRAW. Every model has a RAW score.",
            "Probability scores are in the range [0, 1] and indicate level of confidence\nin the attribute label.",
            "Standard deviation scores are in the range (-inf, +inf).",
            "Percentile scores are in the range [0, 1] and indicate the percentile of\nthe raw score, normalized with a test dataset. This is not generally\nrecommended, as the normalization is dependent on the dataset used, which\nmay not match other usecases.",
            "Raw scores are the raw values from the model, and may take any value. This\nis primarily for debugging/testing, and not generally recommended."
          ],
          "type": "string"
        },
        "value": {
          "description": "Score value. Semantics described by type below.",
          "format": "float",
          "type": "number"
        }
      },
      "type": "object"
    },
    "SpanScore": {
      "description": "This is a single score for a given span of text.",
      "id": "SpanScore",
      "properties": {
        "begin": {
          "description": "\"begin\" and \"end\" describe the span of the original text that the attribute\nscore applies to. The values are the UTF-16 codepoint range. \"end\" is\nexclusive. For example, with the text \"Hi there\", the begin/end pair (0,2)\ndescribes the text \"Hi\".\n\nIf \"begin\" and \"end\" are unset, the score applies to the full text.",
          "format": "int32",
          "type": "integer"
        },
        "end": {
          "format": "int32",
          "type": "integer"
        },
        "score": {
          "$ref": "Score",
          "description": "The score value."
        }
      },
      "type": "object"
    },
    "SuggestCommentScoreRequest": {
      "description": "The comment score suggestion request message.",
      "id": "SuggestCommentScoreRequest",
      "properties": {
        "attributeScores": {
          "additionalProperties": {
            "$ref": "AttributeScores"
          },
          "description": "Attribute scores for the comment. The map keys are attribute names, same as\nthe requested_attribute field in AnalyzeCommentRequest (for example\n\"ATTACK_ON_AUTHOR\", \"INFLAMMATORY\", etc.). This field has the same type as\nthe `attribute_scores` field in AnalyzeCommentResponse.\n\nTo specify an overall attribute score for the entire comment as a whole,\nuse the `summary_score` field of the mapped AttributeScores object. To\nspecify scores on specific subparts of the comment, use the `span_scores`\nfield. All SpanScore objects must have begin and end fields set.\n\nAll Score objects must be explicitly set (for binary classification, use\nthe score values 0 and 1). If Score objects don't include a ScoreType,\n`PROBABILITY` is assumed.\n\n`attribute_scores` must not be empty. The mapped AttributeScores objects\nalso must not be empty. An `INVALID_ARGUMENT` error is returned for all\nmalformed requests.",
          "type": "object"
        },
        "clientToken": {
          "description": "Opaque token that is echoed from the request to the response.",
          "type": "string"
        },
        "comment": {
          "$ref": "TextEntry",
          "description": "The comment being scored."
        },
        "communityId": {
          "description": "Optional identifier associating this comment score suggestion with a\nparticular sub-community. Different communities may have different norms\nand rules. Specifying this value enables training community-specific\nmodels.",
          "type": "string"
        },
        "context": {
          "$ref": "Context",
          "description": "The context of the comment."
        },
        "languages": {
          "description": "The language(s) of the comment and context (if none are specified, the\nlanguage is automatically detected). If multiple languages are specified,\nthe text is checked in all of them that are supported. Both ISO and BCP-47\nlanguage codes are accepted.\nCurrent Language Restrictions:\n * Only English text (\"en\") is supported.\nIf none of the languages specified by the caller are supported, an\n`UNIMPLEMENTED` error is returned.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "sessionId": {
          "description": "Session ID. Used to join related RPCs into a single session. For example,\nan interactive tool that calls both the AnalyzeComment and\nSuggestCommentScore RPCs should set all invocations of both RPCs to the\nsame Session ID, typically a random 64-bit integer.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SuggestCommentScoreResponse": {
      "description": "The comment score suggestion response message.",
      "id": "SuggestCommentScoreResponse",
      "properties": {
        "clientToken": {
          "description": "Same token from the original SuggestCommentScoreRequest.",
          "type": "string"
        },
        "detectedLanguages": {
          "description": "The list of languages detected from the comment text.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "requestedLanguages": {
          "description": "The list of languages provided in the request.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TextEntry": {
      "description": "Represents a body of text.",
      "id": "TextEntry",
      "properties": {
        "text": {
          "description": "UTF-8 encoded text.",
          "type": "string"
        },
        "type": {
          "description": "Type of the text field.",
          "enum": [
            "TEXT_TYPE_UNSPECIFIED",
            "PLAIN_TEXT",
            "HTML"
          ],
          "enumDescriptions": [
            "The content type is not specified. Text will be interpreted as plain text\nby default.",
            "Plain text.",
            "HTML."
          ],
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Perspective Comment Analyzer API",
  "version": "v1alpha1",
  "version_module": true
}