SmartCaptcha API, gRPC: CaptchaService.Create
- gRPC request
- CreateCaptchaRequest
- SecurityRule
- Condition
- HostMatcher
- StringMatcher
- UriMatcher
- QueryMatcher
- HeaderMatcher
- IpMatcher
- IpRangesMatcher
- GeoIpMatcher
- OverrideVariant
- operation.Operation
- CreateCaptchaMetadata
- Captcha
- SecurityRule
- Condition
- HostMatcher
- StringMatcher
- UriMatcher
- QueryMatcher
- HeaderMatcher
- IpMatcher
- IpRangesMatcher
- GeoIpMatcher
- OverrideVariant
Creates a captcha in the specified folder using the data specified in the request.
gRPC request
rpc Create (CreateCaptchaRequest) returns (operation.Operation)
CreateCaptchaRequest
{
"folder_id": "string",
"name": "string",
"allowed_sites": [
"string"
],
"complexity": "CaptchaComplexity",
"style_json": "string",
"turn_off_hostname_check": "bool",
"pre_check_type": "CaptchaPreCheckType",
"challenge_type": "CaptchaChallengeType",
"security_rules": [
{
"name": "string",
"priority": "int64",
"description": "string",
"condition": {
"host": {
"hosts": [
{
// Includes only one of the fields `exact_match`, `exact_not_match`, `prefix_match`, `prefix_not_match`, `pire_regex_match`, `pire_regex_not_match`
"exact_match": "string",
"exact_not_match": "string",
"prefix_match": "string",
"prefix_not_match": "string",
"pire_regex_match": "string",
"pire_regex_not_match": "string"
// end of the list of possible fields
}
]
},
"uri": {
"path": {
// Includes only one of the fields `exact_match`, `exact_not_match`, `prefix_match`, `prefix_not_match`, `pire_regex_match`, `pire_regex_not_match`
"exact_match": "string",
"exact_not_match": "string",
"prefix_match": "string",
"prefix_not_match": "string",
"pire_regex_match": "string",
"pire_regex_not_match": "string"
// end of the list of possible fields
},
"queries": [
{
"key": "string",
"value": {
// Includes only one of the fields `exact_match`, `exact_not_match`, `prefix_match`, `prefix_not_match`, `pire_regex_match`, `pire_regex_not_match`
"exact_match": "string",
"exact_not_match": "string",
"prefix_match": "string",
"prefix_not_match": "string",
"pire_regex_match": "string",
"pire_regex_not_match": "string"
// end of the list of possible fields
}
}
]
},
"headers": [
{
"name": "string",
"value": {
// Includes only one of the fields `exact_match`, `exact_not_match`, `prefix_match`, `prefix_not_match`, `pire_regex_match`, `pire_regex_not_match`
"exact_match": "string",
"exact_not_match": "string",
"prefix_match": "string",
"prefix_not_match": "string",
"pire_regex_match": "string",
"pire_regex_not_match": "string"
// end of the list of possible fields
}
}
],
"source_ip": {
"ip_ranges_match": {
"ip_ranges": [
"string"
]
},
"ip_ranges_not_match": {
"ip_ranges": [
"string"
]
},
"geo_ip_match": {
"locations": [
"string"
]
},
"geo_ip_not_match": {
"locations": [
"string"
]
}
}
},
"override_variant_uuid": "string"
}
],
"deletion_protection": "bool",
"override_variants": [
{
"uuid": "string",
"description": "string",
"complexity": "CaptchaComplexity",
"pre_check_type": "CaptchaPreCheckType",
"challenge_type": "CaptchaChallengeType"
}
]
}
Field |
Description |
folder_id |
string Required field. ID of the folder to create a captcha in. |
name |
string Name of the captcha. |
allowed_sites[] |
string List of allowed host names, see Domain validation. |
complexity |
enum CaptchaComplexity Complexity of the captcha.
|
style_json |
string JSON with variables to define the captcha appearance. For more details see generated JSON in cloud console. |
turn_off_hostname_check |
bool Turn off host name check, see Domain validation. |
pre_check_type |
enum CaptchaPreCheckType Basic check type of the captcha.
|
challenge_type |
enum CaptchaChallengeType Additional task type of the captcha.
|
security_rules[] |
List of security rules. |
deletion_protection |
bool Determines whether captcha is protected from being deleted. |
override_variants[] |
List of variants to use in security_rules |
SecurityRule
SecurityRule object. Defines the condition and action: when and which variant to show.
Field |
Description |
name |
string Required field. Name of the rule. The name is unique within the captcha. 1-50 characters long. |
priority |
int64 Priority of the rule. Lower value means higher priority. |
description |
string Optional description of the rule. 0-512 characters long. |
condition |
The condition for matching the rule. |
override_variant_uuid |
string Variant UUID to show in case of match the rule. Keep empty to use defaults. |
Condition
Condition object. AND semantics implied.
Field |
Description |
host |
Host where captcha placed. |
uri |
URI where captcha placed. |
headers[] |
Captcha request headers. |
source_ip |
The IP address of the requester. |
HostMatcher
HostMatcher object.
Field |
Description |
hosts[] |
List of hosts. OR semantics implied. |
StringMatcher
StringMatcher object.
Field |
Description |
exact_match |
string Includes only one of the fields |
exact_not_match |
string Includes only one of the fields |
prefix_match |
string Includes only one of the fields |
prefix_not_match |
string Includes only one of the fields |
pire_regex_match |
string Includes only one of the fields |
pire_regex_not_match |
string Includes only one of the fields |
UriMatcher
UriMatcher object. AND semantics implied.
Field |
Description |
path |
Path of the URI RFC3986 |
queries[] |
List of query matchers. AND semantics implied. |
QueryMatcher
QueryMatcher object.
Field |
Description |
key |
string Required field. Key of the query parameter. |
value |
Required field. Value of the query parameter. |
HeaderMatcher
HeaderMatcher object.
Field |
Description |
name |
string Required field. Name of header (case insensitive). |
value |
Required field. Value of the header. |
IpMatcher
IpMatcher object. AND semantics implied.
Field |
Description |
ip_ranges_match |
|
ip_ranges_not_match |
|
geo_ip_match |
|
geo_ip_not_match |
IpRangesMatcher
IpRangesMatcher object.
Field |
Description |
ip_ranges[] |
string List of IP ranges. OR semantics implied. |
GeoIpMatcher
GeoIpMatcher object.
Field |
Description |
locations[] |
string ISO 3166-1 alpha 2. OR semantics implied. |
OverrideVariant
OverrideVariant object. Contains the settings to override.
Field |
Description |
uuid |
string Unique identifier of the variant. |
description |
string Optional description of the rule. 0-512 characters long. |
complexity |
enum CaptchaComplexity Complexity of the captcha.
|
pre_check_type |
enum CaptchaPreCheckType Basic check type of the captcha.
|
challenge_type |
enum CaptchaChallengeType Additional task type of the captcha.
|
operation.Operation
{
"id": "string",
"description": "string",
"created_at": "google.protobuf.Timestamp",
"created_by": "string",
"modified_at": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"captcha_id": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"id": "string",
"folder_id": "string",
"cloud_id": "string",
"client_key": "string",
"created_at": "google.protobuf.Timestamp",
"name": "string",
"allowed_sites": [
"string"
],
"complexity": "CaptchaComplexity",
"style_json": "string",
"suspend": "bool",
"turn_off_hostname_check": "bool",
"pre_check_type": "CaptchaPreCheckType",
"challenge_type": "CaptchaChallengeType",
"security_rules": [
{
"name": "string",
"priority": "int64",
"description": "string",
"condition": {
"host": {
"hosts": [
{
// Includes only one of the fields `exact_match`, `exact_not_match`, `prefix_match`, `prefix_not_match`, `pire_regex_match`, `pire_regex_not_match`
"exact_match": "string",
"exact_not_match": "string",
"prefix_match": "string",
"prefix_not_match": "string",
"pire_regex_match": "string",
"pire_regex_not_match": "string"
// end of the list of possible fields
}
]
},
"uri": {
"path": {
// Includes only one of the fields `exact_match`, `exact_not_match`, `prefix_match`, `prefix_not_match`, `pire_regex_match`, `pire_regex_not_match`
"exact_match": "string",
"exact_not_match": "string",
"prefix_match": "string",
"prefix_not_match": "string",
"pire_regex_match": "string",
"pire_regex_not_match": "string"
// end of the list of possible fields
},
"queries": [
{
"key": "string",
"value": {
// Includes only one of the fields `exact_match`, `exact_not_match`, `prefix_match`, `prefix_not_match`, `pire_regex_match`, `pire_regex_not_match`
"exact_match": "string",
"exact_not_match": "string",
"prefix_match": "string",
"prefix_not_match": "string",
"pire_regex_match": "string",
"pire_regex_not_match": "string"
// end of the list of possible fields
}
}
]
},
"headers": [
{
"name": "string",
"value": {
// Includes only one of the fields `exact_match`, `exact_not_match`, `prefix_match`, `prefix_not_match`, `pire_regex_match`, `pire_regex_not_match`
"exact_match": "string",
"exact_not_match": "string",
"prefix_match": "string",
"prefix_not_match": "string",
"pire_regex_match": "string",
"pire_regex_not_match": "string"
// end of the list of possible fields
}
}
],
"source_ip": {
"ip_ranges_match": {
"ip_ranges": [
"string"
]
},
"ip_ranges_not_match": {
"ip_ranges": [
"string"
]
},
"geo_ip_match": {
"locations": [
"string"
]
},
"geo_ip_not_match": {
"locations": [
"string"
]
}
}
},
"override_variant_uuid": "string"
}
],
"deletion_protection": "bool",
"override_variants": [
{
"uuid": "string",
"description": "string",
"complexity": "CaptchaComplexity",
"pre_check_type": "CaptchaPreCheckType",
"challenge_type": "CaptchaChallengeType"
}
]
}
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field |
Description |
id |
string ID of the operation. |
description |
string Description of the operation. 0-256 characters long. |
created_at |
Creation timestamp. |
created_by |
string ID of the user or service account who initiated the operation. |
modified_at |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
CreateCaptchaMetadata
Field |
Description |
captcha_id |
string ID of the captcha that is being created. |
Captcha
A Captcha resource.
Field |
Description |
id |
string ID of the captcha. |
folder_id |
string ID of the folder that the captcha belongs to. |
cloud_id |
string ID of the cloud that the captcha belongs to. |
client_key |
string Client key of the captcha, see CAPTCHA keys. |
created_at |
Creation timestamp in RFC3339 |
name |
string Name of the captcha. The name is unique within the folder. 3-63 characters long. |
allowed_sites[] |
string List of allowed host names, see Domain validation. |
complexity |
enum CaptchaComplexity Complexity of the captcha.
|
style_json |
string JSON with variables to define the captcha appearance. For more details see generated JSON in cloud console. |
suspend |
bool Determines that the captcha is currently in restricted mode, see SmartCaptcha restricted mode. |
turn_off_hostname_check |
bool Turn off host name check, see Domain validation. |
pre_check_type |
enum CaptchaPreCheckType Basic check type of the captcha.
|
challenge_type |
enum CaptchaChallengeType Additional task type of the captcha.
|
security_rules[] |
List of security rules. |
deletion_protection |
bool Determines whether captcha is protected from being deleted. |
override_variants[] |
List of variants to use in security_rules |
SecurityRule
SecurityRule object. Defines the condition and action: when and which variant to show.
Field |
Description |
name |
string Required field. Name of the rule. The name is unique within the captcha. 1-50 characters long. |
priority |
int64 Priority of the rule. Lower value means higher priority. |
description |
string Optional description of the rule. 0-512 characters long. |
condition |
The condition for matching the rule. |
override_variant_uuid |
string Variant UUID to show in case of match the rule. Keep empty to use defaults. |
Condition
Condition object. AND semantics implied.
Field |
Description |
host |
Host where captcha placed. |
uri |
URI where captcha placed. |
headers[] |
Captcha request headers. |
source_ip |
The IP address of the requester. |
HostMatcher
HostMatcher object.
Field |
Description |
hosts[] |
List of hosts. OR semantics implied. |
StringMatcher
StringMatcher object.
Field |
Description |
exact_match |
string Includes only one of the fields |
exact_not_match |
string Includes only one of the fields |
prefix_match |
string Includes only one of the fields |
prefix_not_match |
string Includes only one of the fields |
pire_regex_match |
string Includes only one of the fields |
pire_regex_not_match |
string Includes only one of the fields |
UriMatcher
UriMatcher object. AND semantics implied.
Field |
Description |
path |
Path of the URI RFC3986 |
queries[] |
List of query matchers. AND semantics implied. |
QueryMatcher
QueryMatcher object.
Field |
Description |
key |
string Required field. Key of the query parameter. |
value |
Required field. Value of the query parameter. |
HeaderMatcher
HeaderMatcher object.
Field |
Description |
name |
string Required field. Name of header (case insensitive). |
value |
Required field. Value of the header. |
IpMatcher
IpMatcher object. AND semantics implied.
Field |
Description |
ip_ranges_match |
|
ip_ranges_not_match |
|
geo_ip_match |
|
geo_ip_not_match |
IpRangesMatcher
IpRangesMatcher object.
Field |
Description |
ip_ranges[] |
string List of IP ranges. OR semantics implied. |
GeoIpMatcher
GeoIpMatcher object.
Field |
Description |
locations[] |
string ISO 3166-1 alpha 2. OR semantics implied. |
OverrideVariant
OverrideVariant object. Contains the settings to override.
Field |
Description |
uuid |
string Unique identifier of the variant. |
description |
string Optional description of the rule. 0-512 characters long. |
complexity |
enum CaptchaComplexity Complexity of the captcha.
|
pre_check_type |
enum CaptchaPreCheckType Basic check type of the captcha.
|
challenge_type |
enum CaptchaChallengeType Additional task type of the captcha.
|