1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.recaptchaenterprise.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_info.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto"; 28*d5c09012SAndroid Build Coastguard Worker 29*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.RecaptchaEnterprise.V1"; 30*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/recaptchaenterprise/v2/apiv1/recaptchaenterprisepb;recaptchaenterprisepb"; 31*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 32*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "RecaptchaEnterpriseProto"; 33*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.recaptchaenterprise.v1"; 34*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "GCRE"; 35*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\RecaptchaEnterprise\\V1"; 36*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::RecaptchaEnterprise::V1"; 37*d5c09012SAndroid Build Coastguard Worker 38*d5c09012SAndroid Build Coastguard Worker// Service to determine the likelihood an event is legitimate. 39*d5c09012SAndroid Build Coastguard Workerservice RecaptchaEnterpriseService { 40*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "recaptchaenterprise.googleapis.com"; 41*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 42*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 43*d5c09012SAndroid Build Coastguard Worker 44*d5c09012SAndroid Build Coastguard Worker // Creates an Assessment of the likelihood an event is legitimate. 45*d5c09012SAndroid Build Coastguard Worker rpc CreateAssessment(CreateAssessmentRequest) returns (Assessment) { 46*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 47*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*}/assessments" 48*d5c09012SAndroid Build Coastguard Worker body: "assessment" 49*d5c09012SAndroid Build Coastguard Worker }; 50*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,assessment"; 51*d5c09012SAndroid Build Coastguard Worker } 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Annotates a previously created Assessment to provide additional information 54*d5c09012SAndroid Build Coastguard Worker // on whether the event turned out to be authentic or fraudulent. 55*d5c09012SAndroid Build Coastguard Worker rpc AnnotateAssessment(AnnotateAssessmentRequest) 56*d5c09012SAndroid Build Coastguard Worker returns (AnnotateAssessmentResponse) { 57*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 58*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/assessments/*}:annotate" 59*d5c09012SAndroid Build Coastguard Worker body: "*" 60*d5c09012SAndroid Build Coastguard Worker }; 61*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,annotation"; 62*d5c09012SAndroid Build Coastguard Worker } 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // Creates a new reCAPTCHA Enterprise key. 65*d5c09012SAndroid Build Coastguard Worker rpc CreateKey(CreateKeyRequest) returns (Key) { 66*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 67*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*}/keys" 68*d5c09012SAndroid Build Coastguard Worker body: "key" 69*d5c09012SAndroid Build Coastguard Worker }; 70*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,key"; 71*d5c09012SAndroid Build Coastguard Worker } 72*d5c09012SAndroid Build Coastguard Worker 73*d5c09012SAndroid Build Coastguard Worker // Returns the list of all keys that belong to a project. 74*d5c09012SAndroid Build Coastguard Worker rpc ListKeys(ListKeysRequest) returns (ListKeysResponse) { 75*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 76*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*}/keys" 77*d5c09012SAndroid Build Coastguard Worker }; 78*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 79*d5c09012SAndroid Build Coastguard Worker } 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // Returns the secret key related to the specified public key. 82*d5c09012SAndroid Build Coastguard Worker // You must use the legacy secret key only in a 3rd party integration with 83*d5c09012SAndroid Build Coastguard Worker // legacy reCAPTCHA. 84*d5c09012SAndroid Build Coastguard Worker rpc RetrieveLegacySecretKey(RetrieveLegacySecretKeyRequest) 85*d5c09012SAndroid Build Coastguard Worker returns (RetrieveLegacySecretKeyResponse) { 86*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 87*d5c09012SAndroid Build Coastguard Worker get: "/v1/{key=projects/*/keys/*}:retrieveLegacySecretKey" 88*d5c09012SAndroid Build Coastguard Worker }; 89*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "key"; 90*d5c09012SAndroid Build Coastguard Worker } 91*d5c09012SAndroid Build Coastguard Worker 92*d5c09012SAndroid Build Coastguard Worker // Returns the specified key. 93*d5c09012SAndroid Build Coastguard Worker rpc GetKey(GetKeyRequest) returns (Key) { 94*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 95*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/keys/*}" 96*d5c09012SAndroid Build Coastguard Worker }; 97*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 98*d5c09012SAndroid Build Coastguard Worker } 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Updates the specified key. 101*d5c09012SAndroid Build Coastguard Worker rpc UpdateKey(UpdateKeyRequest) returns (Key) { 102*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 103*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{key.name=projects/*/keys/*}" 104*d5c09012SAndroid Build Coastguard Worker body: "key" 105*d5c09012SAndroid Build Coastguard Worker }; 106*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "key,update_mask"; 107*d5c09012SAndroid Build Coastguard Worker } 108*d5c09012SAndroid Build Coastguard Worker 109*d5c09012SAndroid Build Coastguard Worker // Deletes the specified key. 110*d5c09012SAndroid Build Coastguard Worker rpc DeleteKey(DeleteKeyRequest) returns (google.protobuf.Empty) { 111*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 112*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/keys/*}" 113*d5c09012SAndroid Build Coastguard Worker }; 114*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 115*d5c09012SAndroid Build Coastguard Worker } 116*d5c09012SAndroid Build Coastguard Worker 117*d5c09012SAndroid Build Coastguard Worker // Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. 118*d5c09012SAndroid Build Coastguard Worker // Once a key is migrated, it can be used from either product. SiteVerify 119*d5c09012SAndroid Build Coastguard Worker // requests are billed as CreateAssessment calls. You must be 120*d5c09012SAndroid Build Coastguard Worker // authenticated as one of the current owners of the reCAPTCHA Key, and 121*d5c09012SAndroid Build Coastguard Worker // your user must have the reCAPTCHA Enterprise Admin IAM role in the 122*d5c09012SAndroid Build Coastguard Worker // destination project. 123*d5c09012SAndroid Build Coastguard Worker rpc MigrateKey(MigrateKeyRequest) returns (Key) { 124*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 125*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/keys/*}:migrate" 126*d5c09012SAndroid Build Coastguard Worker body: "*" 127*d5c09012SAndroid Build Coastguard Worker }; 128*d5c09012SAndroid Build Coastguard Worker } 129*d5c09012SAndroid Build Coastguard Worker 130*d5c09012SAndroid Build Coastguard Worker // Get some aggregated metrics for a Key. This data can be used to build 131*d5c09012SAndroid Build Coastguard Worker // dashboards. 132*d5c09012SAndroid Build Coastguard Worker rpc GetMetrics(GetMetricsRequest) returns (Metrics) { 133*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 134*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/keys/*/metrics}" 135*d5c09012SAndroid Build Coastguard Worker }; 136*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 137*d5c09012SAndroid Build Coastguard Worker } 138*d5c09012SAndroid Build Coastguard Worker 139*d5c09012SAndroid Build Coastguard Worker // Creates a new FirewallPolicy, specifying conditions at which reCAPTCHA 140*d5c09012SAndroid Build Coastguard Worker // Enterprise actions can be executed. 141*d5c09012SAndroid Build Coastguard Worker // A project may have a maximum of 1000 policies. 142*d5c09012SAndroid Build Coastguard Worker rpc CreateFirewallPolicy(CreateFirewallPolicyRequest) 143*d5c09012SAndroid Build Coastguard Worker returns (FirewallPolicy) { 144*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 145*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*}/firewallpolicies" 146*d5c09012SAndroid Build Coastguard Worker body: "firewall_policy" 147*d5c09012SAndroid Build Coastguard Worker }; 148*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,firewall_policy"; 149*d5c09012SAndroid Build Coastguard Worker } 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker // Returns the list of all firewall policies that belong to a project. 152*d5c09012SAndroid Build Coastguard Worker rpc ListFirewallPolicies(ListFirewallPoliciesRequest) 153*d5c09012SAndroid Build Coastguard Worker returns (ListFirewallPoliciesResponse) { 154*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 155*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*}/firewallpolicies" 156*d5c09012SAndroid Build Coastguard Worker }; 157*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 158*d5c09012SAndroid Build Coastguard Worker } 159*d5c09012SAndroid Build Coastguard Worker 160*d5c09012SAndroid Build Coastguard Worker // Returns the specified firewall policy. 161*d5c09012SAndroid Build Coastguard Worker rpc GetFirewallPolicy(GetFirewallPolicyRequest) returns (FirewallPolicy) { 162*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 163*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/firewallpolicies/*}" 164*d5c09012SAndroid Build Coastguard Worker }; 165*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 166*d5c09012SAndroid Build Coastguard Worker } 167*d5c09012SAndroid Build Coastguard Worker 168*d5c09012SAndroid Build Coastguard Worker // Updates the specified firewall policy. 169*d5c09012SAndroid Build Coastguard Worker rpc UpdateFirewallPolicy(UpdateFirewallPolicyRequest) 170*d5c09012SAndroid Build Coastguard Worker returns (FirewallPolicy) { 171*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 172*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{firewall_policy.name=projects/*/firewallpolicies/*}" 173*d5c09012SAndroid Build Coastguard Worker body: "firewall_policy" 174*d5c09012SAndroid Build Coastguard Worker }; 175*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "firewall_policy,update_mask"; 176*d5c09012SAndroid Build Coastguard Worker } 177*d5c09012SAndroid Build Coastguard Worker 178*d5c09012SAndroid Build Coastguard Worker // Deletes the specified firewall policy. 179*d5c09012SAndroid Build Coastguard Worker rpc DeleteFirewallPolicy(DeleteFirewallPolicyRequest) 180*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 181*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 182*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/firewallpolicies/*}" 183*d5c09012SAndroid Build Coastguard Worker }; 184*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 185*d5c09012SAndroid Build Coastguard Worker } 186*d5c09012SAndroid Build Coastguard Worker 187*d5c09012SAndroid Build Coastguard Worker // Reorders all firewall policies. 188*d5c09012SAndroid Build Coastguard Worker rpc ReorderFirewallPolicies(ReorderFirewallPoliciesRequest) 189*d5c09012SAndroid Build Coastguard Worker returns (ReorderFirewallPoliciesResponse) { 190*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 191*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*}/firewallpolicies:reorder" 192*d5c09012SAndroid Build Coastguard Worker body: "*" 193*d5c09012SAndroid Build Coastguard Worker }; 194*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,names"; 195*d5c09012SAndroid Build Coastguard Worker } 196*d5c09012SAndroid Build Coastguard Worker 197*d5c09012SAndroid Build Coastguard Worker // List groups of related accounts. 198*d5c09012SAndroid Build Coastguard Worker rpc ListRelatedAccountGroups(ListRelatedAccountGroupsRequest) 199*d5c09012SAndroid Build Coastguard Worker returns (ListRelatedAccountGroupsResponse) { 200*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 201*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*}/relatedaccountgroups" 202*d5c09012SAndroid Build Coastguard Worker }; 203*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 204*d5c09012SAndroid Build Coastguard Worker } 205*d5c09012SAndroid Build Coastguard Worker 206*d5c09012SAndroid Build Coastguard Worker // Get memberships in a group of related accounts. 207*d5c09012SAndroid Build Coastguard Worker rpc ListRelatedAccountGroupMemberships( 208*d5c09012SAndroid Build Coastguard Worker ListRelatedAccountGroupMembershipsRequest) 209*d5c09012SAndroid Build Coastguard Worker returns (ListRelatedAccountGroupMembershipsResponse) { 210*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 211*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/relatedaccountgroups/*}/memberships" 212*d5c09012SAndroid Build Coastguard Worker }; 213*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 214*d5c09012SAndroid Build Coastguard Worker } 215*d5c09012SAndroid Build Coastguard Worker 216*d5c09012SAndroid Build Coastguard Worker // Search group memberships related to a given account. 217*d5c09012SAndroid Build Coastguard Worker rpc SearchRelatedAccountGroupMemberships( 218*d5c09012SAndroid Build Coastguard Worker SearchRelatedAccountGroupMembershipsRequest) 219*d5c09012SAndroid Build Coastguard Worker returns (SearchRelatedAccountGroupMembershipsResponse) { 220*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 221*d5c09012SAndroid Build Coastguard Worker post: "/v1/{project=projects/*}/relatedaccountgroupmemberships:search" 222*d5c09012SAndroid Build Coastguard Worker body: "*" 223*d5c09012SAndroid Build Coastguard Worker }; 224*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project,hashed_account_id"; 225*d5c09012SAndroid Build Coastguard Worker } 226*d5c09012SAndroid Build Coastguard Worker} 227*d5c09012SAndroid Build Coastguard Worker 228*d5c09012SAndroid Build Coastguard Worker// The create assessment request message. 229*d5c09012SAndroid Build Coastguard Workermessage CreateAssessmentRequest { 230*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project in which the assessment will be created, 231*d5c09012SAndroid Build Coastguard Worker // in the format `projects/{project}`. 232*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 233*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 234*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 235*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 236*d5c09012SAndroid Build Coastguard Worker } 237*d5c09012SAndroid Build Coastguard Worker ]; 238*d5c09012SAndroid Build Coastguard Worker 239*d5c09012SAndroid Build Coastguard Worker // Required. The assessment details. 240*d5c09012SAndroid Build Coastguard Worker Assessment assessment = 2 [(google.api.field_behavior) = REQUIRED]; 241*d5c09012SAndroid Build Coastguard Worker} 242*d5c09012SAndroid Build Coastguard Worker 243*d5c09012SAndroid Build Coastguard Worker// Describes an event in the lifecycle of a payment transaction. 244*d5c09012SAndroid Build Coastguard Workermessage TransactionEvent { 245*d5c09012SAndroid Build Coastguard Worker // Enum that represents an event in the payment transaction lifecycle. 246*d5c09012SAndroid Build Coastguard Worker enum TransactionEventType { 247*d5c09012SAndroid Build Coastguard Worker // Default, unspecified event type. 248*d5c09012SAndroid Build Coastguard Worker TRANSACTION_EVENT_TYPE_UNSPECIFIED = 0; 249*d5c09012SAndroid Build Coastguard Worker 250*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction is approved by the merchant. The 251*d5c09012SAndroid Build Coastguard Worker // accompanying reasons can include terms such as 'INHOUSE', 'ACCERTIFY', 252*d5c09012SAndroid Build Coastguard Worker // 'CYBERSOURCE', or 'MANUAL_REVIEW'. 253*d5c09012SAndroid Build Coastguard Worker MERCHANT_APPROVE = 1; 254*d5c09012SAndroid Build Coastguard Worker 255*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction is denied and concluded due to risks 256*d5c09012SAndroid Build Coastguard Worker // detected by the merchant. The accompanying reasons can include terms such 257*d5c09012SAndroid Build Coastguard Worker // as 'INHOUSE', 'ACCERTIFY', 'CYBERSOURCE', or 'MANUAL_REVIEW'. 258*d5c09012SAndroid Build Coastguard Worker MERCHANT_DENY = 2; 259*d5c09012SAndroid Build Coastguard Worker 260*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction is being evaluated by a human, due to 261*d5c09012SAndroid Build Coastguard Worker // suspicion or risk. 262*d5c09012SAndroid Build Coastguard Worker MANUAL_REVIEW = 3; 263*d5c09012SAndroid Build Coastguard Worker 264*d5c09012SAndroid Build Coastguard Worker // Indicates that the authorization attempt with the card issuer succeeded. 265*d5c09012SAndroid Build Coastguard Worker AUTHORIZATION = 4; 266*d5c09012SAndroid Build Coastguard Worker 267*d5c09012SAndroid Build Coastguard Worker // Indicates that the authorization attempt with the card issuer failed. 268*d5c09012SAndroid Build Coastguard Worker // The accompanying reasons can include Visa's '54' indicating that the card 269*d5c09012SAndroid Build Coastguard Worker // is expired, or '82' indicating that the CVV is incorrect. 270*d5c09012SAndroid Build Coastguard Worker AUTHORIZATION_DECLINE = 5; 271*d5c09012SAndroid Build Coastguard Worker 272*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction is completed because the funds were 273*d5c09012SAndroid Build Coastguard Worker // settled. 274*d5c09012SAndroid Build Coastguard Worker PAYMENT_CAPTURE = 6; 275*d5c09012SAndroid Build Coastguard Worker 276*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction could not be completed because the funds 277*d5c09012SAndroid Build Coastguard Worker // were not settled. 278*d5c09012SAndroid Build Coastguard Worker PAYMENT_CAPTURE_DECLINE = 7; 279*d5c09012SAndroid Build Coastguard Worker 280*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction has been canceled. Specify the reason 281*d5c09012SAndroid Build Coastguard Worker // for the cancellation. For example, 'INSUFFICIENT_INVENTORY'. 282*d5c09012SAndroid Build Coastguard Worker CANCEL = 8; 283*d5c09012SAndroid Build Coastguard Worker 284*d5c09012SAndroid Build Coastguard Worker // Indicates that the merchant has received a chargeback inquiry due to 285*d5c09012SAndroid Build Coastguard Worker // fraud for the transaction, requesting additional information before a 286*d5c09012SAndroid Build Coastguard Worker // fraud chargeback is officially issued and a formal chargeback 287*d5c09012SAndroid Build Coastguard Worker // notification is sent. 288*d5c09012SAndroid Build Coastguard Worker CHARGEBACK_INQUIRY = 9; 289*d5c09012SAndroid Build Coastguard Worker 290*d5c09012SAndroid Build Coastguard Worker // Indicates that the merchant has received a chargeback alert due to fraud 291*d5c09012SAndroid Build Coastguard Worker // for the transaction. The process of resolving the dispute without 292*d5c09012SAndroid Build Coastguard Worker // involving the payment network is started. 293*d5c09012SAndroid Build Coastguard Worker CHARGEBACK_ALERT = 10; 294*d5c09012SAndroid Build Coastguard Worker 295*d5c09012SAndroid Build Coastguard Worker // Indicates that a fraud notification is issued for the transaction, sent 296*d5c09012SAndroid Build Coastguard Worker // by the payment instrument's issuing bank because the transaction appears 297*d5c09012SAndroid Build Coastguard Worker // to be fraudulent. We recommend including TC40 or SAFE data in the 298*d5c09012SAndroid Build Coastguard Worker // `reason` field for this event type. For partial chargebacks, we recommend 299*d5c09012SAndroid Build Coastguard Worker // that you include an amount in the `value` field. 300*d5c09012SAndroid Build Coastguard Worker FRAUD_NOTIFICATION = 11; 301*d5c09012SAndroid Build Coastguard Worker 302*d5c09012SAndroid Build Coastguard Worker // Indicates that the merchant is informed by the payment network that the 303*d5c09012SAndroid Build Coastguard Worker // transaction has entered the chargeback process due to fraud. Reason code 304*d5c09012SAndroid Build Coastguard Worker // examples include Discover's '6005' and '6041'. For partial chargebacks, 305*d5c09012SAndroid Build Coastguard Worker // we recommend that you include an amount in the `value` field. 306*d5c09012SAndroid Build Coastguard Worker CHARGEBACK = 12; 307*d5c09012SAndroid Build Coastguard Worker 308*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction has entered the chargeback process due to 309*d5c09012SAndroid Build Coastguard Worker // fraud, and that the merchant has chosen to enter representment. Reason 310*d5c09012SAndroid Build Coastguard Worker // examples include Discover's '6005' and '6041'. For partial chargebacks, 311*d5c09012SAndroid Build Coastguard Worker // we recommend that you include an amount in the `value` field. 312*d5c09012SAndroid Build Coastguard Worker CHARGEBACK_REPRESENTMENT = 13; 313*d5c09012SAndroid Build Coastguard Worker 314*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction has had a fraud chargeback which was 315*d5c09012SAndroid Build Coastguard Worker // illegitimate and was reversed as a result. For partial chargebacks, we 316*d5c09012SAndroid Build Coastguard Worker // recommend that you include an amount in the `value` field. 317*d5c09012SAndroid Build Coastguard Worker CHARGEBACK_REVERSE = 14; 318*d5c09012SAndroid Build Coastguard Worker 319*d5c09012SAndroid Build Coastguard Worker // Indicates that the merchant has received a refund for a completed 320*d5c09012SAndroid Build Coastguard Worker // transaction. For partial refunds, we recommend that you include an amount 321*d5c09012SAndroid Build Coastguard Worker // in the `value` field. Reason example: 'TAX_EXEMPT' (partial refund of 322*d5c09012SAndroid Build Coastguard Worker // exempt tax) 323*d5c09012SAndroid Build Coastguard Worker REFUND_REQUEST = 15; 324*d5c09012SAndroid Build Coastguard Worker 325*d5c09012SAndroid Build Coastguard Worker // Indicates that the merchant has received a refund request for this 326*d5c09012SAndroid Build Coastguard Worker // transaction, but that they have declined it. For partial refunds, we 327*d5c09012SAndroid Build Coastguard Worker // recommend that you include an amount in the `value` field. Reason 328*d5c09012SAndroid Build Coastguard Worker // example: 'TAX_EXEMPT' (partial refund of exempt tax) 329*d5c09012SAndroid Build Coastguard Worker REFUND_DECLINE = 16; 330*d5c09012SAndroid Build Coastguard Worker 331*d5c09012SAndroid Build Coastguard Worker // Indicates that the completed transaction was refunded by the merchant. 332*d5c09012SAndroid Build Coastguard Worker // For partial refunds, we recommend that you include an amount in the 333*d5c09012SAndroid Build Coastguard Worker // `value` field. Reason example: 'TAX_EXEMPT' (partial refund of exempt 334*d5c09012SAndroid Build Coastguard Worker // tax) 335*d5c09012SAndroid Build Coastguard Worker REFUND = 17; 336*d5c09012SAndroid Build Coastguard Worker 337*d5c09012SAndroid Build Coastguard Worker // Indicates that the completed transaction was refunded by the merchant, 338*d5c09012SAndroid Build Coastguard Worker // and that this refund was reversed. For partial refunds, we recommend that 339*d5c09012SAndroid Build Coastguard Worker // you include an amount in the `value` field. 340*d5c09012SAndroid Build Coastguard Worker REFUND_REVERSE = 18; 341*d5c09012SAndroid Build Coastguard Worker } 342*d5c09012SAndroid Build Coastguard Worker 343*d5c09012SAndroid Build Coastguard Worker // Optional. The type of this transaction event. 344*d5c09012SAndroid Build Coastguard Worker TransactionEventType event_type = 1 [(google.api.field_behavior) = OPTIONAL]; 345*d5c09012SAndroid Build Coastguard Worker 346*d5c09012SAndroid Build Coastguard Worker // Optional. The reason or standardized code that corresponds with this 347*d5c09012SAndroid Build Coastguard Worker // transaction event, if one exists. For example, a CHARGEBACK event with code 348*d5c09012SAndroid Build Coastguard Worker // 6005. 349*d5c09012SAndroid Build Coastguard Worker string reason = 2 [(google.api.field_behavior) = OPTIONAL]; 350*d5c09012SAndroid Build Coastguard Worker 351*d5c09012SAndroid Build Coastguard Worker // Optional. The value that corresponds with this transaction event, if one 352*d5c09012SAndroid Build Coastguard Worker // exists. For example, a refund event where $5.00 was refunded. Currency is 353*d5c09012SAndroid Build Coastguard Worker // obtained from the original transaction data. 354*d5c09012SAndroid Build Coastguard Worker double value = 3 [(google.api.field_behavior) = OPTIONAL]; 355*d5c09012SAndroid Build Coastguard Worker 356*d5c09012SAndroid Build Coastguard Worker // Optional. Timestamp when this transaction event occurred; otherwise assumed 357*d5c09012SAndroid Build Coastguard Worker // to be the time of the API call. 358*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp event_time = 4 359*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 360*d5c09012SAndroid Build Coastguard Worker} 361*d5c09012SAndroid Build Coastguard Worker 362*d5c09012SAndroid Build Coastguard Worker// The request message to annotate an Assessment. 363*d5c09012SAndroid Build Coastguard Workermessage AnnotateAssessmentRequest { 364*d5c09012SAndroid Build Coastguard Worker // Enum that represents the types of annotations. 365*d5c09012SAndroid Build Coastguard Worker enum Annotation { 366*d5c09012SAndroid Build Coastguard Worker // Default unspecified type. 367*d5c09012SAndroid Build Coastguard Worker ANNOTATION_UNSPECIFIED = 0; 368*d5c09012SAndroid Build Coastguard Worker 369*d5c09012SAndroid Build Coastguard Worker // Provides information that the event turned out to be legitimate. 370*d5c09012SAndroid Build Coastguard Worker LEGITIMATE = 1; 371*d5c09012SAndroid Build Coastguard Worker 372*d5c09012SAndroid Build Coastguard Worker // Provides information that the event turned out to be fraudulent. 373*d5c09012SAndroid Build Coastguard Worker FRAUDULENT = 2; 374*d5c09012SAndroid Build Coastguard Worker 375*d5c09012SAndroid Build Coastguard Worker // Provides information that the event was related to a login event in which 376*d5c09012SAndroid Build Coastguard Worker // the user typed the correct password. Deprecated, prefer indicating 377*d5c09012SAndroid Build Coastguard Worker // CORRECT_PASSWORD through the reasons field instead. 378*d5c09012SAndroid Build Coastguard Worker PASSWORD_CORRECT = 3 [deprecated = true]; 379*d5c09012SAndroid Build Coastguard Worker 380*d5c09012SAndroid Build Coastguard Worker // Provides information that the event was related to a login event in which 381*d5c09012SAndroid Build Coastguard Worker // the user typed the incorrect password. Deprecated, prefer indicating 382*d5c09012SAndroid Build Coastguard Worker // INCORRECT_PASSWORD through the reasons field instead. 383*d5c09012SAndroid Build Coastguard Worker PASSWORD_INCORRECT = 4 [deprecated = true]; 384*d5c09012SAndroid Build Coastguard Worker } 385*d5c09012SAndroid Build Coastguard Worker 386*d5c09012SAndroid Build Coastguard Worker // Enum that represents potential reasons for annotating an assessment. 387*d5c09012SAndroid Build Coastguard Worker enum Reason { 388*d5c09012SAndroid Build Coastguard Worker // Default unspecified reason. 389*d5c09012SAndroid Build Coastguard Worker REASON_UNSPECIFIED = 0; 390*d5c09012SAndroid Build Coastguard Worker 391*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction had a chargeback issued with no other 392*d5c09012SAndroid Build Coastguard Worker // details. When possible, specify the type by using CHARGEBACK_FRAUD or 393*d5c09012SAndroid Build Coastguard Worker // CHARGEBACK_DISPUTE instead. 394*d5c09012SAndroid Build Coastguard Worker CHARGEBACK = 1; 395*d5c09012SAndroid Build Coastguard Worker 396*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction had a chargeback issued related to an 397*d5c09012SAndroid Build Coastguard Worker // alleged unauthorized transaction from the cardholder's perspective (for 398*d5c09012SAndroid Build Coastguard Worker // example, the card number was stolen). 399*d5c09012SAndroid Build Coastguard Worker CHARGEBACK_FRAUD = 8; 400*d5c09012SAndroid Build Coastguard Worker 401*d5c09012SAndroid Build Coastguard Worker // Indicates that the transaction had a chargeback issued related to the 402*d5c09012SAndroid Build Coastguard Worker // cardholder having provided their card details but allegedly not being 403*d5c09012SAndroid Build Coastguard Worker // satisfied with the purchase (for example, misrepresentation, attempted 404*d5c09012SAndroid Build Coastguard Worker // cancellation). 405*d5c09012SAndroid Build Coastguard Worker CHARGEBACK_DISPUTE = 9; 406*d5c09012SAndroid Build Coastguard Worker 407*d5c09012SAndroid Build Coastguard Worker // Indicates that the completed payment transaction was refunded by the 408*d5c09012SAndroid Build Coastguard Worker // seller. 409*d5c09012SAndroid Build Coastguard Worker REFUND = 10; 410*d5c09012SAndroid Build Coastguard Worker 411*d5c09012SAndroid Build Coastguard Worker // Indicates that the completed payment transaction was determined to be 412*d5c09012SAndroid Build Coastguard Worker // fraudulent by the seller, and was cancelled and refunded as a result. 413*d5c09012SAndroid Build Coastguard Worker REFUND_FRAUD = 11; 414*d5c09012SAndroid Build Coastguard Worker 415*d5c09012SAndroid Build Coastguard Worker // Indicates that the payment transaction was accepted, and the user was 416*d5c09012SAndroid Build Coastguard Worker // charged. 417*d5c09012SAndroid Build Coastguard Worker TRANSACTION_ACCEPTED = 12; 418*d5c09012SAndroid Build Coastguard Worker 419*d5c09012SAndroid Build Coastguard Worker // Indicates that the payment transaction was declined, for example due to 420*d5c09012SAndroid Build Coastguard Worker // invalid card details. 421*d5c09012SAndroid Build Coastguard Worker TRANSACTION_DECLINED = 13; 422*d5c09012SAndroid Build Coastguard Worker 423*d5c09012SAndroid Build Coastguard Worker // Indicates the transaction associated with the assessment is suspected of 424*d5c09012SAndroid Build Coastguard Worker // being fraudulent based on the payment method, billing details, shipping 425*d5c09012SAndroid Build Coastguard Worker // address or other transaction information. 426*d5c09012SAndroid Build Coastguard Worker PAYMENT_HEURISTICS = 2; 427*d5c09012SAndroid Build Coastguard Worker 428*d5c09012SAndroid Build Coastguard Worker // Indicates that the user was served a 2FA challenge. An old assessment 429*d5c09012SAndroid Build Coastguard Worker // with `ENUM_VALUES.INITIATED_TWO_FACTOR` reason that has not been 430*d5c09012SAndroid Build Coastguard Worker // overwritten with `PASSED_TWO_FACTOR` is treated as an abandoned 2FA flow. 431*d5c09012SAndroid Build Coastguard Worker // This is equivalent to `FAILED_TWO_FACTOR`. 432*d5c09012SAndroid Build Coastguard Worker INITIATED_TWO_FACTOR = 7; 433*d5c09012SAndroid Build Coastguard Worker 434*d5c09012SAndroid Build Coastguard Worker // Indicates that the user passed a 2FA challenge. 435*d5c09012SAndroid Build Coastguard Worker PASSED_TWO_FACTOR = 3; 436*d5c09012SAndroid Build Coastguard Worker 437*d5c09012SAndroid Build Coastguard Worker // Indicates that the user failed a 2FA challenge. 438*d5c09012SAndroid Build Coastguard Worker FAILED_TWO_FACTOR = 4; 439*d5c09012SAndroid Build Coastguard Worker 440*d5c09012SAndroid Build Coastguard Worker // Indicates the user provided the correct password. 441*d5c09012SAndroid Build Coastguard Worker CORRECT_PASSWORD = 5; 442*d5c09012SAndroid Build Coastguard Worker 443*d5c09012SAndroid Build Coastguard Worker // Indicates the user provided an incorrect password. 444*d5c09012SAndroid Build Coastguard Worker INCORRECT_PASSWORD = 6; 445*d5c09012SAndroid Build Coastguard Worker 446*d5c09012SAndroid Build Coastguard Worker // Indicates that the user sent unwanted and abusive messages to other users 447*d5c09012SAndroid Build Coastguard Worker // of the platform, such as spam, scams, phishing, or social engineering. 448*d5c09012SAndroid Build Coastguard Worker SOCIAL_SPAM = 14; 449*d5c09012SAndroid Build Coastguard Worker } 450*d5c09012SAndroid Build Coastguard Worker 451*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the Assessment, in the format 452*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/assessments/{assessment}`. 453*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 454*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 455*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 456*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Assessment" 457*d5c09012SAndroid Build Coastguard Worker } 458*d5c09012SAndroid Build Coastguard Worker ]; 459*d5c09012SAndroid Build Coastguard Worker 460*d5c09012SAndroid Build Coastguard Worker // Optional. The annotation that will be assigned to the Event. This field can 461*d5c09012SAndroid Build Coastguard Worker // be left empty to provide reasons that apply to an event without concluding 462*d5c09012SAndroid Build Coastguard Worker // whether the event is legitimate or fraudulent. 463*d5c09012SAndroid Build Coastguard Worker Annotation annotation = 2 [(google.api.field_behavior) = OPTIONAL]; 464*d5c09012SAndroid Build Coastguard Worker 465*d5c09012SAndroid Build Coastguard Worker // Optional. Reasons for the annotation that are assigned to the event. 466*d5c09012SAndroid Build Coastguard Worker repeated Reason reasons = 3 [(google.api.field_behavior) = OPTIONAL]; 467*d5c09012SAndroid Build Coastguard Worker 468*d5c09012SAndroid Build Coastguard Worker // Optional. A stable account identifier to apply to the assessment. This is 469*d5c09012SAndroid Build Coastguard Worker // an alternative to setting `account_id` in `CreateAssessment`, for example 470*d5c09012SAndroid Build Coastguard Worker // when a stable account identifier is not yet known in the initial request. 471*d5c09012SAndroid Build Coastguard Worker string account_id = 7 [(google.api.field_behavior) = OPTIONAL]; 472*d5c09012SAndroid Build Coastguard Worker 473*d5c09012SAndroid Build Coastguard Worker // Optional. A stable hashed account identifier to apply to the assessment. 474*d5c09012SAndroid Build Coastguard Worker // This is an alternative to setting `hashed_account_id` in 475*d5c09012SAndroid Build Coastguard Worker // `CreateAssessment`, for example when a stable account identifier is not yet 476*d5c09012SAndroid Build Coastguard Worker // known in the initial request. 477*d5c09012SAndroid Build Coastguard Worker bytes hashed_account_id = 4 [(google.api.field_behavior) = OPTIONAL]; 478*d5c09012SAndroid Build Coastguard Worker 479*d5c09012SAndroid Build Coastguard Worker // Optional. If the assessment is part of a payment transaction, provide 480*d5c09012SAndroid Build Coastguard Worker // details on payment lifecycle events that occur in the transaction. 481*d5c09012SAndroid Build Coastguard Worker TransactionEvent transaction_event = 5 482*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 483*d5c09012SAndroid Build Coastguard Worker} 484*d5c09012SAndroid Build Coastguard Worker 485*d5c09012SAndroid Build Coastguard Worker// Empty response for AnnotateAssessment. 486*d5c09012SAndroid Build Coastguard Workermessage AnnotateAssessmentResponse {} 487*d5c09012SAndroid Build Coastguard Worker 488*d5c09012SAndroid Build Coastguard Worker// Information about a verification endpoint that can be used for 2FA. 489*d5c09012SAndroid Build Coastguard Workermessage EndpointVerificationInfo { 490*d5c09012SAndroid Build Coastguard Worker oneof endpoint { 491*d5c09012SAndroid Build Coastguard Worker // Email address for which to trigger a verification request. 492*d5c09012SAndroid Build Coastguard Worker string email_address = 1; 493*d5c09012SAndroid Build Coastguard Worker 494*d5c09012SAndroid Build Coastguard Worker // Phone number for which to trigger a verification request. Should be given 495*d5c09012SAndroid Build Coastguard Worker // in E.164 format. 496*d5c09012SAndroid Build Coastguard Worker string phone_number = 2; 497*d5c09012SAndroid Build Coastguard Worker } 498*d5c09012SAndroid Build Coastguard Worker 499*d5c09012SAndroid Build Coastguard Worker // Output only. Token to provide to the client to trigger endpoint 500*d5c09012SAndroid Build Coastguard Worker // verification. It must be used within 15 minutes. 501*d5c09012SAndroid Build Coastguard Worker string request_token = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 502*d5c09012SAndroid Build Coastguard Worker 503*d5c09012SAndroid Build Coastguard Worker // Output only. Timestamp of the last successful verification for the 504*d5c09012SAndroid Build Coastguard Worker // endpoint, if any. 505*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp last_verification_time = 4 506*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 507*d5c09012SAndroid Build Coastguard Worker} 508*d5c09012SAndroid Build Coastguard Worker 509*d5c09012SAndroid Build Coastguard Worker// Information about account verification, used for identity verification. 510*d5c09012SAndroid Build Coastguard Workermessage AccountVerificationInfo { 511*d5c09012SAndroid Build Coastguard Worker // Result of the account verification as contained in the verdict token issued 512*d5c09012SAndroid Build Coastguard Worker // at the end of the verification flow. 513*d5c09012SAndroid Build Coastguard Worker enum Result { 514*d5c09012SAndroid Build Coastguard Worker // No information about the latest account verification. 515*d5c09012SAndroid Build Coastguard Worker RESULT_UNSPECIFIED = 0; 516*d5c09012SAndroid Build Coastguard Worker 517*d5c09012SAndroid Build Coastguard Worker // The user was successfully verified. This means the account verification 518*d5c09012SAndroid Build Coastguard Worker // challenge was successfully completed. 519*d5c09012SAndroid Build Coastguard Worker SUCCESS_USER_VERIFIED = 1; 520*d5c09012SAndroid Build Coastguard Worker 521*d5c09012SAndroid Build Coastguard Worker // The user failed the verification challenge. 522*d5c09012SAndroid Build Coastguard Worker ERROR_USER_NOT_VERIFIED = 2; 523*d5c09012SAndroid Build Coastguard Worker 524*d5c09012SAndroid Build Coastguard Worker // The site is not properly onboarded to use the account verification 525*d5c09012SAndroid Build Coastguard Worker // feature. 526*d5c09012SAndroid Build Coastguard Worker ERROR_SITE_ONBOARDING_INCOMPLETE = 3; 527*d5c09012SAndroid Build Coastguard Worker 528*d5c09012SAndroid Build Coastguard Worker // The recipient is not allowed for account verification. This can occur 529*d5c09012SAndroid Build Coastguard Worker // during integration but should not occur in production. 530*d5c09012SAndroid Build Coastguard Worker ERROR_RECIPIENT_NOT_ALLOWED = 4; 531*d5c09012SAndroid Build Coastguard Worker 532*d5c09012SAndroid Build Coastguard Worker // The recipient has already been sent too many verification codes in a 533*d5c09012SAndroid Build Coastguard Worker // short amount of time. 534*d5c09012SAndroid Build Coastguard Worker ERROR_RECIPIENT_ABUSE_LIMIT_EXHAUSTED = 5; 535*d5c09012SAndroid Build Coastguard Worker 536*d5c09012SAndroid Build Coastguard Worker // The verification flow could not be completed due to a critical internal 537*d5c09012SAndroid Build Coastguard Worker // error. 538*d5c09012SAndroid Build Coastguard Worker ERROR_CRITICAL_INTERNAL = 6; 539*d5c09012SAndroid Build Coastguard Worker 540*d5c09012SAndroid Build Coastguard Worker // The client has exceeded their two factor request quota for this period of 541*d5c09012SAndroid Build Coastguard Worker // time. 542*d5c09012SAndroid Build Coastguard Worker ERROR_CUSTOMER_QUOTA_EXHAUSTED = 7; 543*d5c09012SAndroid Build Coastguard Worker 544*d5c09012SAndroid Build Coastguard Worker // The request cannot be processed at the time because of an incident. This 545*d5c09012SAndroid Build Coastguard Worker // bypass can be restricted to a problematic destination email domain, a 546*d5c09012SAndroid Build Coastguard Worker // customer, or could affect the entire service. 547*d5c09012SAndroid Build Coastguard Worker ERROR_VERIFICATION_BYPASSED = 8; 548*d5c09012SAndroid Build Coastguard Worker 549*d5c09012SAndroid Build Coastguard Worker // The request parameters do not match with the token provided and cannot be 550*d5c09012SAndroid Build Coastguard Worker // processed. 551*d5c09012SAndroid Build Coastguard Worker ERROR_VERDICT_MISMATCH = 9; 552*d5c09012SAndroid Build Coastguard Worker } 553*d5c09012SAndroid Build Coastguard Worker 554*d5c09012SAndroid Build Coastguard Worker // Optional. Endpoints that can be used for identity verification. 555*d5c09012SAndroid Build Coastguard Worker repeated EndpointVerificationInfo endpoints = 1 556*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 557*d5c09012SAndroid Build Coastguard Worker 558*d5c09012SAndroid Build Coastguard Worker // Optional. Language code preference for the verification message, set as a 559*d5c09012SAndroid Build Coastguard Worker // IETF BCP 47 language code. 560*d5c09012SAndroid Build Coastguard Worker string language_code = 3 [(google.api.field_behavior) = OPTIONAL]; 561*d5c09012SAndroid Build Coastguard Worker 562*d5c09012SAndroid Build Coastguard Worker // Output only. Result of the latest account verification challenge. 563*d5c09012SAndroid Build Coastguard Worker Result latest_verification_result = 7 564*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 565*d5c09012SAndroid Build Coastguard Worker 566*d5c09012SAndroid Build Coastguard Worker // Username of the account that is being verified. Deprecated. Customers 567*d5c09012SAndroid Build Coastguard Worker // should now provide the `account_id` field in `event.user_info`. 568*d5c09012SAndroid Build Coastguard Worker string username = 2 [deprecated = true]; 569*d5c09012SAndroid Build Coastguard Worker} 570*d5c09012SAndroid Build Coastguard Worker 571*d5c09012SAndroid Build Coastguard Worker// Private password leak verification info. 572*d5c09012SAndroid Build Coastguard Workermessage PrivatePasswordLeakVerification { 573*d5c09012SAndroid Build Coastguard Worker // Required. Exactly 26-bit prefix of the SHA-256 hash of the canonicalized 574*d5c09012SAndroid Build Coastguard Worker // username. It is used to look up password leaks associated with that hash 575*d5c09012SAndroid Build Coastguard Worker // prefix. 576*d5c09012SAndroid Build Coastguard Worker bytes lookup_hash_prefix = 1 [(google.api.field_behavior) = REQUIRED]; 577*d5c09012SAndroid Build Coastguard Worker 578*d5c09012SAndroid Build Coastguard Worker // Optional. Encrypted Scrypt hash of the canonicalized username+password. It 579*d5c09012SAndroid Build Coastguard Worker // is re-encrypted by the server and returned through 580*d5c09012SAndroid Build Coastguard Worker // `reencrypted_user_credentials_hash`. 581*d5c09012SAndroid Build Coastguard Worker bytes encrypted_user_credentials_hash = 2 582*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 583*d5c09012SAndroid Build Coastguard Worker 584*d5c09012SAndroid Build Coastguard Worker // Output only. List of prefixes of the encrypted potential password leaks 585*d5c09012SAndroid Build Coastguard Worker // that matched the given parameters. They must be compared with the 586*d5c09012SAndroid Build Coastguard Worker // client-side decryption prefix of `reencrypted_user_credentials_hash` 587*d5c09012SAndroid Build Coastguard Worker repeated bytes encrypted_leak_match_prefixes = 3 588*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 589*d5c09012SAndroid Build Coastguard Worker 590*d5c09012SAndroid Build Coastguard Worker // Output only. Corresponds to the re-encryption of the 591*d5c09012SAndroid Build Coastguard Worker // `encrypted_user_credentials_hash` field. It is used to match potential 592*d5c09012SAndroid Build Coastguard Worker // password leaks within `encrypted_leak_match_prefixes`. 593*d5c09012SAndroid Build Coastguard Worker bytes reencrypted_user_credentials_hash = 4 594*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 595*d5c09012SAndroid Build Coastguard Worker} 596*d5c09012SAndroid Build Coastguard Worker 597*d5c09012SAndroid Build Coastguard Worker// A reCAPTCHA Enterprise assessment resource. 598*d5c09012SAndroid Build Coastguard Workermessage Assessment { 599*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 600*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Assessment" 601*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/assessments/{assessment}" 602*d5c09012SAndroid Build Coastguard Worker plural: "assessments" 603*d5c09012SAndroid Build Coastguard Worker singular: "assessment" 604*d5c09012SAndroid Build Coastguard Worker }; 605*d5c09012SAndroid Build Coastguard Worker 606*d5c09012SAndroid Build Coastguard Worker // Output only. Identifier. The resource name for the Assessment in the format 607*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/assessments/{assessment}`. 608*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 609*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY, 610*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IDENTIFIER 611*d5c09012SAndroid Build Coastguard Worker ]; 612*d5c09012SAndroid Build Coastguard Worker 613*d5c09012SAndroid Build Coastguard Worker // Optional. The event being assessed. 614*d5c09012SAndroid Build Coastguard Worker Event event = 2 [(google.api.field_behavior) = OPTIONAL]; 615*d5c09012SAndroid Build Coastguard Worker 616*d5c09012SAndroid Build Coastguard Worker // Output only. The risk analysis result for the event being assessed. 617*d5c09012SAndroid Build Coastguard Worker RiskAnalysis risk_analysis = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 618*d5c09012SAndroid Build Coastguard Worker 619*d5c09012SAndroid Build Coastguard Worker // Output only. Properties of the provided event token. 620*d5c09012SAndroid Build Coastguard Worker TokenProperties token_properties = 4 621*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 622*d5c09012SAndroid Build Coastguard Worker 623*d5c09012SAndroid Build Coastguard Worker // Optional. Account verification information for identity verification. The 624*d5c09012SAndroid Build Coastguard Worker // assessment event must include a token and site key to use this feature. 625*d5c09012SAndroid Build Coastguard Worker AccountVerificationInfo account_verification = 5 626*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 627*d5c09012SAndroid Build Coastguard Worker 628*d5c09012SAndroid Build Coastguard Worker // Output only. Assessment returned by account defender when an account 629*d5c09012SAndroid Build Coastguard Worker // identifier is provided. 630*d5c09012SAndroid Build Coastguard Worker AccountDefenderAssessment account_defender_assessment = 6 631*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 632*d5c09012SAndroid Build Coastguard Worker 633*d5c09012SAndroid Build Coastguard Worker // Optional. The private password leak verification field contains the 634*d5c09012SAndroid Build Coastguard Worker // parameters that are used to to check for leaks privately without sharing 635*d5c09012SAndroid Build Coastguard Worker // user credentials. 636*d5c09012SAndroid Build Coastguard Worker PrivatePasswordLeakVerification private_password_leak_verification = 8 637*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 638*d5c09012SAndroid Build Coastguard Worker 639*d5c09012SAndroid Build Coastguard Worker // Output only. Assessment returned when firewall policies belonging to the 640*d5c09012SAndroid Build Coastguard Worker // project are evaluated using the field firewall_policy_evaluation. 641*d5c09012SAndroid Build Coastguard Worker FirewallPolicyAssessment firewall_policy_assessment = 10 642*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 643*d5c09012SAndroid Build Coastguard Worker 644*d5c09012SAndroid Build Coastguard Worker // Output only. Assessment returned by Fraud Prevention when TransactionData 645*d5c09012SAndroid Build Coastguard Worker // is provided. 646*d5c09012SAndroid Build Coastguard Worker FraudPreventionAssessment fraud_prevention_assessment = 11 647*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 648*d5c09012SAndroid Build Coastguard Worker 649*d5c09012SAndroid Build Coastguard Worker // Output only. Fraud Signals specific to the users involved in a payment 650*d5c09012SAndroid Build Coastguard Worker // transaction. 651*d5c09012SAndroid Build Coastguard Worker FraudSignals fraud_signals = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; 652*d5c09012SAndroid Build Coastguard Worker} 653*d5c09012SAndroid Build Coastguard Worker 654*d5c09012SAndroid Build Coastguard Worker// The event being assessed. 655*d5c09012SAndroid Build Coastguard Workermessage Event { 656*d5c09012SAndroid Build Coastguard Worker // Setting that controls Fraud Prevention assessments. 657*d5c09012SAndroid Build Coastguard Worker enum FraudPrevention { 658*d5c09012SAndroid Build Coastguard Worker // Default, unspecified setting. If opted in for automatic detection, 659*d5c09012SAndroid Build Coastguard Worker // `fraud_prevention_assessment` is returned based on the request. 660*d5c09012SAndroid Build Coastguard Worker // Otherwise, `fraud_prevention_assessment` is returned if 661*d5c09012SAndroid Build Coastguard Worker // `transaction_data` is present in the `Event` and Fraud Prevention is 662*d5c09012SAndroid Build Coastguard Worker // enabled in the Google Cloud console. 663*d5c09012SAndroid Build Coastguard Worker FRAUD_PREVENTION_UNSPECIFIED = 0; 664*d5c09012SAndroid Build Coastguard Worker 665*d5c09012SAndroid Build Coastguard Worker // Enable Fraud Prevention for this assessment, if Fraud Prevention is 666*d5c09012SAndroid Build Coastguard Worker // enabled in the Google Cloud console. 667*d5c09012SAndroid Build Coastguard Worker ENABLED = 1; 668*d5c09012SAndroid Build Coastguard Worker 669*d5c09012SAndroid Build Coastguard Worker // Disable Fraud Prevention for this assessment, regardless of opt-in 670*d5c09012SAndroid Build Coastguard Worker // status or Google Cloud console settings. 671*d5c09012SAndroid Build Coastguard Worker DISABLED = 2; 672*d5c09012SAndroid Build Coastguard Worker } 673*d5c09012SAndroid Build Coastguard Worker 674*d5c09012SAndroid Build Coastguard Worker // Optional. The user response token provided by the reCAPTCHA Enterprise 675*d5c09012SAndroid Build Coastguard Worker // client-side integration on your site. 676*d5c09012SAndroid Build Coastguard Worker string token = 1 [(google.api.field_behavior) = OPTIONAL]; 677*d5c09012SAndroid Build Coastguard Worker 678*d5c09012SAndroid Build Coastguard Worker // Optional. The site key that was used to invoke reCAPTCHA Enterprise on your 679*d5c09012SAndroid Build Coastguard Worker // site and generate the token. 680*d5c09012SAndroid Build Coastguard Worker string site_key = 2 [(google.api.field_behavior) = OPTIONAL]; 681*d5c09012SAndroid Build Coastguard Worker 682*d5c09012SAndroid Build Coastguard Worker // Optional. The user agent present in the request from the user's device 683*d5c09012SAndroid Build Coastguard Worker // related to this event. 684*d5c09012SAndroid Build Coastguard Worker string user_agent = 3 [(google.api.field_behavior) = OPTIONAL]; 685*d5c09012SAndroid Build Coastguard Worker 686*d5c09012SAndroid Build Coastguard Worker // Optional. The IP address in the request from the user's device related to 687*d5c09012SAndroid Build Coastguard Worker // this event. 688*d5c09012SAndroid Build Coastguard Worker string user_ip_address = 4 [ 689*d5c09012SAndroid Build Coastguard Worker (google.api.field_info).format = IPV4_OR_IPV6, 690*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OPTIONAL 691*d5c09012SAndroid Build Coastguard Worker ]; 692*d5c09012SAndroid Build Coastguard Worker 693*d5c09012SAndroid Build Coastguard Worker // Optional. The expected action for this type of event. This should be the 694*d5c09012SAndroid Build Coastguard Worker // same action provided at token generation time on client-side platforms 695*d5c09012SAndroid Build Coastguard Worker // already integrated with recaptcha enterprise. 696*d5c09012SAndroid Build Coastguard Worker string expected_action = 5 [(google.api.field_behavior) = OPTIONAL]; 697*d5c09012SAndroid Build Coastguard Worker 698*d5c09012SAndroid Build Coastguard Worker // Optional. Deprecated: use `user_info.account_id` instead. 699*d5c09012SAndroid Build Coastguard Worker // Unique stable hashed user identifier for the request. The identifier must 700*d5c09012SAndroid Build Coastguard Worker // be hashed using hmac-sha256 with stable secret. 701*d5c09012SAndroid Build Coastguard Worker bytes hashed_account_id = 6 702*d5c09012SAndroid Build Coastguard Worker [deprecated = true, (google.api.field_behavior) = OPTIONAL]; 703*d5c09012SAndroid Build Coastguard Worker 704*d5c09012SAndroid Build Coastguard Worker // Optional. Flag for a reCAPTCHA express request for an assessment without a 705*d5c09012SAndroid Build Coastguard Worker // token. If enabled, `site_key` must reference a SCORE key with WAF feature 706*d5c09012SAndroid Build Coastguard Worker // set to EXPRESS. 707*d5c09012SAndroid Build Coastguard Worker bool express = 14 [(google.api.field_behavior) = OPTIONAL]; 708*d5c09012SAndroid Build Coastguard Worker 709*d5c09012SAndroid Build Coastguard Worker // Optional. The URI resource the user requested that triggered an assessment. 710*d5c09012SAndroid Build Coastguard Worker string requested_uri = 8 [(google.api.field_behavior) = OPTIONAL]; 711*d5c09012SAndroid Build Coastguard Worker 712*d5c09012SAndroid Build Coastguard Worker // Optional. Flag for running WAF token assessment. 713*d5c09012SAndroid Build Coastguard Worker // If enabled, the token must be specified, and have been created by a 714*d5c09012SAndroid Build Coastguard Worker // WAF-enabled key. 715*d5c09012SAndroid Build Coastguard Worker bool waf_token_assessment = 9 [(google.api.field_behavior) = OPTIONAL]; 716*d5c09012SAndroid Build Coastguard Worker 717*d5c09012SAndroid Build Coastguard Worker // Optional. JA3 fingerprint for SSL clients. 718*d5c09012SAndroid Build Coastguard Worker string ja3 = 10 [(google.api.field_behavior) = OPTIONAL]; 719*d5c09012SAndroid Build Coastguard Worker 720*d5c09012SAndroid Build Coastguard Worker // Optional. HTTP header information about the request. 721*d5c09012SAndroid Build Coastguard Worker repeated string headers = 11 [(google.api.field_behavior) = OPTIONAL]; 722*d5c09012SAndroid Build Coastguard Worker 723*d5c09012SAndroid Build Coastguard Worker // Optional. Flag for enabling firewall policy config assessment. 724*d5c09012SAndroid Build Coastguard Worker // If this flag is enabled, the firewall policy will be evaluated and a 725*d5c09012SAndroid Build Coastguard Worker // suggested firewall action will be returned in the response. 726*d5c09012SAndroid Build Coastguard Worker bool firewall_policy_evaluation = 12 [(google.api.field_behavior) = OPTIONAL]; 727*d5c09012SAndroid Build Coastguard Worker 728*d5c09012SAndroid Build Coastguard Worker // Optional. Data describing a payment transaction to be assessed. Sending 729*d5c09012SAndroid Build Coastguard Worker // this data enables reCAPTCHA Enterprise Fraud Prevention and the 730*d5c09012SAndroid Build Coastguard Worker // FraudPreventionAssessment component in the response. 731*d5c09012SAndroid Build Coastguard Worker TransactionData transaction_data = 13 732*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 733*d5c09012SAndroid Build Coastguard Worker 734*d5c09012SAndroid Build Coastguard Worker // Optional. Information about the user that generates this event, when they 735*d5c09012SAndroid Build Coastguard Worker // can be identified. They are often identified through the use of an account 736*d5c09012SAndroid Build Coastguard Worker // for logged-in requests or login/registration requests, or by providing user 737*d5c09012SAndroid Build Coastguard Worker // identifiers for guest actions like checkout. 738*d5c09012SAndroid Build Coastguard Worker UserInfo user_info = 15 [(google.api.field_behavior) = OPTIONAL]; 739*d5c09012SAndroid Build Coastguard Worker 740*d5c09012SAndroid Build Coastguard Worker // Optional. The Fraud Prevention setting for this assessment. 741*d5c09012SAndroid Build Coastguard Worker FraudPrevention fraud_prevention = 17 742*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 743*d5c09012SAndroid Build Coastguard Worker} 744*d5c09012SAndroid Build Coastguard Worker 745*d5c09012SAndroid Build Coastguard Worker// Transaction data associated with a payment protected by reCAPTCHA Enterprise. 746*d5c09012SAndroid Build Coastguard Workermessage TransactionData { 747*d5c09012SAndroid Build Coastguard Worker // Structured address format for billing and shipping addresses. 748*d5c09012SAndroid Build Coastguard Worker message Address { 749*d5c09012SAndroid Build Coastguard Worker // Optional. The recipient name, potentially including information such as 750*d5c09012SAndroid Build Coastguard Worker // "care of". 751*d5c09012SAndroid Build Coastguard Worker string recipient = 1 [(google.api.field_behavior) = OPTIONAL]; 752*d5c09012SAndroid Build Coastguard Worker 753*d5c09012SAndroid Build Coastguard Worker // Optional. The first lines of the address. The first line generally 754*d5c09012SAndroid Build Coastguard Worker // contains the street name and number, and further lines may include 755*d5c09012SAndroid Build Coastguard Worker // information such as an apartment number. 756*d5c09012SAndroid Build Coastguard Worker repeated string address = 2 [(google.api.field_behavior) = OPTIONAL]; 757*d5c09012SAndroid Build Coastguard Worker 758*d5c09012SAndroid Build Coastguard Worker // Optional. The town/city of the address. 759*d5c09012SAndroid Build Coastguard Worker string locality = 3 [(google.api.field_behavior) = OPTIONAL]; 760*d5c09012SAndroid Build Coastguard Worker 761*d5c09012SAndroid Build Coastguard Worker // Optional. The state, province, or otherwise administrative area of the 762*d5c09012SAndroid Build Coastguard Worker // address. 763*d5c09012SAndroid Build Coastguard Worker string administrative_area = 4 [(google.api.field_behavior) = OPTIONAL]; 764*d5c09012SAndroid Build Coastguard Worker 765*d5c09012SAndroid Build Coastguard Worker // Optional. The CLDR country/region of the address. 766*d5c09012SAndroid Build Coastguard Worker string region_code = 5 [(google.api.field_behavior) = OPTIONAL]; 767*d5c09012SAndroid Build Coastguard Worker 768*d5c09012SAndroid Build Coastguard Worker // Optional. The postal or ZIP code of the address. 769*d5c09012SAndroid Build Coastguard Worker string postal_code = 6 [(google.api.field_behavior) = OPTIONAL]; 770*d5c09012SAndroid Build Coastguard Worker } 771*d5c09012SAndroid Build Coastguard Worker 772*d5c09012SAndroid Build Coastguard Worker // Details about a user's account involved in the transaction. 773*d5c09012SAndroid Build Coastguard Worker message User { 774*d5c09012SAndroid Build Coastguard Worker // Optional. Unique account identifier for this user. If using account 775*d5c09012SAndroid Build Coastguard Worker // defender, this should match the hashed_account_id field. Otherwise, a 776*d5c09012SAndroid Build Coastguard Worker // unique and persistent identifier for this account. 777*d5c09012SAndroid Build Coastguard Worker string account_id = 6 [(google.api.field_behavior) = OPTIONAL]; 778*d5c09012SAndroid Build Coastguard Worker 779*d5c09012SAndroid Build Coastguard Worker // Optional. The epoch milliseconds of the user's account creation. 780*d5c09012SAndroid Build Coastguard Worker int64 creation_ms = 1 [(google.api.field_behavior) = OPTIONAL]; 781*d5c09012SAndroid Build Coastguard Worker 782*d5c09012SAndroid Build Coastguard Worker // Optional. The email address of the user. 783*d5c09012SAndroid Build Coastguard Worker string email = 2 [(google.api.field_behavior) = OPTIONAL]; 784*d5c09012SAndroid Build Coastguard Worker 785*d5c09012SAndroid Build Coastguard Worker // Optional. Whether the email has been verified to be accessible by the 786*d5c09012SAndroid Build Coastguard Worker // user (OTP or similar). 787*d5c09012SAndroid Build Coastguard Worker bool email_verified = 3 [(google.api.field_behavior) = OPTIONAL]; 788*d5c09012SAndroid Build Coastguard Worker 789*d5c09012SAndroid Build Coastguard Worker // Optional. The phone number of the user, with country code. 790*d5c09012SAndroid Build Coastguard Worker string phone_number = 4 [(google.api.field_behavior) = OPTIONAL]; 791*d5c09012SAndroid Build Coastguard Worker 792*d5c09012SAndroid Build Coastguard Worker // Optional. Whether the phone number has been verified to be accessible by 793*d5c09012SAndroid Build Coastguard Worker // the user (OTP or similar). 794*d5c09012SAndroid Build Coastguard Worker bool phone_verified = 5 [(google.api.field_behavior) = OPTIONAL]; 795*d5c09012SAndroid Build Coastguard Worker } 796*d5c09012SAndroid Build Coastguard Worker 797*d5c09012SAndroid Build Coastguard Worker // Line items being purchased in this transaction. 798*d5c09012SAndroid Build Coastguard Worker message Item { 799*d5c09012SAndroid Build Coastguard Worker // Optional. The full name of the item. 800*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OPTIONAL]; 801*d5c09012SAndroid Build Coastguard Worker 802*d5c09012SAndroid Build Coastguard Worker // Optional. The value per item that the user is paying, in the transaction 803*d5c09012SAndroid Build Coastguard Worker // currency, after discounts. 804*d5c09012SAndroid Build Coastguard Worker double value = 2 [(google.api.field_behavior) = OPTIONAL]; 805*d5c09012SAndroid Build Coastguard Worker 806*d5c09012SAndroid Build Coastguard Worker // Optional. The quantity of this item that is being purchased. 807*d5c09012SAndroid Build Coastguard Worker int64 quantity = 3 [(google.api.field_behavior) = OPTIONAL]; 808*d5c09012SAndroid Build Coastguard Worker 809*d5c09012SAndroid Build Coastguard Worker // Optional. When a merchant is specified, its corresponding account_id. 810*d5c09012SAndroid Build Coastguard Worker // Necessary to populate marketplace-style transactions. 811*d5c09012SAndroid Build Coastguard Worker string merchant_account_id = 4 [(google.api.field_behavior) = OPTIONAL]; 812*d5c09012SAndroid Build Coastguard Worker } 813*d5c09012SAndroid Build Coastguard Worker 814*d5c09012SAndroid Build Coastguard Worker // Details about the transaction from the gateway. 815*d5c09012SAndroid Build Coastguard Worker message GatewayInfo { 816*d5c09012SAndroid Build Coastguard Worker // Optional. Name of the gateway service (for example, stripe, square, 817*d5c09012SAndroid Build Coastguard Worker // paypal). 818*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OPTIONAL]; 819*d5c09012SAndroid Build Coastguard Worker 820*d5c09012SAndroid Build Coastguard Worker // Optional. Gateway response code describing the state of the transaction. 821*d5c09012SAndroid Build Coastguard Worker string gateway_response_code = 2 [(google.api.field_behavior) = OPTIONAL]; 822*d5c09012SAndroid Build Coastguard Worker 823*d5c09012SAndroid Build Coastguard Worker // Optional. AVS response code from the gateway 824*d5c09012SAndroid Build Coastguard Worker // (available only when reCAPTCHA Enterprise is called after authorization). 825*d5c09012SAndroid Build Coastguard Worker string avs_response_code = 3 [(google.api.field_behavior) = OPTIONAL]; 826*d5c09012SAndroid Build Coastguard Worker 827*d5c09012SAndroid Build Coastguard Worker // Optional. CVV response code from the gateway 828*d5c09012SAndroid Build Coastguard Worker // (available only when reCAPTCHA Enterprise is called after authorization). 829*d5c09012SAndroid Build Coastguard Worker string cvv_response_code = 4 [(google.api.field_behavior) = OPTIONAL]; 830*d5c09012SAndroid Build Coastguard Worker } 831*d5c09012SAndroid Build Coastguard Worker 832*d5c09012SAndroid Build Coastguard Worker // Unique identifier for the transaction. This custom identifier can be used 833*d5c09012SAndroid Build Coastguard Worker // to reference this transaction in the future, for example, labeling a refund 834*d5c09012SAndroid Build Coastguard Worker // or chargeback event. Two attempts at the same transaction should use the 835*d5c09012SAndroid Build Coastguard Worker // same transaction id. 836*d5c09012SAndroid Build Coastguard Worker optional string transaction_id = 11; 837*d5c09012SAndroid Build Coastguard Worker 838*d5c09012SAndroid Build Coastguard Worker // Optional. The payment method for the transaction. The allowed values are: 839*d5c09012SAndroid Build Coastguard Worker // 840*d5c09012SAndroid Build Coastguard Worker // * credit-card 841*d5c09012SAndroid Build Coastguard Worker // * debit-card 842*d5c09012SAndroid Build Coastguard Worker // * gift-card 843*d5c09012SAndroid Build Coastguard Worker // * processor-{name} (If a third-party is used, for example, 844*d5c09012SAndroid Build Coastguard Worker // processor-paypal) 845*d5c09012SAndroid Build Coastguard Worker // * custom-{name} (If an alternative method is used, for example, 846*d5c09012SAndroid Build Coastguard Worker // custom-crypto) 847*d5c09012SAndroid Build Coastguard Worker string payment_method = 1 [(google.api.field_behavior) = OPTIONAL]; 848*d5c09012SAndroid Build Coastguard Worker 849*d5c09012SAndroid Build Coastguard Worker // Optional. The Bank Identification Number - generally the first 6 or 8 850*d5c09012SAndroid Build Coastguard Worker // digits of the card. 851*d5c09012SAndroid Build Coastguard Worker string card_bin = 2 [(google.api.field_behavior) = OPTIONAL]; 852*d5c09012SAndroid Build Coastguard Worker 853*d5c09012SAndroid Build Coastguard Worker // Optional. The last four digits of the card. 854*d5c09012SAndroid Build Coastguard Worker string card_last_four = 3 [(google.api.field_behavior) = OPTIONAL]; 855*d5c09012SAndroid Build Coastguard Worker 856*d5c09012SAndroid Build Coastguard Worker // Optional. The currency code in ISO-4217 format. 857*d5c09012SAndroid Build Coastguard Worker string currency_code = 4 [(google.api.field_behavior) = OPTIONAL]; 858*d5c09012SAndroid Build Coastguard Worker 859*d5c09012SAndroid Build Coastguard Worker // Optional. The decimal value of the transaction in the specified currency. 860*d5c09012SAndroid Build Coastguard Worker double value = 5 [(google.api.field_behavior) = OPTIONAL]; 861*d5c09012SAndroid Build Coastguard Worker 862*d5c09012SAndroid Build Coastguard Worker // Optional. The value of shipping in the specified currency. 0 for free or no 863*d5c09012SAndroid Build Coastguard Worker // shipping. 864*d5c09012SAndroid Build Coastguard Worker double shipping_value = 12 [(google.api.field_behavior) = OPTIONAL]; 865*d5c09012SAndroid Build Coastguard Worker 866*d5c09012SAndroid Build Coastguard Worker // Optional. Destination address if this transaction involves shipping a 867*d5c09012SAndroid Build Coastguard Worker // physical item. 868*d5c09012SAndroid Build Coastguard Worker Address shipping_address = 6 [(google.api.field_behavior) = OPTIONAL]; 869*d5c09012SAndroid Build Coastguard Worker 870*d5c09012SAndroid Build Coastguard Worker // Optional. Address associated with the payment method when applicable. 871*d5c09012SAndroid Build Coastguard Worker Address billing_address = 7 [(google.api.field_behavior) = OPTIONAL]; 872*d5c09012SAndroid Build Coastguard Worker 873*d5c09012SAndroid Build Coastguard Worker // Optional. Information about the user paying/initiating the transaction. 874*d5c09012SAndroid Build Coastguard Worker User user = 8 [(google.api.field_behavior) = OPTIONAL]; 875*d5c09012SAndroid Build Coastguard Worker 876*d5c09012SAndroid Build Coastguard Worker // Optional. Information about the user or users fulfilling the transaction. 877*d5c09012SAndroid Build Coastguard Worker repeated User merchants = 13 [(google.api.field_behavior) = OPTIONAL]; 878*d5c09012SAndroid Build Coastguard Worker 879*d5c09012SAndroid Build Coastguard Worker // Optional. Items purchased in this transaction. 880*d5c09012SAndroid Build Coastguard Worker repeated Item items = 14 [(google.api.field_behavior) = OPTIONAL]; 881*d5c09012SAndroid Build Coastguard Worker 882*d5c09012SAndroid Build Coastguard Worker // Optional. Information about the payment gateway's response to the 883*d5c09012SAndroid Build Coastguard Worker // transaction. 884*d5c09012SAndroid Build Coastguard Worker GatewayInfo gateway_info = 10 [(google.api.field_behavior) = OPTIONAL]; 885*d5c09012SAndroid Build Coastguard Worker} 886*d5c09012SAndroid Build Coastguard Worker 887*d5c09012SAndroid Build Coastguard Worker// User information associated with a request protected by reCAPTCHA Enterprise. 888*d5c09012SAndroid Build Coastguard Workermessage UserInfo { 889*d5c09012SAndroid Build Coastguard Worker // Optional. Creation time for this account associated with this user. Leave 890*d5c09012SAndroid Build Coastguard Worker // blank for non logged-in actions, guest checkout, or when there is no 891*d5c09012SAndroid Build Coastguard Worker // account associated with the current user. 892*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_account_time = 1 893*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 894*d5c09012SAndroid Build Coastguard Worker 895*d5c09012SAndroid Build Coastguard Worker // Optional. For logged-in requests or login/registration requests, the unique 896*d5c09012SAndroid Build Coastguard Worker // account identifier associated with this user. You can use the username if 897*d5c09012SAndroid Build Coastguard Worker // it is stable (meaning it is the same for every request associated with the 898*d5c09012SAndroid Build Coastguard Worker // same user), or any stable user ID of your choice. Leave blank for non 899*d5c09012SAndroid Build Coastguard Worker // logged-in actions or guest checkout. 900*d5c09012SAndroid Build Coastguard Worker string account_id = 2 [(google.api.field_behavior) = OPTIONAL]; 901*d5c09012SAndroid Build Coastguard Worker 902*d5c09012SAndroid Build Coastguard Worker // Optional. Identifiers associated with this user or request. 903*d5c09012SAndroid Build Coastguard Worker repeated UserId user_ids = 3 [(google.api.field_behavior) = OPTIONAL]; 904*d5c09012SAndroid Build Coastguard Worker} 905*d5c09012SAndroid Build Coastguard Worker 906*d5c09012SAndroid Build Coastguard Worker// An identifier associated with a user. 907*d5c09012SAndroid Build Coastguard Workermessage UserId { 908*d5c09012SAndroid Build Coastguard Worker oneof id_oneof { 909*d5c09012SAndroid Build Coastguard Worker // Optional. An email address. 910*d5c09012SAndroid Build Coastguard Worker string email = 1 [(google.api.field_behavior) = OPTIONAL]; 911*d5c09012SAndroid Build Coastguard Worker 912*d5c09012SAndroid Build Coastguard Worker // Optional. A phone number. Should use the E.164 format. 913*d5c09012SAndroid Build Coastguard Worker string phone_number = 2 [(google.api.field_behavior) = OPTIONAL]; 914*d5c09012SAndroid Build Coastguard Worker 915*d5c09012SAndroid Build Coastguard Worker // Optional. A unique username, if different from all the other identifiers 916*d5c09012SAndroid Build Coastguard Worker // and `account_id` that are provided. Can be a unique login handle or 917*d5c09012SAndroid Build Coastguard Worker // display name for a user. 918*d5c09012SAndroid Build Coastguard Worker string username = 3 [(google.api.field_behavior) = OPTIONAL]; 919*d5c09012SAndroid Build Coastguard Worker } 920*d5c09012SAndroid Build Coastguard Worker} 921*d5c09012SAndroid Build Coastguard Worker 922*d5c09012SAndroid Build Coastguard Worker// Risk analysis result for an event. 923*d5c09012SAndroid Build Coastguard Workermessage RiskAnalysis { 924*d5c09012SAndroid Build Coastguard Worker // Reasons contributing to the risk analysis verdict. 925*d5c09012SAndroid Build Coastguard Worker enum ClassificationReason { 926*d5c09012SAndroid Build Coastguard Worker // Default unspecified type. 927*d5c09012SAndroid Build Coastguard Worker CLASSIFICATION_REASON_UNSPECIFIED = 0; 928*d5c09012SAndroid Build Coastguard Worker 929*d5c09012SAndroid Build Coastguard Worker // Interactions matched the behavior of an automated agent. 930*d5c09012SAndroid Build Coastguard Worker AUTOMATION = 1; 931*d5c09012SAndroid Build Coastguard Worker 932*d5c09012SAndroid Build Coastguard Worker // The event originated from an illegitimate environment. 933*d5c09012SAndroid Build Coastguard Worker UNEXPECTED_ENVIRONMENT = 2; 934*d5c09012SAndroid Build Coastguard Worker 935*d5c09012SAndroid Build Coastguard Worker // Traffic volume from the event source is higher than normal. 936*d5c09012SAndroid Build Coastguard Worker TOO_MUCH_TRAFFIC = 3; 937*d5c09012SAndroid Build Coastguard Worker 938*d5c09012SAndroid Build Coastguard Worker // Interactions with the site were significantly different than expected 939*d5c09012SAndroid Build Coastguard Worker // patterns. 940*d5c09012SAndroid Build Coastguard Worker UNEXPECTED_USAGE_PATTERNS = 4; 941*d5c09012SAndroid Build Coastguard Worker 942*d5c09012SAndroid Build Coastguard Worker // Too little traffic has been received from this site thus far to generate 943*d5c09012SAndroid Build Coastguard Worker // quality risk analysis. 944*d5c09012SAndroid Build Coastguard Worker LOW_CONFIDENCE_SCORE = 5; 945*d5c09012SAndroid Build Coastguard Worker 946*d5c09012SAndroid Build Coastguard Worker // The request matches behavioral characteristics of a carding attack. 947*d5c09012SAndroid Build Coastguard Worker SUSPECTED_CARDING = 6; 948*d5c09012SAndroid Build Coastguard Worker 949*d5c09012SAndroid Build Coastguard Worker // The request matches behavioral characteristics of chargebacks for fraud. 950*d5c09012SAndroid Build Coastguard Worker SUSPECTED_CHARGEBACK = 7; 951*d5c09012SAndroid Build Coastguard Worker } 952*d5c09012SAndroid Build Coastguard Worker 953*d5c09012SAndroid Build Coastguard Worker // Output only. Legitimate event score from 0.0 to 1.0. 954*d5c09012SAndroid Build Coastguard Worker // (1.0 means very likely legitimate traffic while 0.0 means very likely 955*d5c09012SAndroid Build Coastguard Worker // non-legitimate traffic). 956*d5c09012SAndroid Build Coastguard Worker float score = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 957*d5c09012SAndroid Build Coastguard Worker 958*d5c09012SAndroid Build Coastguard Worker // Output only. Reasons contributing to the risk analysis verdict. 959*d5c09012SAndroid Build Coastguard Worker repeated ClassificationReason reasons = 2 960*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 961*d5c09012SAndroid Build Coastguard Worker 962*d5c09012SAndroid Build Coastguard Worker // Output only. Extended verdict reasons to be used for experimentation only. 963*d5c09012SAndroid Build Coastguard Worker // The set of possible reasons is subject to change. 964*d5c09012SAndroid Build Coastguard Worker repeated string extended_verdict_reasons = 3 965*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 966*d5c09012SAndroid Build Coastguard Worker} 967*d5c09012SAndroid Build Coastguard Worker 968*d5c09012SAndroid Build Coastguard Worker// Properties of the provided event token. 969*d5c09012SAndroid Build Coastguard Workermessage TokenProperties { 970*d5c09012SAndroid Build Coastguard Worker // Enum that represents the types of invalid token reasons. 971*d5c09012SAndroid Build Coastguard Worker enum InvalidReason { 972*d5c09012SAndroid Build Coastguard Worker // Default unspecified type. 973*d5c09012SAndroid Build Coastguard Worker INVALID_REASON_UNSPECIFIED = 0; 974*d5c09012SAndroid Build Coastguard Worker 975*d5c09012SAndroid Build Coastguard Worker // If the failure reason was not accounted for. 976*d5c09012SAndroid Build Coastguard Worker UNKNOWN_INVALID_REASON = 1; 977*d5c09012SAndroid Build Coastguard Worker 978*d5c09012SAndroid Build Coastguard Worker // The provided user verification token was malformed. 979*d5c09012SAndroid Build Coastguard Worker MALFORMED = 2; 980*d5c09012SAndroid Build Coastguard Worker 981*d5c09012SAndroid Build Coastguard Worker // The user verification token had expired. 982*d5c09012SAndroid Build Coastguard Worker EXPIRED = 3; 983*d5c09012SAndroid Build Coastguard Worker 984*d5c09012SAndroid Build Coastguard Worker // The user verification had already been seen. 985*d5c09012SAndroid Build Coastguard Worker DUPE = 4; 986*d5c09012SAndroid Build Coastguard Worker 987*d5c09012SAndroid Build Coastguard Worker // The user verification token was not present. 988*d5c09012SAndroid Build Coastguard Worker MISSING = 5; 989*d5c09012SAndroid Build Coastguard Worker 990*d5c09012SAndroid Build Coastguard Worker // A retriable error (such as network failure) occurred on the browser. 991*d5c09012SAndroid Build Coastguard Worker // Could easily be simulated by an attacker. 992*d5c09012SAndroid Build Coastguard Worker BROWSER_ERROR = 6; 993*d5c09012SAndroid Build Coastguard Worker } 994*d5c09012SAndroid Build Coastguard Worker 995*d5c09012SAndroid Build Coastguard Worker // Output only. Whether the provided user response token is valid. When valid 996*d5c09012SAndroid Build Coastguard Worker // = false, the reason could be specified in invalid_reason or it could also 997*d5c09012SAndroid Build Coastguard Worker // be due to a user failing to solve a challenge or a sitekey mismatch (i.e 998*d5c09012SAndroid Build Coastguard Worker // the sitekey used to generate the token was different than the one specified 999*d5c09012SAndroid Build Coastguard Worker // in the assessment). 1000*d5c09012SAndroid Build Coastguard Worker bool valid = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1001*d5c09012SAndroid Build Coastguard Worker 1002*d5c09012SAndroid Build Coastguard Worker // Output only. Reason associated with the response when valid = false. 1003*d5c09012SAndroid Build Coastguard Worker InvalidReason invalid_reason = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 1004*d5c09012SAndroid Build Coastguard Worker 1005*d5c09012SAndroid Build Coastguard Worker // Output only. The timestamp corresponding to the generation of the token. 1006*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 3 1007*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1008*d5c09012SAndroid Build Coastguard Worker 1009*d5c09012SAndroid Build Coastguard Worker // Output only. The hostname of the page on which the token was generated (Web 1010*d5c09012SAndroid Build Coastguard Worker // keys only). 1011*d5c09012SAndroid Build Coastguard Worker string hostname = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 1012*d5c09012SAndroid Build Coastguard Worker 1013*d5c09012SAndroid Build Coastguard Worker // Output only. The name of the Android package with which the token was 1014*d5c09012SAndroid Build Coastguard Worker // generated (Android keys only). 1015*d5c09012SAndroid Build Coastguard Worker string android_package_name = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; 1016*d5c09012SAndroid Build Coastguard Worker 1017*d5c09012SAndroid Build Coastguard Worker // Output only. The ID of the iOS bundle with which the token was generated 1018*d5c09012SAndroid Build Coastguard Worker // (iOS keys only). 1019*d5c09012SAndroid Build Coastguard Worker string ios_bundle_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 1020*d5c09012SAndroid Build Coastguard Worker 1021*d5c09012SAndroid Build Coastguard Worker // Output only. Action name provided at token generation. 1022*d5c09012SAndroid Build Coastguard Worker string action = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 1023*d5c09012SAndroid Build Coastguard Worker} 1024*d5c09012SAndroid Build Coastguard Worker 1025*d5c09012SAndroid Build Coastguard Worker// Assessment for Fraud Prevention. 1026*d5c09012SAndroid Build Coastguard Workermessage FraudPreventionAssessment { 1027*d5c09012SAndroid Build Coastguard Worker // Information about stolen instrument fraud, where the user is not the 1028*d5c09012SAndroid Build Coastguard Worker // legitimate owner of the instrument being used for the purchase. 1029*d5c09012SAndroid Build Coastguard Worker message StolenInstrumentVerdict { 1030*d5c09012SAndroid Build Coastguard Worker // Output only. Probability of this transaction being executed with a stolen 1031*d5c09012SAndroid Build Coastguard Worker // instrument. Values are from 0.0 (lowest) to 1.0 (highest). 1032*d5c09012SAndroid Build Coastguard Worker float risk = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1033*d5c09012SAndroid Build Coastguard Worker } 1034*d5c09012SAndroid Build Coastguard Worker 1035*d5c09012SAndroid Build Coastguard Worker // Information about card testing fraud, where an adversary is testing 1036*d5c09012SAndroid Build Coastguard Worker // fraudulently obtained cards or brute forcing their details. 1037*d5c09012SAndroid Build Coastguard Worker message CardTestingVerdict { 1038*d5c09012SAndroid Build Coastguard Worker // Output only. Probability of this transaction attempt being part of a card 1039*d5c09012SAndroid Build Coastguard Worker // testing attack. Values are from 0.0 (lowest) to 1.0 (highest). 1040*d5c09012SAndroid Build Coastguard Worker float risk = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1041*d5c09012SAndroid Build Coastguard Worker } 1042*d5c09012SAndroid Build Coastguard Worker 1043*d5c09012SAndroid Build Coastguard Worker // Information about behavioral trust of the transaction. 1044*d5c09012SAndroid Build Coastguard Worker message BehavioralTrustVerdict { 1045*d5c09012SAndroid Build Coastguard Worker // Output only. Probability of this transaction attempt being executed in a 1046*d5c09012SAndroid Build Coastguard Worker // behaviorally trustworthy way. Values are from 0.0 (lowest) to 1.0 1047*d5c09012SAndroid Build Coastguard Worker // (highest). 1048*d5c09012SAndroid Build Coastguard Worker float trust = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1049*d5c09012SAndroid Build Coastguard Worker } 1050*d5c09012SAndroid Build Coastguard Worker 1051*d5c09012SAndroid Build Coastguard Worker // Output only. Probability of this transaction being fraudulent. Summarizes 1052*d5c09012SAndroid Build Coastguard Worker // the combined risk of attack vectors below. Values are from 0.0 (lowest) 1053*d5c09012SAndroid Build Coastguard Worker // to 1.0 (highest). 1054*d5c09012SAndroid Build Coastguard Worker float transaction_risk = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1055*d5c09012SAndroid Build Coastguard Worker 1056*d5c09012SAndroid Build Coastguard Worker // Output only. Assessment of this transaction for risk of a stolen 1057*d5c09012SAndroid Build Coastguard Worker // instrument. 1058*d5c09012SAndroid Build Coastguard Worker StolenInstrumentVerdict stolen_instrument_verdict = 2 1059*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1060*d5c09012SAndroid Build Coastguard Worker 1061*d5c09012SAndroid Build Coastguard Worker // Output only. Assessment of this transaction for risk of being part of a 1062*d5c09012SAndroid Build Coastguard Worker // card testing attack. 1063*d5c09012SAndroid Build Coastguard Worker CardTestingVerdict card_testing_verdict = 3 1064*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1065*d5c09012SAndroid Build Coastguard Worker 1066*d5c09012SAndroid Build Coastguard Worker // Output only. Assessment of this transaction for behavioral trust. 1067*d5c09012SAndroid Build Coastguard Worker BehavioralTrustVerdict behavioral_trust_verdict = 4 1068*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1069*d5c09012SAndroid Build Coastguard Worker} 1070*d5c09012SAndroid Build Coastguard Worker 1071*d5c09012SAndroid Build Coastguard Worker// Fraud signals describing users and cards involved in the transaction. 1072*d5c09012SAndroid Build Coastguard Workermessage FraudSignals { 1073*d5c09012SAndroid Build Coastguard Worker // Signals describing the user involved in this transaction. 1074*d5c09012SAndroid Build Coastguard Worker message UserSignals { 1075*d5c09012SAndroid Build Coastguard Worker // Output only. This user (based on email, phone, and other identifiers) has 1076*d5c09012SAndroid Build Coastguard Worker // been seen on the internet for at least this number of days. 1077*d5c09012SAndroid Build Coastguard Worker int32 active_days_lower_bound = 1 1078*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1079*d5c09012SAndroid Build Coastguard Worker 1080*d5c09012SAndroid Build Coastguard Worker // Output only. Likelihood (from 0.0 to 1.0) this user includes synthetic 1081*d5c09012SAndroid Build Coastguard Worker // components in their identity, such as a randomly generated email address, 1082*d5c09012SAndroid Build Coastguard Worker // temporary phone number, or fake shipping address. 1083*d5c09012SAndroid Build Coastguard Worker float synthetic_risk = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 1084*d5c09012SAndroid Build Coastguard Worker } 1085*d5c09012SAndroid Build Coastguard Worker 1086*d5c09012SAndroid Build Coastguard Worker // Signals describing the payment card used in this transaction. 1087*d5c09012SAndroid Build Coastguard Worker message CardSignals { 1088*d5c09012SAndroid Build Coastguard Worker // Risk labels describing the card being assessed, such as its funding 1089*d5c09012SAndroid Build Coastguard Worker // mechanism. 1090*d5c09012SAndroid Build Coastguard Worker enum CardLabel { 1091*d5c09012SAndroid Build Coastguard Worker // No label specified. 1092*d5c09012SAndroid Build Coastguard Worker CARD_LABEL_UNSPECIFIED = 0; 1093*d5c09012SAndroid Build Coastguard Worker 1094*d5c09012SAndroid Build Coastguard Worker // This card has been detected as prepaid. 1095*d5c09012SAndroid Build Coastguard Worker PREPAID = 1; 1096*d5c09012SAndroid Build Coastguard Worker 1097*d5c09012SAndroid Build Coastguard Worker // This card has been detected as virtual, such as a card number generated 1098*d5c09012SAndroid Build Coastguard Worker // for a single transaction or merchant. 1099*d5c09012SAndroid Build Coastguard Worker VIRTUAL = 2; 1100*d5c09012SAndroid Build Coastguard Worker 1101*d5c09012SAndroid Build Coastguard Worker // This card has been detected as being used in an unexpected geographic 1102*d5c09012SAndroid Build Coastguard Worker // location. 1103*d5c09012SAndroid Build Coastguard Worker UNEXPECTED_LOCATION = 3; 1104*d5c09012SAndroid Build Coastguard Worker } 1105*d5c09012SAndroid Build Coastguard Worker 1106*d5c09012SAndroid Build Coastguard Worker // Output only. The labels for the payment card in this transaction. 1107*d5c09012SAndroid Build Coastguard Worker repeated CardLabel card_labels = 1 1108*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1109*d5c09012SAndroid Build Coastguard Worker } 1110*d5c09012SAndroid Build Coastguard Worker 1111*d5c09012SAndroid Build Coastguard Worker // Output only. Signals describing the end user in this transaction. 1112*d5c09012SAndroid Build Coastguard Worker UserSignals user_signals = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1113*d5c09012SAndroid Build Coastguard Worker 1114*d5c09012SAndroid Build Coastguard Worker // Output only. Signals describing the payment card or cards used in this 1115*d5c09012SAndroid Build Coastguard Worker // transaction. 1116*d5c09012SAndroid Build Coastguard Worker CardSignals card_signals = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 1117*d5c09012SAndroid Build Coastguard Worker} 1118*d5c09012SAndroid Build Coastguard Worker 1119*d5c09012SAndroid Build Coastguard Worker// Account defender risk assessment. 1120*d5c09012SAndroid Build Coastguard Workermessage AccountDefenderAssessment { 1121*d5c09012SAndroid Build Coastguard Worker // Labels returned by account defender for this request. 1122*d5c09012SAndroid Build Coastguard Worker enum AccountDefenderLabel { 1123*d5c09012SAndroid Build Coastguard Worker // Default unspecified type. 1124*d5c09012SAndroid Build Coastguard Worker ACCOUNT_DEFENDER_LABEL_UNSPECIFIED = 0; 1125*d5c09012SAndroid Build Coastguard Worker 1126*d5c09012SAndroid Build Coastguard Worker // The request matches a known good profile for the user. 1127*d5c09012SAndroid Build Coastguard Worker PROFILE_MATCH = 1; 1128*d5c09012SAndroid Build Coastguard Worker 1129*d5c09012SAndroid Build Coastguard Worker // The request is potentially a suspicious login event and must be further 1130*d5c09012SAndroid Build Coastguard Worker // verified either through multi-factor authentication or another system. 1131*d5c09012SAndroid Build Coastguard Worker SUSPICIOUS_LOGIN_ACTIVITY = 2; 1132*d5c09012SAndroid Build Coastguard Worker 1133*d5c09012SAndroid Build Coastguard Worker // The request matched a profile that previously had suspicious account 1134*d5c09012SAndroid Build Coastguard Worker // creation behavior. This can mean that this is a fake account. 1135*d5c09012SAndroid Build Coastguard Worker SUSPICIOUS_ACCOUNT_CREATION = 3; 1136*d5c09012SAndroid Build Coastguard Worker 1137*d5c09012SAndroid Build Coastguard Worker // The account in the request has a high number of related accounts. It does 1138*d5c09012SAndroid Build Coastguard Worker // not necessarily imply that the account is bad but can require further 1139*d5c09012SAndroid Build Coastguard Worker // investigation. 1140*d5c09012SAndroid Build Coastguard Worker RELATED_ACCOUNTS_NUMBER_HIGH = 4; 1141*d5c09012SAndroid Build Coastguard Worker } 1142*d5c09012SAndroid Build Coastguard Worker 1143*d5c09012SAndroid Build Coastguard Worker // Output only. Labels for this request. 1144*d5c09012SAndroid Build Coastguard Worker repeated AccountDefenderLabel labels = 1 1145*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1146*d5c09012SAndroid Build Coastguard Worker} 1147*d5c09012SAndroid Build Coastguard Worker 1148*d5c09012SAndroid Build Coastguard Worker// The create key request message. 1149*d5c09012SAndroid Build Coastguard Workermessage CreateKeyRequest { 1150*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project in which the key will be created, in the 1151*d5c09012SAndroid Build Coastguard Worker // format `projects/{project}`. 1152*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 1153*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1154*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1155*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 1156*d5c09012SAndroid Build Coastguard Worker } 1157*d5c09012SAndroid Build Coastguard Worker ]; 1158*d5c09012SAndroid Build Coastguard Worker 1159*d5c09012SAndroid Build Coastguard Worker // Required. Information to create a reCAPTCHA Enterprise key. 1160*d5c09012SAndroid Build Coastguard Worker Key key = 2 [(google.api.field_behavior) = REQUIRED]; 1161*d5c09012SAndroid Build Coastguard Worker} 1162*d5c09012SAndroid Build Coastguard Worker 1163*d5c09012SAndroid Build Coastguard Worker// The list keys request message. 1164*d5c09012SAndroid Build Coastguard Workermessage ListKeysRequest { 1165*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project that contains the keys that will be 1166*d5c09012SAndroid Build Coastguard Worker // listed, in the format `projects/{project}`. 1167*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 1168*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1169*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1170*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 1171*d5c09012SAndroid Build Coastguard Worker } 1172*d5c09012SAndroid Build Coastguard Worker ]; 1173*d5c09012SAndroid Build Coastguard Worker 1174*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of keys to return. Default is 10. Max limit is 1175*d5c09012SAndroid Build Coastguard Worker // 1000. 1176*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 1177*d5c09012SAndroid Build Coastguard Worker 1178*d5c09012SAndroid Build Coastguard Worker // Optional. The next_page_token value returned from a previous. 1179*d5c09012SAndroid Build Coastguard Worker // ListKeysRequest, if any. 1180*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 1181*d5c09012SAndroid Build Coastguard Worker} 1182*d5c09012SAndroid Build Coastguard Worker 1183*d5c09012SAndroid Build Coastguard Worker// Response to request to list keys in a project. 1184*d5c09012SAndroid Build Coastguard Workermessage ListKeysResponse { 1185*d5c09012SAndroid Build Coastguard Worker // Key details. 1186*d5c09012SAndroid Build Coastguard Worker repeated Key keys = 1; 1187*d5c09012SAndroid Build Coastguard Worker 1188*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results. It is set to empty if no keys 1189*d5c09012SAndroid Build Coastguard Worker // remain in results. 1190*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 1191*d5c09012SAndroid Build Coastguard Worker} 1192*d5c09012SAndroid Build Coastguard Worker 1193*d5c09012SAndroid Build Coastguard Worker// The retrieve legacy secret key request message. 1194*d5c09012SAndroid Build Coastguard Workermessage RetrieveLegacySecretKeyRequest { 1195*d5c09012SAndroid Build Coastguard Worker // Required. The public key name linked to the requested secret key in the 1196*d5c09012SAndroid Build Coastguard Worker // format `projects/{project}/keys/{key}`. 1197*d5c09012SAndroid Build Coastguard Worker string key = 1 [ 1198*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1199*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1200*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Key" 1201*d5c09012SAndroid Build Coastguard Worker } 1202*d5c09012SAndroid Build Coastguard Worker ]; 1203*d5c09012SAndroid Build Coastguard Worker} 1204*d5c09012SAndroid Build Coastguard Worker 1205*d5c09012SAndroid Build Coastguard Worker// The get key request message. 1206*d5c09012SAndroid Build Coastguard Workermessage GetKeyRequest { 1207*d5c09012SAndroid Build Coastguard Worker // Required. The name of the requested key, in the format 1208*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/keys/{key}`. 1209*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 1210*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1211*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1212*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Key" 1213*d5c09012SAndroid Build Coastguard Worker } 1214*d5c09012SAndroid Build Coastguard Worker ]; 1215*d5c09012SAndroid Build Coastguard Worker} 1216*d5c09012SAndroid Build Coastguard Worker 1217*d5c09012SAndroid Build Coastguard Worker// The update key request message. 1218*d5c09012SAndroid Build Coastguard Workermessage UpdateKeyRequest { 1219*d5c09012SAndroid Build Coastguard Worker // Required. The key to update. 1220*d5c09012SAndroid Build Coastguard Worker Key key = 1 [(google.api.field_behavior) = REQUIRED]; 1221*d5c09012SAndroid Build Coastguard Worker 1222*d5c09012SAndroid Build Coastguard Worker // Optional. The mask to control which fields of the key get updated. If the 1223*d5c09012SAndroid Build Coastguard Worker // mask is not present, all fields will be updated. 1224*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2 1225*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1226*d5c09012SAndroid Build Coastguard Worker} 1227*d5c09012SAndroid Build Coastguard Worker 1228*d5c09012SAndroid Build Coastguard Worker// The delete key request message. 1229*d5c09012SAndroid Build Coastguard Workermessage DeleteKeyRequest { 1230*d5c09012SAndroid Build Coastguard Worker // Required. The name of the key to be deleted, in the format 1231*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/keys/{key}`. 1232*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 1233*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1234*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1235*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Key" 1236*d5c09012SAndroid Build Coastguard Worker } 1237*d5c09012SAndroid Build Coastguard Worker ]; 1238*d5c09012SAndroid Build Coastguard Worker} 1239*d5c09012SAndroid Build Coastguard Worker 1240*d5c09012SAndroid Build Coastguard Worker// The create firewall policy request message. 1241*d5c09012SAndroid Build Coastguard Workermessage CreateFirewallPolicyRequest { 1242*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project this policy will apply to, in the format 1243*d5c09012SAndroid Build Coastguard Worker // `projects/{project}`. 1244*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 1245*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1246*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1247*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 1248*d5c09012SAndroid Build Coastguard Worker } 1249*d5c09012SAndroid Build Coastguard Worker ]; 1250*d5c09012SAndroid Build Coastguard Worker 1251*d5c09012SAndroid Build Coastguard Worker // Required. Information to create the policy. 1252*d5c09012SAndroid Build Coastguard Worker FirewallPolicy firewall_policy = 2 [(google.api.field_behavior) = REQUIRED]; 1253*d5c09012SAndroid Build Coastguard Worker} 1254*d5c09012SAndroid Build Coastguard Worker 1255*d5c09012SAndroid Build Coastguard Worker// The list firewall policies request message. 1256*d5c09012SAndroid Build Coastguard Workermessage ListFirewallPoliciesRequest { 1257*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project to list the policies for, in the format 1258*d5c09012SAndroid Build Coastguard Worker // `projects/{project}`. 1259*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 1260*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1261*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1262*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 1263*d5c09012SAndroid Build Coastguard Worker } 1264*d5c09012SAndroid Build Coastguard Worker ]; 1265*d5c09012SAndroid Build Coastguard Worker 1266*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of policies to return. Default is 10. Max 1267*d5c09012SAndroid Build Coastguard Worker // limit is 1000. 1268*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 1269*d5c09012SAndroid Build Coastguard Worker 1270*d5c09012SAndroid Build Coastguard Worker // Optional. The next_page_token value returned from a previous. 1271*d5c09012SAndroid Build Coastguard Worker // ListFirewallPoliciesRequest, if any. 1272*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 1273*d5c09012SAndroid Build Coastguard Worker} 1274*d5c09012SAndroid Build Coastguard Worker 1275*d5c09012SAndroid Build Coastguard Worker// Response to request to list firewall policies belonging to a project. 1276*d5c09012SAndroid Build Coastguard Workermessage ListFirewallPoliciesResponse { 1277*d5c09012SAndroid Build Coastguard Worker // Policy details. 1278*d5c09012SAndroid Build Coastguard Worker repeated FirewallPolicy firewall_policies = 1; 1279*d5c09012SAndroid Build Coastguard Worker 1280*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results. It is set to empty if no 1281*d5c09012SAndroid Build Coastguard Worker // policies remain in results. 1282*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 1283*d5c09012SAndroid Build Coastguard Worker} 1284*d5c09012SAndroid Build Coastguard Worker 1285*d5c09012SAndroid Build Coastguard Worker// The get firewall policy request message. 1286*d5c09012SAndroid Build Coastguard Workermessage GetFirewallPolicyRequest { 1287*d5c09012SAndroid Build Coastguard Worker // Required. The name of the requested policy, in the format 1288*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/firewallpolicies/{firewallpolicy}`. 1289*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 1290*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1291*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1292*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/FirewallPolicy" 1293*d5c09012SAndroid Build Coastguard Worker } 1294*d5c09012SAndroid Build Coastguard Worker ]; 1295*d5c09012SAndroid Build Coastguard Worker} 1296*d5c09012SAndroid Build Coastguard Worker 1297*d5c09012SAndroid Build Coastguard Worker// The update firewall policy request message. 1298*d5c09012SAndroid Build Coastguard Workermessage UpdateFirewallPolicyRequest { 1299*d5c09012SAndroid Build Coastguard Worker // Required. The policy to update. 1300*d5c09012SAndroid Build Coastguard Worker FirewallPolicy firewall_policy = 1 [(google.api.field_behavior) = REQUIRED]; 1301*d5c09012SAndroid Build Coastguard Worker 1302*d5c09012SAndroid Build Coastguard Worker // Optional. The mask to control which fields of the policy get updated. If 1303*d5c09012SAndroid Build Coastguard Worker // the mask is not present, all fields will be updated. 1304*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2 1305*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1306*d5c09012SAndroid Build Coastguard Worker} 1307*d5c09012SAndroid Build Coastguard Worker 1308*d5c09012SAndroid Build Coastguard Worker// The delete firewall policy request message. 1309*d5c09012SAndroid Build Coastguard Workermessage DeleteFirewallPolicyRequest { 1310*d5c09012SAndroid Build Coastguard Worker // Required. The name of the policy to be deleted, in the format 1311*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/firewallpolicies/{firewallpolicy}`. 1312*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 1313*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1314*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1315*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/FirewallPolicy" 1316*d5c09012SAndroid Build Coastguard Worker } 1317*d5c09012SAndroid Build Coastguard Worker ]; 1318*d5c09012SAndroid Build Coastguard Worker} 1319*d5c09012SAndroid Build Coastguard Worker 1320*d5c09012SAndroid Build Coastguard Worker// The reorder firewall policies request message. 1321*d5c09012SAndroid Build Coastguard Workermessage ReorderFirewallPoliciesRequest { 1322*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project to list the policies for, in the format 1323*d5c09012SAndroid Build Coastguard Worker // `projects/{project}`. 1324*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 1325*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1326*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1327*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 1328*d5c09012SAndroid Build Coastguard Worker } 1329*d5c09012SAndroid Build Coastguard Worker ]; 1330*d5c09012SAndroid Build Coastguard Worker 1331*d5c09012SAndroid Build Coastguard Worker // Required. A list containing all policy names, in the new order. Each name 1332*d5c09012SAndroid Build Coastguard Worker // is in the format `projects/{project}/firewallpolicies/{firewallpolicy}`. 1333*d5c09012SAndroid Build Coastguard Worker repeated string names = 2 [ 1334*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1335*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1336*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/FirewallPolicy" 1337*d5c09012SAndroid Build Coastguard Worker } 1338*d5c09012SAndroid Build Coastguard Worker ]; 1339*d5c09012SAndroid Build Coastguard Worker} 1340*d5c09012SAndroid Build Coastguard Worker 1341*d5c09012SAndroid Build Coastguard Worker// The reorder firewall policies response message. 1342*d5c09012SAndroid Build Coastguard Workermessage ReorderFirewallPoliciesResponse {} 1343*d5c09012SAndroid Build Coastguard Worker 1344*d5c09012SAndroid Build Coastguard Worker// The migrate key request message. 1345*d5c09012SAndroid Build Coastguard Workermessage MigrateKeyRequest { 1346*d5c09012SAndroid Build Coastguard Worker // Required. The name of the key to be migrated, in the format 1347*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/keys/{key}`. 1348*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 1349*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1350*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1351*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Key" 1352*d5c09012SAndroid Build Coastguard Worker } 1353*d5c09012SAndroid Build Coastguard Worker ]; 1354*d5c09012SAndroid Build Coastguard Worker 1355*d5c09012SAndroid Build Coastguard Worker // Optional. If true, skips the billing check. 1356*d5c09012SAndroid Build Coastguard Worker // A reCAPTCHA Enterprise key or migrated key behaves differently than a 1357*d5c09012SAndroid Build Coastguard Worker // reCAPTCHA (non-Enterprise version) key when you reach a quota limit (see 1358*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/recaptcha-enterprise/quotas#quota_limit). To avoid 1359*d5c09012SAndroid Build Coastguard Worker // any disruption of your usage, we check that a billing account is present. 1360*d5c09012SAndroid Build Coastguard Worker // If your usage of reCAPTCHA is under the free quota, you can safely skip the 1361*d5c09012SAndroid Build Coastguard Worker // billing check and proceed with the migration. See 1362*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/recaptcha-enterprise/docs/billing-information. 1363*d5c09012SAndroid Build Coastguard Worker bool skip_billing_check = 2 [(google.api.field_behavior) = OPTIONAL]; 1364*d5c09012SAndroid Build Coastguard Worker} 1365*d5c09012SAndroid Build Coastguard Worker 1366*d5c09012SAndroid Build Coastguard Worker// The get metrics request message. 1367*d5c09012SAndroid Build Coastguard Workermessage GetMetricsRequest { 1368*d5c09012SAndroid Build Coastguard Worker // Required. The name of the requested metrics, in the format 1369*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/keys/{key}/metrics`. 1370*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 1371*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1372*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1373*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Metrics" 1374*d5c09012SAndroid Build Coastguard Worker } 1375*d5c09012SAndroid Build Coastguard Worker ]; 1376*d5c09012SAndroid Build Coastguard Worker} 1377*d5c09012SAndroid Build Coastguard Worker 1378*d5c09012SAndroid Build Coastguard Worker// Metrics for a single Key. 1379*d5c09012SAndroid Build Coastguard Workermessage Metrics { 1380*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1381*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Metrics" 1382*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/keys/{key}/metrics" 1383*d5c09012SAndroid Build Coastguard Worker plural: "metrics" 1384*d5c09012SAndroid Build Coastguard Worker singular: "metrics" 1385*d5c09012SAndroid Build Coastguard Worker }; 1386*d5c09012SAndroid Build Coastguard Worker 1387*d5c09012SAndroid Build Coastguard Worker // Output only. Identifier. The name of the metrics, in the format 1388*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/keys/{key}/metrics`. 1389*d5c09012SAndroid Build Coastguard Worker string name = 4 [ 1390*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IDENTIFIER, 1391*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY 1392*d5c09012SAndroid Build Coastguard Worker ]; 1393*d5c09012SAndroid Build Coastguard Worker 1394*d5c09012SAndroid Build Coastguard Worker // Inclusive start time aligned to a day (UTC). 1395*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 1; 1396*d5c09012SAndroid Build Coastguard Worker 1397*d5c09012SAndroid Build Coastguard Worker // Metrics will be continuous and in order by dates, and in the granularity 1398*d5c09012SAndroid Build Coastguard Worker // of day. All Key types should have score-based data. 1399*d5c09012SAndroid Build Coastguard Worker repeated ScoreMetrics score_metrics = 2; 1400*d5c09012SAndroid Build Coastguard Worker 1401*d5c09012SAndroid Build Coastguard Worker // Metrics will be continuous and in order by dates, and in the granularity 1402*d5c09012SAndroid Build Coastguard Worker // of day. Only challenge-based keys (CHECKBOX, INVISIBLE), will have 1403*d5c09012SAndroid Build Coastguard Worker // challenge-based data. 1404*d5c09012SAndroid Build Coastguard Worker repeated ChallengeMetrics challenge_metrics = 3; 1405*d5c09012SAndroid Build Coastguard Worker} 1406*d5c09012SAndroid Build Coastguard Worker 1407*d5c09012SAndroid Build Coastguard Worker// Secret key is used only in legacy reCAPTCHA. It must be used in a 3rd party 1408*d5c09012SAndroid Build Coastguard Worker// integration with legacy reCAPTCHA. 1409*d5c09012SAndroid Build Coastguard Workermessage RetrieveLegacySecretKeyResponse { 1410*d5c09012SAndroid Build Coastguard Worker // The secret key (also known as shared secret) authorizes communication 1411*d5c09012SAndroid Build Coastguard Worker // between your application backend and the reCAPTCHA Enterprise server to 1412*d5c09012SAndroid Build Coastguard Worker // create an assessment. 1413*d5c09012SAndroid Build Coastguard Worker // The secret key needs to be kept safe for security purposes. 1414*d5c09012SAndroid Build Coastguard Worker string legacy_secret_key = 1; 1415*d5c09012SAndroid Build Coastguard Worker} 1416*d5c09012SAndroid Build Coastguard Worker 1417*d5c09012SAndroid Build Coastguard Worker// A key used to identify and configure applications (web and/or mobile) that 1418*d5c09012SAndroid Build Coastguard Worker// use reCAPTCHA Enterprise. 1419*d5c09012SAndroid Build Coastguard Workermessage Key { 1420*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1421*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/Key" 1422*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/keys/{key}" 1423*d5c09012SAndroid Build Coastguard Worker plural: "keys" 1424*d5c09012SAndroid Build Coastguard Worker singular: "key" 1425*d5c09012SAndroid Build Coastguard Worker }; 1426*d5c09012SAndroid Build Coastguard Worker 1427*d5c09012SAndroid Build Coastguard Worker // Identifier. The resource name for the Key in the format 1428*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/keys/{key}`. 1429*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 1430*d5c09012SAndroid Build Coastguard Worker 1431*d5c09012SAndroid Build Coastguard Worker // Required. Human-readable display name of this key. Modifiable by user. 1432*d5c09012SAndroid Build Coastguard Worker string display_name = 2 [(google.api.field_behavior) = REQUIRED]; 1433*d5c09012SAndroid Build Coastguard Worker 1434*d5c09012SAndroid Build Coastguard Worker // Platform-specific settings for this key. The key can only be used on a 1435*d5c09012SAndroid Build Coastguard Worker // platform for which the settings are enabled. 1436*d5c09012SAndroid Build Coastguard Worker oneof platform_settings { 1437*d5c09012SAndroid Build Coastguard Worker // Settings for keys that can be used by websites. 1438*d5c09012SAndroid Build Coastguard Worker WebKeySettings web_settings = 3; 1439*d5c09012SAndroid Build Coastguard Worker 1440*d5c09012SAndroid Build Coastguard Worker // Settings for keys that can be used by Android apps. 1441*d5c09012SAndroid Build Coastguard Worker AndroidKeySettings android_settings = 4; 1442*d5c09012SAndroid Build Coastguard Worker 1443*d5c09012SAndroid Build Coastguard Worker // Settings for keys that can be used by iOS apps. 1444*d5c09012SAndroid Build Coastguard Worker IOSKeySettings ios_settings = 5; 1445*d5c09012SAndroid Build Coastguard Worker } 1446*d5c09012SAndroid Build Coastguard Worker 1447*d5c09012SAndroid Build Coastguard Worker // Optional. See [Creating and managing labels] 1448*d5c09012SAndroid Build Coastguard Worker // (https://cloud.google.com/recaptcha-enterprise/docs/labels). 1449*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL]; 1450*d5c09012SAndroid Build Coastguard Worker 1451*d5c09012SAndroid Build Coastguard Worker // Output only. The timestamp corresponding to the creation of this key. 1452*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 7 1453*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1454*d5c09012SAndroid Build Coastguard Worker 1455*d5c09012SAndroid Build Coastguard Worker // Optional. Options for user acceptance testing. 1456*d5c09012SAndroid Build Coastguard Worker TestingOptions testing_options = 9 [(google.api.field_behavior) = OPTIONAL]; 1457*d5c09012SAndroid Build Coastguard Worker 1458*d5c09012SAndroid Build Coastguard Worker // Optional. Settings for WAF 1459*d5c09012SAndroid Build Coastguard Worker WafSettings waf_settings = 10 [(google.api.field_behavior) = OPTIONAL]; 1460*d5c09012SAndroid Build Coastguard Worker} 1461*d5c09012SAndroid Build Coastguard Worker 1462*d5c09012SAndroid Build Coastguard Worker// Options for user acceptance testing. 1463*d5c09012SAndroid Build Coastguard Workermessage TestingOptions { 1464*d5c09012SAndroid Build Coastguard Worker // Enum that represents the challenge option for challenge-based (CHECKBOX, 1465*d5c09012SAndroid Build Coastguard Worker // INVISIBLE) testing keys. 1466*d5c09012SAndroid Build Coastguard Worker enum TestingChallenge { 1467*d5c09012SAndroid Build Coastguard Worker // Perform the normal risk analysis and return either nocaptcha or a 1468*d5c09012SAndroid Build Coastguard Worker // challenge depending on risk and trust factors. 1469*d5c09012SAndroid Build Coastguard Worker TESTING_CHALLENGE_UNSPECIFIED = 0; 1470*d5c09012SAndroid Build Coastguard Worker 1471*d5c09012SAndroid Build Coastguard Worker // Challenge requests for this key always return a nocaptcha, which 1472*d5c09012SAndroid Build Coastguard Worker // does not require a solution. 1473*d5c09012SAndroid Build Coastguard Worker NOCAPTCHA = 1; 1474*d5c09012SAndroid Build Coastguard Worker 1475*d5c09012SAndroid Build Coastguard Worker // Challenge requests for this key always return an unsolvable 1476*d5c09012SAndroid Build Coastguard Worker // challenge. 1477*d5c09012SAndroid Build Coastguard Worker UNSOLVABLE_CHALLENGE = 2; 1478*d5c09012SAndroid Build Coastguard Worker } 1479*d5c09012SAndroid Build Coastguard Worker 1480*d5c09012SAndroid Build Coastguard Worker // Optional. All assessments for this Key will return this score. Must be 1481*d5c09012SAndroid Build Coastguard Worker // between 0 (likely not legitimate) and 1 (likely legitimate) inclusive. 1482*d5c09012SAndroid Build Coastguard Worker float testing_score = 1 [(google.api.field_behavior) = OPTIONAL]; 1483*d5c09012SAndroid Build Coastguard Worker 1484*d5c09012SAndroid Build Coastguard Worker // Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all 1485*d5c09012SAndroid Build Coastguard Worker // challenge requests for this site will return nocaptcha if NOCAPTCHA, or an 1486*d5c09012SAndroid Build Coastguard Worker // unsolvable challenge if CHALLENGE. 1487*d5c09012SAndroid Build Coastguard Worker TestingChallenge testing_challenge = 2 1488*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1489*d5c09012SAndroid Build Coastguard Worker} 1490*d5c09012SAndroid Build Coastguard Worker 1491*d5c09012SAndroid Build Coastguard Worker// Settings specific to keys that can be used by websites. 1492*d5c09012SAndroid Build Coastguard Workermessage WebKeySettings { 1493*d5c09012SAndroid Build Coastguard Worker // Enum that represents the integration types for web keys. 1494*d5c09012SAndroid Build Coastguard Worker enum IntegrationType { 1495*d5c09012SAndroid Build Coastguard Worker // Default type that indicates this enum hasn't been specified. This is not 1496*d5c09012SAndroid Build Coastguard Worker // a valid IntegrationType, one of the other types must be specified 1497*d5c09012SAndroid Build Coastguard Worker // instead. 1498*d5c09012SAndroid Build Coastguard Worker INTEGRATION_TYPE_UNSPECIFIED = 0; 1499*d5c09012SAndroid Build Coastguard Worker 1500*d5c09012SAndroid Build Coastguard Worker // Only used to produce scores. It doesn't display the "I'm not a robot" 1501*d5c09012SAndroid Build Coastguard Worker // checkbox and never shows captcha challenges. 1502*d5c09012SAndroid Build Coastguard Worker SCORE = 1; 1503*d5c09012SAndroid Build Coastguard Worker 1504*d5c09012SAndroid Build Coastguard Worker // Displays the "I'm not a robot" checkbox and may show captcha challenges 1505*d5c09012SAndroid Build Coastguard Worker // after it is checked. 1506*d5c09012SAndroid Build Coastguard Worker CHECKBOX = 2; 1507*d5c09012SAndroid Build Coastguard Worker 1508*d5c09012SAndroid Build Coastguard Worker // Doesn't display the "I'm not a robot" checkbox, but may show captcha 1509*d5c09012SAndroid Build Coastguard Worker // challenges after risk analysis. 1510*d5c09012SAndroid Build Coastguard Worker INVISIBLE = 3; 1511*d5c09012SAndroid Build Coastguard Worker } 1512*d5c09012SAndroid Build Coastguard Worker 1513*d5c09012SAndroid Build Coastguard Worker // Enum that represents the possible challenge frequency and difficulty 1514*d5c09012SAndroid Build Coastguard Worker // configurations for a web key. 1515*d5c09012SAndroid Build Coastguard Worker enum ChallengeSecurityPreference { 1516*d5c09012SAndroid Build Coastguard Worker // Default type that indicates this enum hasn't been specified. 1517*d5c09012SAndroid Build Coastguard Worker CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED = 0; 1518*d5c09012SAndroid Build Coastguard Worker 1519*d5c09012SAndroid Build Coastguard Worker // Key tends to show fewer and easier challenges. 1520*d5c09012SAndroid Build Coastguard Worker USABILITY = 1; 1521*d5c09012SAndroid Build Coastguard Worker 1522*d5c09012SAndroid Build Coastguard Worker // Key tends to show balanced (in amount and difficulty) challenges. 1523*d5c09012SAndroid Build Coastguard Worker BALANCE = 2; 1524*d5c09012SAndroid Build Coastguard Worker 1525*d5c09012SAndroid Build Coastguard Worker // Key tends to show more and harder challenges. 1526*d5c09012SAndroid Build Coastguard Worker SECURITY = 3; 1527*d5c09012SAndroid Build Coastguard Worker } 1528*d5c09012SAndroid Build Coastguard Worker 1529*d5c09012SAndroid Build Coastguard Worker // Optional. If set to true, it means allowed_domains will not be enforced. 1530*d5c09012SAndroid Build Coastguard Worker bool allow_all_domains = 3 [(google.api.field_behavior) = OPTIONAL]; 1531*d5c09012SAndroid Build Coastguard Worker 1532*d5c09012SAndroid Build Coastguard Worker // Optional. Domains or subdomains of websites allowed to use the key. All 1533*d5c09012SAndroid Build Coastguard Worker // subdomains of an allowed domain are automatically allowed. A valid domain 1534*d5c09012SAndroid Build Coastguard Worker // requires a host and must not include any path, port, query or fragment. 1535*d5c09012SAndroid Build Coastguard Worker // Examples: 'example.com' or 'subdomain.example.com' 1536*d5c09012SAndroid Build Coastguard Worker repeated string allowed_domains = 1 [(google.api.field_behavior) = OPTIONAL]; 1537*d5c09012SAndroid Build Coastguard Worker 1538*d5c09012SAndroid Build Coastguard Worker // Optional. If set to true, the key can be used on AMP (Accelerated Mobile 1539*d5c09012SAndroid Build Coastguard Worker // Pages) websites. This is supported only for the SCORE integration type. 1540*d5c09012SAndroid Build Coastguard Worker bool allow_amp_traffic = 2 [(google.api.field_behavior) = OPTIONAL]; 1541*d5c09012SAndroid Build Coastguard Worker 1542*d5c09012SAndroid Build Coastguard Worker // Required. Describes how this key is integrated with the website. 1543*d5c09012SAndroid Build Coastguard Worker IntegrationType integration_type = 4 [(google.api.field_behavior) = REQUIRED]; 1544*d5c09012SAndroid Build Coastguard Worker 1545*d5c09012SAndroid Build Coastguard Worker // Optional. Settings for the frequency and difficulty at which this key 1546*d5c09012SAndroid Build Coastguard Worker // triggers captcha challenges. This should only be specified for 1547*d5c09012SAndroid Build Coastguard Worker // IntegrationTypes CHECKBOX and INVISIBLE. 1548*d5c09012SAndroid Build Coastguard Worker ChallengeSecurityPreference challenge_security_preference = 5 1549*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1550*d5c09012SAndroid Build Coastguard Worker} 1551*d5c09012SAndroid Build Coastguard Worker 1552*d5c09012SAndroid Build Coastguard Worker// Settings specific to keys that can be used by Android apps. 1553*d5c09012SAndroid Build Coastguard Workermessage AndroidKeySettings { 1554*d5c09012SAndroid Build Coastguard Worker // Optional. If set to true, allowed_package_names are not enforced. 1555*d5c09012SAndroid Build Coastguard Worker bool allow_all_package_names = 2 [(google.api.field_behavior) = OPTIONAL]; 1556*d5c09012SAndroid Build Coastguard Worker 1557*d5c09012SAndroid Build Coastguard Worker // Optional. Android package names of apps allowed to use the key. 1558*d5c09012SAndroid Build Coastguard Worker // Example: 'com.companyname.appname' 1559*d5c09012SAndroid Build Coastguard Worker repeated string allowed_package_names = 1 1560*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1561*d5c09012SAndroid Build Coastguard Worker 1562*d5c09012SAndroid Build Coastguard Worker // Optional. Set to true for keys that are used in an Android application that 1563*d5c09012SAndroid Build Coastguard Worker // is available for download in app stores in addition to the Google Play 1564*d5c09012SAndroid Build Coastguard Worker // Store. 1565*d5c09012SAndroid Build Coastguard Worker bool support_non_google_app_store_distribution = 3 1566*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1567*d5c09012SAndroid Build Coastguard Worker} 1568*d5c09012SAndroid Build Coastguard Worker 1569*d5c09012SAndroid Build Coastguard Worker// Settings specific to keys that can be used by iOS apps. 1570*d5c09012SAndroid Build Coastguard Workermessage IOSKeySettings { 1571*d5c09012SAndroid Build Coastguard Worker // Optional. If set to true, allowed_bundle_ids are not enforced. 1572*d5c09012SAndroid Build Coastguard Worker bool allow_all_bundle_ids = 2 [(google.api.field_behavior) = OPTIONAL]; 1573*d5c09012SAndroid Build Coastguard Worker 1574*d5c09012SAndroid Build Coastguard Worker // Optional. iOS bundle ids of apps allowed to use the key. 1575*d5c09012SAndroid Build Coastguard Worker // Example: 'com.companyname.productname.appname' 1576*d5c09012SAndroid Build Coastguard Worker repeated string allowed_bundle_ids = 1 1577*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1578*d5c09012SAndroid Build Coastguard Worker 1579*d5c09012SAndroid Build Coastguard Worker // Optional. Apple Developer account details for the app that is protected by 1580*d5c09012SAndroid Build Coastguard Worker // the reCAPTCHA Key. reCAPTCHA Enterprise leverages platform-specific checks 1581*d5c09012SAndroid Build Coastguard Worker // like Apple App Attest and Apple DeviceCheck to protect your app from abuse. 1582*d5c09012SAndroid Build Coastguard Worker // Providing these fields allows reCAPTCHA Enterprise to get a better 1583*d5c09012SAndroid Build Coastguard Worker // assessment of the integrity of your app. 1584*d5c09012SAndroid Build Coastguard Worker AppleDeveloperId apple_developer_id = 3 1585*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 1586*d5c09012SAndroid Build Coastguard Worker} 1587*d5c09012SAndroid Build Coastguard Worker 1588*d5c09012SAndroid Build Coastguard Worker// Contains fields that are required to perform Apple-specific integrity checks. 1589*d5c09012SAndroid Build Coastguard Workermessage AppleDeveloperId { 1590*d5c09012SAndroid Build Coastguard Worker // Required. Input only. A private key (downloaded as a text file with a .p8 1591*d5c09012SAndroid Build Coastguard Worker // file extension) generated for your Apple Developer account. Ensure that 1592*d5c09012SAndroid Build Coastguard Worker // Apple DeviceCheck is enabled for the private key. 1593*d5c09012SAndroid Build Coastguard Worker string private_key = 1 [ 1594*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1595*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = INPUT_ONLY 1596*d5c09012SAndroid Build Coastguard Worker ]; 1597*d5c09012SAndroid Build Coastguard Worker 1598*d5c09012SAndroid Build Coastguard Worker // Required. The Apple developer key ID (10-character string). 1599*d5c09012SAndroid Build Coastguard Worker string key_id = 2 [(google.api.field_behavior) = REQUIRED]; 1600*d5c09012SAndroid Build Coastguard Worker 1601*d5c09012SAndroid Build Coastguard Worker // Required. The Apple team ID (10-character string) owning the provisioning 1602*d5c09012SAndroid Build Coastguard Worker // profile used to build your application. 1603*d5c09012SAndroid Build Coastguard Worker string team_id = 3 [(google.api.field_behavior) = REQUIRED]; 1604*d5c09012SAndroid Build Coastguard Worker} 1605*d5c09012SAndroid Build Coastguard Worker 1606*d5c09012SAndroid Build Coastguard Worker// Score distribution. 1607*d5c09012SAndroid Build Coastguard Workermessage ScoreDistribution { 1608*d5c09012SAndroid Build Coastguard Worker // Map key is score value multiplied by 100. The scores are discrete values 1609*d5c09012SAndroid Build Coastguard Worker // between [0, 1]. The maximum number of buckets is on order of a few dozen, 1610*d5c09012SAndroid Build Coastguard Worker // but typically much lower (ie. 10). 1611*d5c09012SAndroid Build Coastguard Worker map<int32, int64> score_buckets = 1; 1612*d5c09012SAndroid Build Coastguard Worker} 1613*d5c09012SAndroid Build Coastguard Worker 1614*d5c09012SAndroid Build Coastguard Worker// Metrics related to scoring. 1615*d5c09012SAndroid Build Coastguard Workermessage ScoreMetrics { 1616*d5c09012SAndroid Build Coastguard Worker // Aggregated score metrics for all traffic. 1617*d5c09012SAndroid Build Coastguard Worker ScoreDistribution overall_metrics = 1; 1618*d5c09012SAndroid Build Coastguard Worker 1619*d5c09012SAndroid Build Coastguard Worker // Action-based metrics. The map key is the action name which specified by the 1620*d5c09012SAndroid Build Coastguard Worker // site owners at time of the "execute" client-side call. 1621*d5c09012SAndroid Build Coastguard Worker map<string, ScoreDistribution> action_metrics = 2; 1622*d5c09012SAndroid Build Coastguard Worker} 1623*d5c09012SAndroid Build Coastguard Worker 1624*d5c09012SAndroid Build Coastguard Worker// Metrics related to challenges. 1625*d5c09012SAndroid Build Coastguard Workermessage ChallengeMetrics { 1626*d5c09012SAndroid Build Coastguard Worker // Count of reCAPTCHA checkboxes or badges rendered. This is mostly equivalent 1627*d5c09012SAndroid Build Coastguard Worker // to a count of pageloads for pages that include reCAPTCHA. 1628*d5c09012SAndroid Build Coastguard Worker int64 pageload_count = 1; 1629*d5c09012SAndroid Build Coastguard Worker 1630*d5c09012SAndroid Build Coastguard Worker // Count of nocaptchas (successful verification without a challenge) issued. 1631*d5c09012SAndroid Build Coastguard Worker int64 nocaptcha_count = 2; 1632*d5c09012SAndroid Build Coastguard Worker 1633*d5c09012SAndroid Build Coastguard Worker // Count of submitted challenge solutions that were incorrect or otherwise 1634*d5c09012SAndroid Build Coastguard Worker // deemed suspicious such that a subsequent challenge was triggered. 1635*d5c09012SAndroid Build Coastguard Worker int64 failed_count = 3; 1636*d5c09012SAndroid Build Coastguard Worker 1637*d5c09012SAndroid Build Coastguard Worker // Count of nocaptchas (successful verification without a challenge) plus 1638*d5c09012SAndroid Build Coastguard Worker // submitted challenge solutions that were correct and resulted in 1639*d5c09012SAndroid Build Coastguard Worker // verification. 1640*d5c09012SAndroid Build Coastguard Worker int64 passed_count = 4; 1641*d5c09012SAndroid Build Coastguard Worker} 1642*d5c09012SAndroid Build Coastguard Worker 1643*d5c09012SAndroid Build Coastguard Worker// Policy config assessment. 1644*d5c09012SAndroid Build Coastguard Workermessage FirewallPolicyAssessment { 1645*d5c09012SAndroid Build Coastguard Worker // Output only. If the processing of a policy config fails, an error will be 1646*d5c09012SAndroid Build Coastguard Worker // populated and the firewall_policy will be left empty. 1647*d5c09012SAndroid Build Coastguard Worker google.rpc.Status error = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 1648*d5c09012SAndroid Build Coastguard Worker 1649*d5c09012SAndroid Build Coastguard Worker // Output only. The policy that matched the request. If more than one policy 1650*d5c09012SAndroid Build Coastguard Worker // may match, this is the first match. If no policy matches the incoming 1651*d5c09012SAndroid Build Coastguard Worker // request, the policy field will be left empty. 1652*d5c09012SAndroid Build Coastguard Worker FirewallPolicy firewall_policy = 8 1653*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 1654*d5c09012SAndroid Build Coastguard Worker} 1655*d5c09012SAndroid Build Coastguard Worker 1656*d5c09012SAndroid Build Coastguard Worker// An individual action. Each action represents what to do if a policy 1657*d5c09012SAndroid Build Coastguard Worker// matches. 1658*d5c09012SAndroid Build Coastguard Workermessage FirewallAction { 1659*d5c09012SAndroid Build Coastguard Worker // An allow action continues processing a request unimpeded. 1660*d5c09012SAndroid Build Coastguard Worker message AllowAction {} 1661*d5c09012SAndroid Build Coastguard Worker 1662*d5c09012SAndroid Build Coastguard Worker // A block action serves an HTTP error code a prevents the request from 1663*d5c09012SAndroid Build Coastguard Worker // hitting the backend. 1664*d5c09012SAndroid Build Coastguard Worker message BlockAction {} 1665*d5c09012SAndroid Build Coastguard Worker 1666*d5c09012SAndroid Build Coastguard Worker // An include reCAPTCHA script action involves injecting reCAPTCHA JavaScript 1667*d5c09012SAndroid Build Coastguard Worker // code into the HTML returned by the site backend. This reCAPTCHA 1668*d5c09012SAndroid Build Coastguard Worker // script is tasked with collecting user signals on the requested web page, 1669*d5c09012SAndroid Build Coastguard Worker // issuing tokens as a cookie within the site domain, and enabling their 1670*d5c09012SAndroid Build Coastguard Worker // utilization in subsequent page requests. 1671*d5c09012SAndroid Build Coastguard Worker message IncludeRecaptchaScriptAction {} 1672*d5c09012SAndroid Build Coastguard Worker 1673*d5c09012SAndroid Build Coastguard Worker // A redirect action returns a 307 (temporary redirect) response, pointing 1674*d5c09012SAndroid Build Coastguard Worker // the user to a ReCaptcha interstitial page to attach a token. 1675*d5c09012SAndroid Build Coastguard Worker message RedirectAction {} 1676*d5c09012SAndroid Build Coastguard Worker 1677*d5c09012SAndroid Build Coastguard Worker // A substitute action transparently serves a different page than the one 1678*d5c09012SAndroid Build Coastguard Worker // requested. 1679*d5c09012SAndroid Build Coastguard Worker message SubstituteAction { 1680*d5c09012SAndroid Build Coastguard Worker // Optional. The address to redirect to. The target is a relative path in 1681*d5c09012SAndroid Build Coastguard Worker // the current host. Example: "/blog/404.html". 1682*d5c09012SAndroid Build Coastguard Worker string path = 1 [(google.api.field_behavior) = OPTIONAL]; 1683*d5c09012SAndroid Build Coastguard Worker } 1684*d5c09012SAndroid Build Coastguard Worker 1685*d5c09012SAndroid Build Coastguard Worker // A set header action sets a header and forwards the request to the 1686*d5c09012SAndroid Build Coastguard Worker // backend. This can be used to trigger custom protection implemented on the 1687*d5c09012SAndroid Build Coastguard Worker // backend. 1688*d5c09012SAndroid Build Coastguard Worker message SetHeaderAction { 1689*d5c09012SAndroid Build Coastguard Worker // Optional. The header key to set in the request to the backend server. 1690*d5c09012SAndroid Build Coastguard Worker string key = 1 [(google.api.field_behavior) = OPTIONAL]; 1691*d5c09012SAndroid Build Coastguard Worker 1692*d5c09012SAndroid Build Coastguard Worker // Optional. The header value to set in the request to the backend server. 1693*d5c09012SAndroid Build Coastguard Worker string value = 2 [(google.api.field_behavior) = OPTIONAL]; 1694*d5c09012SAndroid Build Coastguard Worker } 1695*d5c09012SAndroid Build Coastguard Worker 1696*d5c09012SAndroid Build Coastguard Worker oneof firewall_action_oneof { 1697*d5c09012SAndroid Build Coastguard Worker // The user request did not match any policy and should be allowed 1698*d5c09012SAndroid Build Coastguard Worker // access to the requested resource. 1699*d5c09012SAndroid Build Coastguard Worker AllowAction allow = 1; 1700*d5c09012SAndroid Build Coastguard Worker 1701*d5c09012SAndroid Build Coastguard Worker // This action will deny access to a given page. The user will get an HTTP 1702*d5c09012SAndroid Build Coastguard Worker // error code. 1703*d5c09012SAndroid Build Coastguard Worker BlockAction block = 2; 1704*d5c09012SAndroid Build Coastguard Worker 1705*d5c09012SAndroid Build Coastguard Worker // This action will inject reCAPTCHA JavaScript code into the HTML page 1706*d5c09012SAndroid Build Coastguard Worker // returned by the site backend. 1707*d5c09012SAndroid Build Coastguard Worker IncludeRecaptchaScriptAction include_recaptcha_script = 6; 1708*d5c09012SAndroid Build Coastguard Worker 1709*d5c09012SAndroid Build Coastguard Worker // This action will redirect the request to a ReCaptcha interstitial to 1710*d5c09012SAndroid Build Coastguard Worker // attach a token. 1711*d5c09012SAndroid Build Coastguard Worker RedirectAction redirect = 5; 1712*d5c09012SAndroid Build Coastguard Worker 1713*d5c09012SAndroid Build Coastguard Worker // This action will transparently serve a different page to an offending 1714*d5c09012SAndroid Build Coastguard Worker // user. 1715*d5c09012SAndroid Build Coastguard Worker SubstituteAction substitute = 3; 1716*d5c09012SAndroid Build Coastguard Worker 1717*d5c09012SAndroid Build Coastguard Worker // This action will set a custom header but allow the request to continue 1718*d5c09012SAndroid Build Coastguard Worker // to the customer backend. 1719*d5c09012SAndroid Build Coastguard Worker SetHeaderAction set_header = 4; 1720*d5c09012SAndroid Build Coastguard Worker } 1721*d5c09012SAndroid Build Coastguard Worker} 1722*d5c09012SAndroid Build Coastguard Worker 1723*d5c09012SAndroid Build Coastguard Worker// A FirewallPolicy represents a single matching pattern and resulting actions 1724*d5c09012SAndroid Build Coastguard Worker// to take. 1725*d5c09012SAndroid Build Coastguard Workermessage FirewallPolicy { 1726*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1727*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/FirewallPolicy" 1728*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/firewallpolicies/{firewallpolicy}" 1729*d5c09012SAndroid Build Coastguard Worker plural: "firewallPolicies" 1730*d5c09012SAndroid Build Coastguard Worker singular: "firewallPolicy" 1731*d5c09012SAndroid Build Coastguard Worker }; 1732*d5c09012SAndroid Build Coastguard Worker 1733*d5c09012SAndroid Build Coastguard Worker // Identifier. The resource name for the FirewallPolicy in the format 1734*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/firewallpolicies/{firewallpolicy}`. 1735*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 1736*d5c09012SAndroid Build Coastguard Worker 1737*d5c09012SAndroid Build Coastguard Worker // Optional. A description of what this policy aims to achieve, for 1738*d5c09012SAndroid Build Coastguard Worker // convenience purposes. The description can at most include 256 UTF-8 1739*d5c09012SAndroid Build Coastguard Worker // characters. 1740*d5c09012SAndroid Build Coastguard Worker string description = 2 [(google.api.field_behavior) = OPTIONAL]; 1741*d5c09012SAndroid Build Coastguard Worker 1742*d5c09012SAndroid Build Coastguard Worker // Optional. The path for which this policy applies, specified as a glob 1743*d5c09012SAndroid Build Coastguard Worker // pattern. For more information on glob, see the [manual 1744*d5c09012SAndroid Build Coastguard Worker // page](https://man7.org/linux/man-pages/man7/glob.7.html). 1745*d5c09012SAndroid Build Coastguard Worker // A path has a max length of 200 characters. 1746*d5c09012SAndroid Build Coastguard Worker string path = 4 [(google.api.field_behavior) = OPTIONAL]; 1747*d5c09012SAndroid Build Coastguard Worker 1748*d5c09012SAndroid Build Coastguard Worker // Optional. A CEL (Common Expression Language) conditional expression that 1749*d5c09012SAndroid Build Coastguard Worker // specifies if this policy applies to an incoming user request. If this 1750*d5c09012SAndroid Build Coastguard Worker // condition evaluates to true and the requested path matched the path 1751*d5c09012SAndroid Build Coastguard Worker // pattern, the associated actions should be executed by the caller. The 1752*d5c09012SAndroid Build Coastguard Worker // condition string is checked for CEL syntax correctness on creation. For 1753*d5c09012SAndroid Build Coastguard Worker // more information, see the [CEL spec](https://github.com/google/cel-spec) 1754*d5c09012SAndroid Build Coastguard Worker // and its [language 1755*d5c09012SAndroid Build Coastguard Worker // definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md). 1756*d5c09012SAndroid Build Coastguard Worker // A condition has a max length of 500 characters. 1757*d5c09012SAndroid Build Coastguard Worker string condition = 5 [(google.api.field_behavior) = OPTIONAL]; 1758*d5c09012SAndroid Build Coastguard Worker 1759*d5c09012SAndroid Build Coastguard Worker // Optional. The actions that the caller should take regarding user access. 1760*d5c09012SAndroid Build Coastguard Worker // There should be at most one terminal action. A terminal action is any 1761*d5c09012SAndroid Build Coastguard Worker // action that forces a response, such as `AllowAction`, 1762*d5c09012SAndroid Build Coastguard Worker // `BlockAction` or `SubstituteAction`. 1763*d5c09012SAndroid Build Coastguard Worker // Zero or more non-terminal actions such as `SetHeader` might be 1764*d5c09012SAndroid Build Coastguard Worker // specified. A single policy can contain up to 16 actions. 1765*d5c09012SAndroid Build Coastguard Worker repeated FirewallAction actions = 6 [(google.api.field_behavior) = OPTIONAL]; 1766*d5c09012SAndroid Build Coastguard Worker} 1767*d5c09012SAndroid Build Coastguard Worker 1768*d5c09012SAndroid Build Coastguard Worker// The request message to list memberships in a related account group. 1769*d5c09012SAndroid Build Coastguard Workermessage ListRelatedAccountGroupMembershipsRequest { 1770*d5c09012SAndroid Build Coastguard Worker // Required. The resource name for the related account group in the format 1771*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/relatedaccountgroups/{relatedaccountgroup}`. 1772*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 1773*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1774*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1775*d5c09012SAndroid Build Coastguard Worker child_type: "recaptchaenterprise.googleapis.com/RelatedAccountGroupMembership" 1776*d5c09012SAndroid Build Coastguard Worker } 1777*d5c09012SAndroid Build Coastguard Worker ]; 1778*d5c09012SAndroid Build Coastguard Worker 1779*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of accounts to return. The service might 1780*d5c09012SAndroid Build Coastguard Worker // return fewer than this value. If unspecified, at most 50 accounts are 1781*d5c09012SAndroid Build Coastguard Worker // returned. The maximum value is 1000; values above 1000 are coerced to 1000. 1782*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 1783*d5c09012SAndroid Build Coastguard Worker 1784*d5c09012SAndroid Build Coastguard Worker // Optional. A page token, received from a previous 1785*d5c09012SAndroid Build Coastguard Worker // `ListRelatedAccountGroupMemberships` call. 1786*d5c09012SAndroid Build Coastguard Worker // 1787*d5c09012SAndroid Build Coastguard Worker // When paginating, all other parameters provided to 1788*d5c09012SAndroid Build Coastguard Worker // `ListRelatedAccountGroupMemberships` must match the call that provided the 1789*d5c09012SAndroid Build Coastguard Worker // page token. 1790*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 1791*d5c09012SAndroid Build Coastguard Worker} 1792*d5c09012SAndroid Build Coastguard Worker 1793*d5c09012SAndroid Build Coastguard Worker// The response to a `ListRelatedAccountGroupMemberships` call. 1794*d5c09012SAndroid Build Coastguard Workermessage ListRelatedAccountGroupMembershipsResponse { 1795*d5c09012SAndroid Build Coastguard Worker // The memberships listed by the query. 1796*d5c09012SAndroid Build Coastguard Worker repeated RelatedAccountGroupMembership related_account_group_memberships = 1; 1797*d5c09012SAndroid Build Coastguard Worker 1798*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 1799*d5c09012SAndroid Build Coastguard Worker // If this field is omitted, there are no subsequent pages. 1800*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 1801*d5c09012SAndroid Build Coastguard Worker} 1802*d5c09012SAndroid Build Coastguard Worker 1803*d5c09012SAndroid Build Coastguard Worker// The request message to list related account groups. 1804*d5c09012SAndroid Build Coastguard Workermessage ListRelatedAccountGroupsRequest { 1805*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project to list related account groups from, in 1806*d5c09012SAndroid Build Coastguard Worker // the format `projects/{project}`. 1807*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 1808*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1809*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1810*d5c09012SAndroid Build Coastguard Worker child_type: "recaptchaenterprise.googleapis.com/RelatedAccountGroup" 1811*d5c09012SAndroid Build Coastguard Worker } 1812*d5c09012SAndroid Build Coastguard Worker ]; 1813*d5c09012SAndroid Build Coastguard Worker 1814*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of groups to return. The service might return 1815*d5c09012SAndroid Build Coastguard Worker // fewer than this value. If unspecified, at most 50 groups are returned. The 1816*d5c09012SAndroid Build Coastguard Worker // maximum value is 1000; values above 1000 are coerced to 1000. 1817*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 1818*d5c09012SAndroid Build Coastguard Worker 1819*d5c09012SAndroid Build Coastguard Worker // Optional. A page token, received from a previous `ListRelatedAccountGroups` 1820*d5c09012SAndroid Build Coastguard Worker // call. Provide this to retrieve the subsequent page. 1821*d5c09012SAndroid Build Coastguard Worker // 1822*d5c09012SAndroid Build Coastguard Worker // When paginating, all other parameters provided to 1823*d5c09012SAndroid Build Coastguard Worker // `ListRelatedAccountGroups` must match the call that provided the page 1824*d5c09012SAndroid Build Coastguard Worker // token. 1825*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 1826*d5c09012SAndroid Build Coastguard Worker} 1827*d5c09012SAndroid Build Coastguard Worker 1828*d5c09012SAndroid Build Coastguard Worker// The response to a `ListRelatedAccountGroups` call. 1829*d5c09012SAndroid Build Coastguard Workermessage ListRelatedAccountGroupsResponse { 1830*d5c09012SAndroid Build Coastguard Worker // The groups of related accounts listed by the query. 1831*d5c09012SAndroid Build Coastguard Worker repeated RelatedAccountGroup related_account_groups = 1; 1832*d5c09012SAndroid Build Coastguard Worker 1833*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 1834*d5c09012SAndroid Build Coastguard Worker // If this field is omitted, there are no subsequent pages. 1835*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 1836*d5c09012SAndroid Build Coastguard Worker} 1837*d5c09012SAndroid Build Coastguard Worker 1838*d5c09012SAndroid Build Coastguard Worker// The request message to search related account group memberships. 1839*d5c09012SAndroid Build Coastguard Workermessage SearchRelatedAccountGroupMembershipsRequest { 1840*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project to search related account group 1841*d5c09012SAndroid Build Coastguard Worker // memberships from. Specify the project name in the following format: 1842*d5c09012SAndroid Build Coastguard Worker // `projects/{project}`. 1843*d5c09012SAndroid Build Coastguard Worker string project = 1 [ 1844*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 1845*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 1846*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 1847*d5c09012SAndroid Build Coastguard Worker } 1848*d5c09012SAndroid Build Coastguard Worker ]; 1849*d5c09012SAndroid Build Coastguard Worker 1850*d5c09012SAndroid Build Coastguard Worker // Optional. The unique stable account identifier used to search connections. 1851*d5c09012SAndroid Build Coastguard Worker // The identifier should correspond to an `account_id` provided in a previous 1852*d5c09012SAndroid Build Coastguard Worker // `CreateAssessment` or `AnnotateAssessment` call. Either hashed_account_id 1853*d5c09012SAndroid Build Coastguard Worker // or account_id must be set, but not both. 1854*d5c09012SAndroid Build Coastguard Worker string account_id = 5 [(google.api.field_behavior) = OPTIONAL]; 1855*d5c09012SAndroid Build Coastguard Worker 1856*d5c09012SAndroid Build Coastguard Worker // Optional. Deprecated: use `account_id` instead. 1857*d5c09012SAndroid Build Coastguard Worker // The unique stable hashed account identifier used to search connections. The 1858*d5c09012SAndroid Build Coastguard Worker // identifier should correspond to a `hashed_account_id` provided in a 1859*d5c09012SAndroid Build Coastguard Worker // previous `CreateAssessment` or `AnnotateAssessment` call. Either 1860*d5c09012SAndroid Build Coastguard Worker // hashed_account_id or account_id must be set, but not both. 1861*d5c09012SAndroid Build Coastguard Worker bytes hashed_account_id = 2 1862*d5c09012SAndroid Build Coastguard Worker [deprecated = true, (google.api.field_behavior) = OPTIONAL]; 1863*d5c09012SAndroid Build Coastguard Worker 1864*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of groups to return. The service might return 1865*d5c09012SAndroid Build Coastguard Worker // fewer than this value. If unspecified, at most 50 groups are returned. The 1866*d5c09012SAndroid Build Coastguard Worker // maximum value is 1000; values above 1000 are coerced to 1000. 1867*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; 1868*d5c09012SAndroid Build Coastguard Worker 1869*d5c09012SAndroid Build Coastguard Worker // Optional. A page token, received from a previous 1870*d5c09012SAndroid Build Coastguard Worker // `SearchRelatedAccountGroupMemberships` call. Provide this to retrieve the 1871*d5c09012SAndroid Build Coastguard Worker // subsequent page. 1872*d5c09012SAndroid Build Coastguard Worker // 1873*d5c09012SAndroid Build Coastguard Worker // When paginating, all other parameters provided to 1874*d5c09012SAndroid Build Coastguard Worker // `SearchRelatedAccountGroupMemberships` must match the call that provided 1875*d5c09012SAndroid Build Coastguard Worker // the page token. 1876*d5c09012SAndroid Build Coastguard Worker string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; 1877*d5c09012SAndroid Build Coastguard Worker} 1878*d5c09012SAndroid Build Coastguard Worker 1879*d5c09012SAndroid Build Coastguard Worker// The response to a `SearchRelatedAccountGroupMemberships` call. 1880*d5c09012SAndroid Build Coastguard Workermessage SearchRelatedAccountGroupMembershipsResponse { 1881*d5c09012SAndroid Build Coastguard Worker // The queried memberships. 1882*d5c09012SAndroid Build Coastguard Worker repeated RelatedAccountGroupMembership related_account_group_memberships = 1; 1883*d5c09012SAndroid Build Coastguard Worker 1884*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 1885*d5c09012SAndroid Build Coastguard Worker // If this field is omitted, there are no subsequent pages. 1886*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 1887*d5c09012SAndroid Build Coastguard Worker} 1888*d5c09012SAndroid Build Coastguard Worker 1889*d5c09012SAndroid Build Coastguard Worker// A membership in a group of related accounts. 1890*d5c09012SAndroid Build Coastguard Workermessage RelatedAccountGroupMembership { 1891*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1892*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/RelatedAccountGroupMembership" 1893*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}" 1894*d5c09012SAndroid Build Coastguard Worker plural: "relatedAccountGroupMemberships" 1895*d5c09012SAndroid Build Coastguard Worker singular: "relatedAccountGroupMembership" 1896*d5c09012SAndroid Build Coastguard Worker }; 1897*d5c09012SAndroid Build Coastguard Worker 1898*d5c09012SAndroid Build Coastguard Worker // Required. Identifier. The resource name for this membership in the format 1899*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`. 1900*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 1901*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IDENTIFIER, 1902*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED 1903*d5c09012SAndroid Build Coastguard Worker ]; 1904*d5c09012SAndroid Build Coastguard Worker 1905*d5c09012SAndroid Build Coastguard Worker // The unique stable account identifier of the member. The identifier 1906*d5c09012SAndroid Build Coastguard Worker // corresponds to an `account_id` provided in a previous `CreateAssessment` or 1907*d5c09012SAndroid Build Coastguard Worker // `AnnotateAssessment` call. 1908*d5c09012SAndroid Build Coastguard Worker string account_id = 4; 1909*d5c09012SAndroid Build Coastguard Worker 1910*d5c09012SAndroid Build Coastguard Worker // Deprecated: use `account_id` instead. 1911*d5c09012SAndroid Build Coastguard Worker // The unique stable hashed account identifier of the member. The identifier 1912*d5c09012SAndroid Build Coastguard Worker // corresponds to a `hashed_account_id` provided in a previous 1913*d5c09012SAndroid Build Coastguard Worker // `CreateAssessment` or `AnnotateAssessment` call. 1914*d5c09012SAndroid Build Coastguard Worker bytes hashed_account_id = 2 [deprecated = true]; 1915*d5c09012SAndroid Build Coastguard Worker} 1916*d5c09012SAndroid Build Coastguard Worker 1917*d5c09012SAndroid Build Coastguard Worker// A group of related accounts. 1918*d5c09012SAndroid Build Coastguard Workermessage RelatedAccountGroup { 1919*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 1920*d5c09012SAndroid Build Coastguard Worker type: "recaptchaenterprise.googleapis.com/RelatedAccountGroup" 1921*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/relatedaccountgroups/{relatedaccountgroup}" 1922*d5c09012SAndroid Build Coastguard Worker plural: "relatedAccountGroups" 1923*d5c09012SAndroid Build Coastguard Worker singular: "relatedAccountGroup" 1924*d5c09012SAndroid Build Coastguard Worker }; 1925*d5c09012SAndroid Build Coastguard Worker 1926*d5c09012SAndroid Build Coastguard Worker // Required. Identifier. The resource name for the related account group in 1927*d5c09012SAndroid Build Coastguard Worker // the format 1928*d5c09012SAndroid Build Coastguard Worker // `projects/{project}/relatedaccountgroups/{related_account_group}`. 1929*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 1930*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IDENTIFIER, 1931*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED 1932*d5c09012SAndroid Build Coastguard Worker ]; 1933*d5c09012SAndroid Build Coastguard Worker} 1934*d5c09012SAndroid Build Coastguard Worker 1935*d5c09012SAndroid Build Coastguard Worker// Settings specific to keys that can be used for WAF (Web Application 1936*d5c09012SAndroid Build Coastguard Worker// Firewall). 1937*d5c09012SAndroid Build Coastguard Workermessage WafSettings { 1938*d5c09012SAndroid Build Coastguard Worker // Supported WAF features. For more information, see 1939*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/recaptcha-enterprise/docs/usecase#comparison_of_features. 1940*d5c09012SAndroid Build Coastguard Worker enum WafFeature { 1941*d5c09012SAndroid Build Coastguard Worker // Undefined feature. 1942*d5c09012SAndroid Build Coastguard Worker WAF_FEATURE_UNSPECIFIED = 0; 1943*d5c09012SAndroid Build Coastguard Worker 1944*d5c09012SAndroid Build Coastguard Worker // Redirects suspicious traffic to reCAPTCHA. 1945*d5c09012SAndroid Build Coastguard Worker CHALLENGE_PAGE = 1; 1946*d5c09012SAndroid Build Coastguard Worker 1947*d5c09012SAndroid Build Coastguard Worker // Use reCAPTCHA session-tokens to protect the whole user session on the 1948*d5c09012SAndroid Build Coastguard Worker // site's domain. 1949*d5c09012SAndroid Build Coastguard Worker SESSION_TOKEN = 2; 1950*d5c09012SAndroid Build Coastguard Worker 1951*d5c09012SAndroid Build Coastguard Worker // Use reCAPTCHA action-tokens to protect user actions. 1952*d5c09012SAndroid Build Coastguard Worker ACTION_TOKEN = 3; 1953*d5c09012SAndroid Build Coastguard Worker 1954*d5c09012SAndroid Build Coastguard Worker // Use reCAPTCHA WAF express protection to protect any content other than 1955*d5c09012SAndroid Build Coastguard Worker // web pages, like APIs and IoT devices. 1956*d5c09012SAndroid Build Coastguard Worker EXPRESS = 5; 1957*d5c09012SAndroid Build Coastguard Worker } 1958*d5c09012SAndroid Build Coastguard Worker 1959*d5c09012SAndroid Build Coastguard Worker // Web Application Firewalls supported by reCAPTCHA Enterprise. 1960*d5c09012SAndroid Build Coastguard Worker enum WafService { 1961*d5c09012SAndroid Build Coastguard Worker // Undefined WAF 1962*d5c09012SAndroid Build Coastguard Worker WAF_SERVICE_UNSPECIFIED = 0; 1963*d5c09012SAndroid Build Coastguard Worker 1964*d5c09012SAndroid Build Coastguard Worker // Cloud Armor 1965*d5c09012SAndroid Build Coastguard Worker CA = 1; 1966*d5c09012SAndroid Build Coastguard Worker 1967*d5c09012SAndroid Build Coastguard Worker // Fastly 1968*d5c09012SAndroid Build Coastguard Worker FASTLY = 3; 1969*d5c09012SAndroid Build Coastguard Worker 1970*d5c09012SAndroid Build Coastguard Worker // Cloudflare 1971*d5c09012SAndroid Build Coastguard Worker CLOUDFLARE = 4; 1972*d5c09012SAndroid Build Coastguard Worker } 1973*d5c09012SAndroid Build Coastguard Worker 1974*d5c09012SAndroid Build Coastguard Worker // Required. The WAF service that uses this key. 1975*d5c09012SAndroid Build Coastguard Worker WafService waf_service = 1 [(google.api.field_behavior) = REQUIRED]; 1976*d5c09012SAndroid Build Coastguard Worker 1977*d5c09012SAndroid Build Coastguard Worker // Required. The WAF feature for which this key is enabled. 1978*d5c09012SAndroid Build Coastguard Worker WafFeature waf_feature = 2 [(google.api.field_behavior) = REQUIRED]; 1979*d5c09012SAndroid Build Coastguard Worker} 1980