Create a rate limit
Deprecated
rate_limits.create(RateLimitCreateParams**kwargs) -> RateLimit
POST/zones/{zone_id}/rate_limits
Creates a new rate limit for a zone. Refer to the object definition for a list of required attributes.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Accepted Permissions (at least one required)
Create a rate limit
import os
from cloudflare import Cloudflare
client = Cloudflare(
api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted
)
rate_limit = client.rate_limits.create(
zone_id="023e105f4ecef8ad9ca31a8372d0c353",
action={},
match={},
period=900,
threshold=60,
)
print(rate_limit.id){
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"result": {
"id": "372e67954025e0ba6aaa6d586b9e0b59",
"action": {
"mode": "challenge",
"response": {
"body": "<error>This request has been rate-limited.</error>",
"content_type": "text/xml"
},
"timeout": 86400
},
"bypass": [
{
"name": "url",
"value": "api.example.com/*"
}
],
"description": "Prevent multiple login failures to mitigate brute force attacks",
"disabled": false,
"match": {
"headers": [
{
"name": "Cf-Cache-Status",
"op": "ne",
"value": "HIT"
}
],
"request": {
"methods": [
"GET",
"POST"
],
"schemes": [
"HTTP",
"HTTPS"
],
"url": "*.example.org/path*"
},
"response": {
"origin_traffic": true
}
},
"period": 900,
"threshold": 60
},
"success": true
}Returns Examples
{
"errors": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"messages": [
{
"code": 1000,
"message": "message",
"documentation_url": "documentation_url",
"source": {
"pointer": "pointer"
}
}
],
"result": {
"id": "372e67954025e0ba6aaa6d586b9e0b59",
"action": {
"mode": "challenge",
"response": {
"body": "<error>This request has been rate-limited.</error>",
"content_type": "text/xml"
},
"timeout": 86400
},
"bypass": [
{
"name": "url",
"value": "api.example.com/*"
}
],
"description": "Prevent multiple login failures to mitigate brute force attacks",
"disabled": false,
"match": {
"headers": [
{
"name": "Cf-Cache-Status",
"op": "ne",
"value": "HIT"
}
],
"request": {
"methods": [
"GET",
"POST"
],
"schemes": [
"HTTP",
"HTTPS"
],
"url": "*.example.org/path*"
},
"response": {
"origin_traffic": true
}
},
"period": 900,
"threshold": 60
},
"success": true
}