{
  "name": "recaptchaenterprise",
  "protocol": "rest",
  "baseUrl": "https://recaptchaenterprise.googleapis.com/",
  "documentationLink": "https://cloud.google.com/recaptcha-enterprise/",
  "parameters": {
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "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"
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "location": "query",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ]
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "default": "true",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "description": "Data format for response.",
      "type": "string",
      "default": "json"
    },
    "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.",
      "type": "string",
      "location": "query"
    }
  },
  "servicePath": "",
  "id": "recaptchaenterprise:v1beta1",
  "fullyEncodeReservedExpansion": true,
  "version_module": true,
  "revision": "20260707",
  "ownerDomain": "google.com",
  "mtlsRootUrl": "https://recaptchaenterprise.mtls.googleapis.com/",
  "basePath": "",
  "batchPath": "batch",
  "canonicalName": "Recaptcha Enterprise",
  "kind": "discovery#restDescription",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "resources": {
    "projects": {
      "resources": {
        "assessments": {
          "methods": {
            "create": {
              "path": "v1beta1/{+parent}/assessments",
              "flatPath": "v1beta1/projects/{projectsId}/assessments",
              "request": {
                "$ref": "GoogleCloudRecaptchaenterpriseV1beta1Assessment"
              },
              "response": {
                "$ref": "GoogleCloudRecaptchaenterpriseV1beta1Assessment"
              },
              "parameters": {
                "parent": {
                  "location": "path",
                  "required": true,
                  "description": "Required. The name of the project in which the assessment is created, in the format `projects/{project_number}`.",
                  "pattern": "^projects/[^/]+$",
                  "type": "string"
                }
              },
              "description": "Creates an Assessment of the likelihood an event is legitimate.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "httpMethod": "POST",
              "parameterOrder": [
                "parent"
              ],
              "id": "recaptchaenterprise.projects.assessments.create"
            },
            "annotate": {
              "description": "Annotates a previously created Assessment to provide additional information on whether the event turned out to be authentic or fradulent.",
              "parameters": {
                "name": {
                  "type": "string",
                  "description": "Required. The resource name of the Assessment, in the format `projects/{project_number}/assessments/{assessment_id}`.",
                  "pattern": "^projects/[^/]+/assessments/[^/]+$",
                  "location": "path",
                  "required": true
                }
              },
              "flatPath": "v1beta1/projects/{projectsId}/assessments/{assessmentsId}:annotate",
              "request": {
                "$ref": "GoogleCloudRecaptchaenterpriseV1beta1AnnotateAssessmentRequest"
              },
              "response": {
                "$ref": "GoogleCloudRecaptchaenterpriseV1beta1AnnotateAssessmentResponse"
              },
              "path": "v1beta1/{+name}:annotate",
              "id": "recaptchaenterprise.projects.assessments.annotate",
              "httpMethod": "POST",
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        }
      }
    }
  },
  "version": "v1beta1",
  "schemas": {
    "GoogleCloudRecaptchaenterpriseV1beta1TokenProperties": {
      "type": "object",
      "properties": {
        "action": {
          "description": "Action name provided at token generation.",
          "type": "string"
        },
        "invalidReason": {
          "enumDescriptions": [
            "Default unspecified type.",
            "If the failure reason was not accounted for.",
            "The provided user verification token was malformed.",
            "The user verification token had expired.",
            "The user verification had already been seen.",
            "The user verification token did not match the provided site key. This may be a configuration error (for example, development keys used in production) or end users trying to use verification tokens from other sites.",
            "The user verification token was not present. It is a required input.",
            "A retriable error (such as network failure) occurred on the browser. Could easily be simulated by an attacker."
          ],
          "enum": [
            "INVALID_REASON_UNSPECIFIED",
            "UNKNOWN_INVALID_REASON",
            "MALFORMED",
            "EXPIRED",
            "DUPE",
            "SITE_MISMATCH",
            "MISSING",
            "BROWSER_ERROR"
          ],
          "description": "Reason associated with the response when valid = false.",
          "type": "string",
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            false,
            true,
            false,
            false
          ]
        },
        "createTime": {
          "description": "The timestamp corresponding to the generation of the token.",
          "format": "google-datetime",
          "type": "string"
        },
        "valid": {
          "description": "Whether the provided user response token is valid. When valid = false, the reason could be specified in invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey used to generate the token was different than the one specified in the assessment).",
          "type": "boolean"
        },
        "hostname": {
          "type": "string",
          "description": "The hostname of the page on which the token was generated."
        }
      },
      "id": "GoogleCloudRecaptchaenterpriseV1beta1TokenProperties"
    },
    "GoogleCloudRecaptchaenterpriseV1beta1Assessment": {
      "id": "GoogleCloudRecaptchaenterpriseV1beta1Assessment",
      "type": "object",
      "properties": {
        "name": {
          "readOnly": true,
          "description": "Output only. The resource name for the Assessment in the format `projects/{project_number}/assessments/{assessment_id}`.",
          "type": "string"
        },
        "event": {
          "description": "The event being assessed.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1Event"
        },
        "v1beta1DeprecationWarning": {
          "readOnly": true,
          "description": "Output only. Warning message for v1beta1 deprecation.",
          "type": "string"
        },
        "score": {
          "readOnly": true,
          "description": "Output only. Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very likely non-legitimate traffic).",
          "format": "float",
          "type": "number"
        },
        "passwordLeakVerification": {
          "description": "Information about the user's credentials used to check for leaks. This feature is part of the Early Access Program (EAP). Exercise caution, and do not deploy integrations based on this feature in a production environment.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1PasswordLeakVerification"
        },
        "reasons": {
          "type": "array",
          "readOnly": true,
          "description": "Output only. Reasons contributing to the risk analysis verdict.",
          "items": {
            "type": "string",
            "enum": [
              "CLASSIFICATION_REASON_UNSPECIFIED",
              "AUTOMATION",
              "UNEXPECTED_ENVIRONMENT",
              "TOO_MUCH_TRAFFIC",
              "UNEXPECTED_USAGE_PATTERNS",
              "LOW_CONFIDENCE_SCORE",
              "SUSPECTED_CARDING",
              "SUSPECTED_CHARGEBACK"
            ],
            "enumDescriptions": [
              "Default unspecified type.",
              "Interactions matched the behavior of an automated agent.",
              "The event originated from an illegitimate environment.",
              "Traffic volume from the event source is higher than normal.",
              "Interactions with the site were significantly different than expected patterns.",
              "Too little traffic has been received from this site thus far to generate quality risk analysis.",
              "The request matches behavioral characteristics of a carding attack.",
              "The request matches behavioral characteristics of chargebacks for fraud."
            ]
          }
        },
        "tokenProperties": {
          "description": "Output only. Properties of the provided event token.",
          "readOnly": true,
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TokenProperties"
        },
        "accountDefenderAssessment": {
          "description": "Assessment returned by Account defense when a hashed_account_id is provided.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1AccountDefenderAssessment"
        },
        "fraudPreventionAssessment": {
          "description": "Assessment returned by Fraud Prevention when TransactionData is provided.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessment"
        }
      },
      "description": "A reCAPTCHA Enterprise assessment resource."
    },
    "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentBehavioralTrustVerdict": {
      "id": "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentBehavioralTrustVerdict",
      "type": "object",
      "properties": {
        "trust": {
          "readOnly": true,
          "description": "Output only. Probability (0-1) of this transaction attempt being executed in a behaviorally trustworthy way.",
          "format": "float",
          "type": "number"
        }
      },
      "description": "Information about behavioral trust of the transaction."
    },
    "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessment": {
      "description": "Assessment for Fraud Prevention.",
      "type": "object",
      "properties": {
        "stolenInstrumentVerdict": {
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentStolenInstrumentVerdict",
          "description": "Output only. Assessment of this transaction for risk of a stolen instrument.",
          "readOnly": true
        },
        "behavioralTrustVerdict": {
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentBehavioralTrustVerdict",
          "description": "Output only. Assessment of this transaction for behavioral trust.",
          "readOnly": true
        },
        "transactionRisk": {
          "type": "number",
          "description": "Output only. Probability (0-1) of this transaction being fraudulent. Summarizes the combined risk of attack vectors below.",
          "format": "float",
          "readOnly": true
        },
        "cardTestingVerdict": {
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentCardTestingVerdict",
          "description": "Output only. Assessment of this transaction for risk of being part of a card testing attack.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessment"
    },
    "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataAddress": {
      "description": "Structured address format for billing and shipping addresses.",
      "id": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataAddress",
      "type": "object",
      "properties": {
        "locality": {
          "type": "string",
          "description": "The town/city of the address."
        },
        "recipient": {
          "description": "The recipient name, potentially including information such as \"care of\".",
          "type": "string"
        },
        "regionCode": {
          "type": "string",
          "description": "The CLDR country/region of the address."
        },
        "postalCode": {
          "description": "The postal or ZIP code of the address.",
          "type": "string"
        },
        "address": {
          "type": "array",
          "description": "The first lines of the address. The first line generally contains the street name and number, and further lines may include information such as an apartment number.",
          "items": {
            "type": "string"
          }
        },
        "administrativeArea": {
          "description": "The state, province, or otherwise administrative area of the address.",
          "type": "string"
        }
      }
    },
    "GoogleCloudRecaptchaenterpriseV1beta1AccountDefenderAssessment": {
      "type": "object",
      "properties": {
        "labels": {
          "type": "array",
          "description": "Labels for this request.",
          "items": {
            "enum": [
              "ACCOUNT_DEFENDER_LABEL_UNSPECIFIED",
              "PROFILE_MATCH",
              "SUSPICIOUS_LOGIN_ACTIVITY",
              "SUSPICIOUS_ACCOUNT_CREATION",
              "RELATED_ACCOUNTS_NUMBER_HIGH"
            ],
            "enumDescriptions": [
              "Default unspecified type.",
              "The request matches a known good profile for the user.",
              "The request is potentially a suspicious login event and should be further verified either via multi-factor authentication or another system.",
              "The request matched a profile that previously had suspicious account creation behavior. This could mean this is a fake account.",
              "The account in the request has a high number of related accounts. It does not necessarily imply that the account is bad but could require investigating."
            ],
            "type": "string"
          }
        }
      },
      "id": "GoogleCloudRecaptchaenterpriseV1beta1AccountDefenderAssessment",
      "description": "Account defense risk assessment."
    },
    "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataItem": {
      "id": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataItem",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The full name of the item."
        },
        "value": {
          "description": "The value per item that the user is paying, in the transaction currency, after discounts.",
          "format": "double",
          "type": "number"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of this item that is being purchased.",
          "format": "int64"
        },
        "merchantAccountId": {
          "type": "string",
          "description": "When a merchant is specified, its corresponding account_id. Necessary to populate marketplace-style transactions."
        }
      },
      "description": "Line items being purchased in this transaction."
    },
    "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentStolenInstrumentVerdict": {
      "description": "Information about stolen instrument fraud, where the user is not the legitimate owner of the instrument being used for the purchase.",
      "type": "object",
      "properties": {
        "risk": {
          "type": "number",
          "description": "Output only. Probability (0-1) of this transaction being executed with a stolen instrument.",
          "format": "float",
          "readOnly": true
        }
      },
      "id": "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentStolenInstrumentVerdict"
    },
    "GoogleCloudRecaptchaenterpriseV1beta1Event": {
      "type": "object",
      "properties": {
        "userIpAddress": {
          "type": "string",
          "description": "Optional. The IP address in the request from the user's device related to this event."
        },
        "transactionData": {
          "description": "Optional. Data describing a payment transaction to be assessed. Sending this data enables reCAPTCHA Fraud Prevention and the FraudPreventionAssessment component in the response.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TransactionData"
        },
        "fraudPrevention": {
          "enumDescriptions": [
            "Default, unspecified setting. `fraud_prevention_assessment` is returned if `transaction_data` is present in `Event` and Fraud Prevention is enabled in the Google Cloud console.",
            "Enable Fraud Prevention for this assessment, if Fraud Prevention is enabled in the Google Cloud console.",
            "Disable Fraud Prevention for this assessment, regardless of the Google Cloud console settings."
          ],
          "description": "Optional. The Fraud Prevention setting for this Assessment.",
          "enum": [
            "FRAUD_PREVENTION_UNSPECIFIED",
            "ENABLED",
            "DISABLED"
          ],
          "type": "string"
        },
        "siteKey": {
          "description": "Optional. The site key that was used to invoke reCAPTCHA on your site and generate the token.",
          "type": "string"
        },
        "expectedAction": {
          "type": "string",
          "description": "Optional. The expected action for this type of event. This should be the same action provided at token generation time on client-side platforms already integrated with reCAPTCHA."
        },
        "token": {
          "description": "Optional. The user response token provided by the reCAPTCHA client-side integration on your site.",
          "type": "string"
        },
        "userAgent": {
          "type": "string",
          "description": "Optional. The user agent present in the request from the user's device related to this event."
        },
        "hashedAccountId": {
          "type": "string",
          "description": "Optional. Unique stable hashed user identifier for the request. The identifier must be hashed using hmac-sha256 with stable secret.",
          "format": "byte"
        }
      },
      "id": "GoogleCloudRecaptchaenterpriseV1beta1Event"
    },
    "GoogleCloudRecaptchaenterpriseV1beta1TransactionData": {
      "description": "Transaction data associated with a payment protected by reCAPTCHA.",
      "type": "object",
      "properties": {
        "currencyCode": {
          "description": "The currency code in ISO-4217 format.",
          "type": "string"
        },
        "user": {
          "description": "Information about the user paying/initiating the transaction.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataUser"
        },
        "items": {
          "type": "array",
          "description": "Items purchased in this transaction.",
          "items": {
            "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataItem"
          }
        },
        "cardBin": {
          "type": "string",
          "description": "The Bank Identification Number - generally the first 6 or 8 digits of the card."
        },
        "gatewayInfo": {
          "description": "Information about the payment gateway's response to the transaction.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataGatewayInfo"
        },
        "shippingValue": {
          "description": "The value of shipping in the specified currency. 0 for free or no shipping.",
          "format": "double",
          "type": "number"
        },
        "cardLastFour": {
          "description": "The last four digits of the card.",
          "type": "string"
        },
        "merchants": {
          "type": "array",
          "description": "Information about the user or users fulfilling the transaction.",
          "items": {
            "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataUser"
          }
        },
        "shippingAddress": {
          "description": "Destination address if this transaction involves shipping a physical item.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataAddress"
        },
        "paymentMethod": {
          "type": "string",
          "description": "The payment method for the transaction. The allowed values are: * credit-card * debit-card * gift-card * processor-{name} (If a third-party is used, for example, processor-paypal) * custom-{name} (If an alternative method is used, for example, custom-crypto)"
        },
        "value": {
          "type": "number",
          "description": "The decimal value of the transaction in the specified currency.",
          "format": "double"
        },
        "billingAddress": {
          "description": "Address associated with the payment method when applicable.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataAddress"
        },
        "transactionId": {
          "type": "string",
          "description": "Unique identifier for the transaction. This custom identifier can be used to reference this transaction in the future, for example, labeling a refund or chargeback event. Two attempts at the same transaction should use the same transaction id."
        }
      },
      "id": "GoogleCloudRecaptchaenterpriseV1beta1TransactionData"
    },
    "GoogleCloudRecaptchaenterpriseV1beta1TransactionEvent": {
      "description": "Describes an event in the lifecycle of a payment transaction.",
      "id": "GoogleCloudRecaptchaenterpriseV1beta1TransactionEvent",
      "type": "object",
      "properties": {
        "eventTime": {
          "type": "string",
          "description": "Optional. Timestamp when this transaction event occurred; otherwise assumed to be the time of the API call.",
          "format": "google-datetime"
        },
        "eventType": {
          "description": "Optional. The type of this transaction event.",
          "enum": [
            "TRANSACTION_EVENT_TYPE_UNSPECIFIED",
            "MERCHANT_APPROVE",
            "MERCHANT_DENY",
            "MANUAL_REVIEW",
            "AUTHORIZATION",
            "AUTHORIZATION_DECLINE",
            "PAYMENT_CAPTURE",
            "PAYMENT_CAPTURE_DECLINE",
            "CANCEL",
            "CHARGEBACK_INQUIRY",
            "CHARGEBACK_ALERT",
            "FRAUD_NOTIFICATION",
            "CHARGEBACK",
            "CHARGEBACK_REPRESENTMENT",
            "CHARGEBACK_REVERSE",
            "REFUND_REQUEST",
            "REFUND_DECLINE",
            "REFUND",
            "REFUND_REVERSE"
          ],
          "enumDescriptions": [
            "Default, unspecified event type.",
            "Indicates that the transaction is approved by the merchant. The accompanying reasons can include terms such as 'INHOUSE', 'ACCERTIFY', 'CYBERSOURCE', or 'MANUAL_REVIEW'.",
            "Indicates that the transaction is denied and concluded due to risks detected by the merchant. The accompanying reasons can include terms such as 'INHOUSE', 'ACCERTIFY', 'CYBERSOURCE', or 'MANUAL_REVIEW'.",
            "Indicates that the transaction is being evaluated by a human, due to suspicion or risk.",
            "Indicates that the authorization attempt with the card issuer succeeded.",
            "Indicates that the authorization attempt with the card issuer failed. The accompanying reasons can include Visa's '54' indicating that the card is expired, or '82' indicating that the CVV is incorrect.",
            "Indicates that the transaction is completed because the funds were settled.",
            "Indicates that the transaction could not be completed because the funds were not settled.",
            "Indicates that the transaction has been canceled. Specify the reason for the cancellation. For example, 'INSUFFICIENT_INVENTORY'.",
            "Indicates that the merchant has received a chargeback inquiry due to fraud for the transaction, requesting additional information before a fraud chargeback is officially issued and a formal chargeback notification is sent.",
            "Indicates that the merchant has received a chargeback alert due to fraud for the transaction. The process of resolving the dispute without involving the payment network is started.",
            "Indicates that a fraud notification is issued for the transaction, sent by the payment instrument's issuing bank because the transaction appears to be fraudulent. We recommend including TC40 or SAFE data in the `reason` field for this event type. For partial chargebacks, we recommend that you include an amount in the `value` field.",
            "Indicates that the merchant is informed by the payment network that the transaction has entered the chargeback process due to fraud. Reason code examples include Discover's '6005' and '6041'. For partial chargebacks, we recommend that you include an amount in the `value` field.",
            "Indicates that the transaction has entered the chargeback process due to fraud, and that the merchant has chosen to enter representment. Reason examples include Discover's '6005' and '6041'. For partial chargebacks, we recommend that you include an amount in the `value` field.",
            "Indicates that the transaction has had a fraud chargeback which was illegitimate and was reversed as a result. For partial chargebacks, we recommend that you include an amount in the `value` field.",
            "Indicates that the merchant has received a refund for a completed transaction. For partial refunds, we recommend that you include an amount in the `value` field. Reason example: 'TAX_EXEMPT' (partial refund of exempt tax)",
            "Indicates that the merchant has received a refund request for this transaction, but that they have declined it. For partial refunds, we recommend that you include an amount in the `value` field. Reason example: 'TAX_EXEMPT' (partial refund of exempt tax)",
            "Indicates that the completed transaction was refunded by the merchant. For partial refunds, we recommend that you include an amount in the `value` field. Reason example: 'TAX_EXEMPT' (partial refund of exempt tax)",
            "Indicates that the completed transaction was refunded by the merchant, and that this refund was reversed. For partial refunds, we recommend that you include an amount in the `value` field."
          ],
          "type": "string"
        },
        "value": {
          "description": "Optional. The value that corresponds with this transaction event, if one exists. For example, a refund event where $5.00 was refunded. Currency is obtained from the original transaction data.",
          "format": "double",
          "type": "number"
        },
        "reason": {
          "type": "string",
          "description": "Optional. The reason or standardized code that corresponds with this transaction event, if one exists. For example, a CHARGEBACK event with code 6005."
        }
      }
    },
    "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentCardTestingVerdict": {
      "id": "GoogleCloudRecaptchaenterpriseV1beta1FraudPreventionAssessmentCardTestingVerdict",
      "type": "object",
      "properties": {
        "risk": {
          "type": "number",
          "description": "Output only. Probability (0-1) of this transaction attempt being part of a card testing attack.",
          "format": "float",
          "readOnly": true
        }
      },
      "description": "Information about card testing fraud, where an adversary is testing fraudulently obtained cards or brute forcing their details."
    },
    "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataUser": {
      "description": "Details about a user's account involved in the transaction.",
      "id": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataUser",
      "type": "object",
      "properties": {
        "emailVerified": {
          "description": "Whether the email has been verified to be accessible by the user (OTP or similar).",
          "type": "boolean"
        },
        "creationMs": {
          "description": "The epoch milliseconds of the user's account creation.",
          "format": "int64",
          "type": "string"
        },
        "email": {
          "description": "The email address of the user.",
          "type": "string"
        },
        "phoneNumber": {
          "type": "string",
          "description": "The phone number of the user, with country code."
        },
        "accountId": {
          "type": "string",
          "description": "Unique account identifier for this user. If using Account defense, this should match the hashed_account_id field. Otherwise, a unique and persistent identifier for this account."
        },
        "phoneVerified": {
          "type": "boolean",
          "description": "Whether the phone number has been verified to be accessible by the user (OTP or similar)."
        }
      }
    },
    "GoogleCloudRecaptchaenterpriseV1beta1AnnotateAssessmentRequest": {
      "id": "GoogleCloudRecaptchaenterpriseV1beta1AnnotateAssessmentRequest",
      "type": "object",
      "properties": {
        "hashedAccountId": {
          "type": "string",
          "description": "Optional. Unique stable hashed user identifier to apply to the assessment. This is an alternative to setting the `hashed_account_id` in `CreateAssessment`, for example, when the account identifier is not yet known in the initial request. It is recommended that the identifier is hashed using hmac-sha256 with stable secret.",
          "format": "byte"
        },
        "annotation": {
          "enumDescriptions": [
            "Default unspecified type.",
            "Provides information that the event turned out to be legitimate.",
            "Provides information that the event turned out to be fraudulent.",
            "Provides information that the event was related to a login event in which the user typed the correct password. Deprecated, prefer indicating CORRECT_PASSWORD through the reasons field instead.",
            "Provides information that the event was related to a login event in which the user typed the incorrect password. Deprecated, prefer indicating INCORRECT_PASSWORD through the reasons field instead."
          ],
          "enum": [
            "ANNOTATION_UNSPECIFIED",
            "LEGITIMATE",
            "FRAUDULENT",
            "PASSWORD_CORRECT",
            "PASSWORD_INCORRECT"
          ],
          "type": "string",
          "enumDeprecated": [
            false,
            false,
            false,
            true,
            true
          ],
          "description": "Optional. The annotation that is assigned to the Event. This field can be left empty to provide reasons that apply to an event without concluding whether the event is legitimate or fraudulent."
        },
        "reasons": {
          "type": "array",
          "description": "Optional. Reasons for the annotation that are assigned to the event.",
          "items": {
            "type": "string",
            "enum": [
              "REASON_UNSPECIFIED",
              "CHARGEBACK",
              "CHARGEBACK_FRAUD",
              "CHARGEBACK_DISPUTE",
              "REFUND",
              "REFUND_FRAUD",
              "TRANSACTION_ACCEPTED",
              "TRANSACTION_DECLINED",
              "PAYMENT_HEURISTICS",
              "INITIATED_TWO_FACTOR",
              "PASSED_TWO_FACTOR",
              "FAILED_TWO_FACTOR",
              "CORRECT_PASSWORD",
              "INCORRECT_PASSWORD",
              "SOCIAL_SPAM"
            ],
            "enumDescriptions": [
              "Default unspecified reason.",
              "Indicates that the transaction had a chargeback issued with no other details. When possible, specify the type by using CHARGEBACK_FRAUD or CHARGEBACK_DISPUTE instead.",
              "Indicates that the transaction had a chargeback issued related to an alleged unauthorized transaction from the cardholder's perspective (for example, the card number was stolen).",
              "Indicates that the transaction had a chargeback issued related to the cardholder having provided their card details but allegedly not being satisfied with the purchase (for example, misrepresentation, attempted cancellation).",
              "Indicates that the completed payment transaction was refunded by the seller.",
              "Indicates that the completed payment transaction was determined to be fraudulent by the seller, and was cancelled and refunded as a result.",
              "Indicates that the payment transaction was accepted, and the user was charged.",
              "Indicates that the payment transaction was declined, for example due to invalid card details.",
              "Indicates the transaction associated with the assessment is suspected of being fraudulent based on the payment method, billing details, shipping address or other transaction information.",
              "Indicates that the user was served a 2FA challenge. An old assessment with `ENUM_VALUES.INITIATED_TWO_FACTOR` reason that has not been overwritten with `PASSED_TWO_FACTOR` is treated as an abandoned 2FA flow. This is equivalent to `FAILED_TWO_FACTOR`.",
              "Indicates that the user passed a 2FA challenge.",
              "Indicates that the user failed a 2FA challenge.",
              "Indicates the user provided the correct password.",
              "Indicates the user provided an incorrect password.",
              "Indicates that the user sent unwanted and abusive messages to other users of the platform, such as spam, scams, phishing, or social engineering."
            ]
          }
        },
        "transactionEvent": {
          "description": "Optional. If the assessment is part of a payment transaction, provide details on payment lifecycle events that occur in the transaction.",
          "$ref": "GoogleCloudRecaptchaenterpriseV1beta1TransactionEvent"
        }
      },
      "description": "The request message to annotate an Assessment."
    },
    "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataGatewayInfo": {
      "description": "Details about the transaction from the gateway.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the gateway service (for example, stripe, square, paypal)."
        },
        "gatewayResponseCode": {
          "type": "string",
          "description": "Gateway response code describing the state of the transaction."
        },
        "avsResponseCode": {
          "type": "string",
          "description": "AVS response code from the gateway (available only when reCAPTCHA is called after authorization)."
        },
        "cvvResponseCode": {
          "description": "CVV response code from the gateway (available only when reCAPTCHA is called after authorization).",
          "type": "string"
        }
      },
      "id": "GoogleCloudRecaptchaenterpriseV1beta1TransactionDataGatewayInfo"
    },
    "GoogleCloudRecaptchaenterpriseV1beta1PasswordLeakVerification": {
      "description": "Password leak verification info.",
      "type": "object",
      "properties": {
        "credentialsLeaked": {
          "description": "Output only. Whether or not the user's credentials are present in a known leak.",
          "readOnly": true,
          "type": "boolean"
        },
        "canonicalizedUsername": {
          "description": "Optional. The username part of the user credentials for which we want to trigger a leak check in canonicalized form. This is the same data used to create the hashed_user_credentials on the customer side.",
          "type": "string"
        },
        "hashedUserCredentials": {
          "type": "string",
          "description": "Optional. Scrypt hash of the username+password that the customer wants to verify against a known password leak.",
          "format": "byte"
        }
      },
      "id": "GoogleCloudRecaptchaenterpriseV1beta1PasswordLeakVerification"
    },
    "GoogleCloudRecaptchaenterpriseV1beta1AnnotateAssessmentResponse": {
      "description": "Empty response for AnnotateAssessment.",
      "type": "object",
      "properties": {},
      "id": "GoogleCloudRecaptchaenterpriseV1beta1AnnotateAssessmentResponse"
    }
  },
  "rootUrl": "https://recaptchaenterprise.googleapis.com/",
  "title": "reCAPTCHA Enterprise API",
  "discoveryVersion": "v1",
  "ownerName": "Google",
  "description": "Help protect your website from fraudulent activity, spam, and abuse without creating friction.",
  "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."
        }
      }
    }
  }
}
