@@ -127,6 +127,18 @@ service RecaptchaEnterpriseService {
127127 };
128128 }
129129
130+ // Adds an IP override to a key. The following restrictions hold:
131+ // * The maximum number of IP overrides per key is 100.
132+ // * For any conflict (such as IP already exists or IP part of an existing
133+ // IP range), an error will be returned.
134+ rpc AddIpOverride (AddIpOverrideRequest ) returns (AddIpOverrideResponse ) {
135+ option (google.api.http ) = {
136+ post : "/v1/{name=projects/*/keys/*}:addIpOverride"
137+ body : "*"
138+ };
139+ option (google.api.method_signature ) = "name,ip_override_data" ;
140+ }
141+
130142 // Get some aggregated metrics for a Key. This data can be used to build
131143 // dashboards.
132144 rpc GetMetrics (GetMetricsRequest ) returns (Metrics ) {
@@ -708,8 +720,7 @@ message Event {
708720 [deprecated = true , (google.api.field_behavior ) = OPTIONAL ];
709721
710722 // Optional. Flag for a reCAPTCHA express request for an assessment without a
711- // token. If enabled, `site_key` must reference a SCORE key with WAF feature
712- // set to EXPRESS.
723+ // token. If enabled, `site_key` must reference an Express site key.
713724 bool express = 14 [(google.api.field_behavior ) = OPTIONAL ];
714725
715726 // Optional. The URI resource the user requested that triggered an assessment.
@@ -1388,11 +1399,11 @@ message MigrateKeyRequest {
13881399 // Optional. If true, skips the billing check.
13891400 // A reCAPTCHA Enterprise key or migrated key behaves differently than a
13901401 // reCAPTCHA (non-Enterprise version) key when you reach a quota limit (see
1391- // https://cloud.google.com/recaptcha-enterprise /quotas#quota_limit). To avoid
1402+ // https://cloud.google.com/recaptcha/quotas#quota_limit). To avoid
13921403 // any disruption of your usage, we check that a billing account is present.
13931404 // If your usage of reCAPTCHA is under the free quota, you can safely skip the
13941405 // billing check and proceed with the migration. See
1395- // https://cloud.google.com/recaptcha-enterprise /docs/billing-information.
1406+ // https://cloud.google.com/recaptcha/docs/billing-information.
13961407 bool skip_billing_check = 2 [(google.api.field_behavior ) = OPTIONAL ];
13971408}
13981409
@@ -1475,10 +1486,13 @@ message Key {
14751486
14761487 // Settings for keys that can be used by iOS apps.
14771488 IOSKeySettings ios_settings = 5 ;
1489+
1490+ // Settings for keys that can be used by reCAPTCHA Express.
1491+ ExpressKeySettings express_settings = 11 ;
14781492 }
14791493
14801494 // Optional. See [Creating and managing labels]
1481- // (https://cloud.google.com/recaptcha-enterprise /docs/labels).
1495+ // (https://cloud.google.com/recaptcha/docs/labels).
14821496 map <string , string > labels = 6 [(google.api.field_behavior ) = OPTIONAL ];
14831497
14841498 // Output only. The timestamp corresponding to the creation of this key.
@@ -1618,6 +1632,9 @@ message IOSKeySettings {
16181632 [(google.api.field_behavior ) = OPTIONAL ];
16191633}
16201634
1635+ // Settings specific to keys that can be used for reCAPTCHA Express.
1636+ message ExpressKeySettings {}
1637+
16211638// Contains fields that are required to perform Apple-specific integrity checks.
16221639message AppleDeveloperId {
16231640 // Required. Input only. A private key (downloaded as a text file with a .p8
@@ -1919,6 +1936,24 @@ message SearchRelatedAccountGroupMembershipsResponse {
19191936 string next_page_token = 2 ;
19201937}
19211938
1939+ // The AddIpOverride request message.
1940+ message AddIpOverrideRequest {
1941+ // Required. The name of the key to which the IP override is added, in the
1942+ // format `projects/{project}/keys/{key}`.
1943+ string name = 1 [
1944+ (google.api.field_behavior ) = REQUIRED ,
1945+ (google.api.resource_reference ) = {
1946+ type : "recaptchaenterprise.googleapis.com/Key"
1947+ }
1948+ ];
1949+
1950+ // Required. IP override added to the key.
1951+ IpOverrideData ip_override_data = 2 [(google.api.field_behavior ) = REQUIRED ];
1952+ }
1953+
1954+ // Response for AddIpOverride.
1955+ message AddIpOverrideResponse {}
1956+
19221957// A membership in a group of related accounts.
19231958message RelatedAccountGroupMembership {
19241959 option (google.api.resource ) = {
@@ -1969,7 +2004,7 @@ message RelatedAccountGroup {
19692004// Firewall).
19702005message WafSettings {
19712006 // Supported WAF features. For more information, see
1972- // https://cloud.google.com/recaptcha-enterprise /docs/usecase#comparison_of_features.
2007+ // https://cloud.google.com/recaptcha/docs/usecase#comparison_of_features.
19732008 enum WafFeature {
19742009 // Undefined feature.
19752010 WAF_FEATURE_UNSPECIFIED = 0 ;
@@ -2010,3 +2045,31 @@ message WafSettings {
20102045 // Required. The WAF feature for which this key is enabled.
20112046 WafFeature waf_feature = 2 [(google.api.field_behavior ) = REQUIRED ];
20122047}
2048+
2049+ // Information about the IP or IP range override.
2050+ message IpOverrideData {
2051+ // Enum that represents the type of IP override.
2052+ enum OverrideType {
2053+ // Default override type that indicates this enum hasn't been specified.
2054+ OVERRIDE_TYPE_UNSPECIFIED = 0 ;
2055+
2056+ // Allowlist the IP address; i.e. give a `risk_analysis.score` of 0.9 for
2057+ // all valid assessments.
2058+ ALLOW = 1 ;
2059+ }
2060+
2061+ // Required. The IP address to override (can be IPv4, IPv6 or CIDR).
2062+ // The IP override must be a valid IPv4 or IPv6 address, or a CIDR range.
2063+ // The IP override must be a public IP address.
2064+ // Example of IPv4: 168.192.5.6
2065+ // Example of IPv6: 2001:0000:130F:0000:0000:09C0:876A:130B
2066+ // Example of IPv4 with CIDR: 168.192.5.0/24
2067+ // Example of IPv6 with CIDR: 2001:0DB8:1234::/48
2068+ string ip = 1 [
2069+ (google.api.field_info ).format = IPV4_OR_IPV6 ,
2070+ (google.api.field_behavior ) = REQUIRED
2071+ ];
2072+
2073+ // Required. Describes the type of IP override.
2074+ OverrideType override_type = 3 [(google.api.field_behavior ) = REQUIRED ];
2075+ }
0 commit comments