> ## Documentation Index
> Fetch the complete documentation index at: https://bunny.net/docs/llms.txt
> Use this file to discover all available pages before exploring further.
# Add/Update Edge Rule
## OpenAPI
````yaml https://core-api-public-docs.b-cdn.net/docs/v3/public.json post /pullzone/{pullZoneId}/edgerules/addOrUpdate
openapi: 3.0.0
info:
title: bunny.net API
description: >-
Learn how to use the [bunny.net](https://bunny.net "bunny.net - The content delivery platform that truly hops.") API. Everything that can be done with the control panel can also be achieved with our API documented on this page. To learn how to use the storage API, have a look at our storage API documentation
Third party API clients:
We currently do not maintain an official API library, but you can use one of the third party ones provided here:
https://github.com/codewithmark/bunnycdn (bunny.net PHP library, thanks to Code With Mark)
Note that third party clients are not maintained or developed by bunny.net so we unfortunately cannot offer support for them.
termsOfService: https://bunny.net/tos
contact:
name: bunny.net
url: https://docs.bunny.net
email: support@bunny.net
version: 1.0.0
servers:
- url: https://api.bunny.net
description: bunny.net API Server
security:
- AccessKey: []
tags:
- name: Stream Video Library
- name: User
- name: AuditLog
- name: Storage Zone
- name: Statistics
- name: Search
- name: Pull Zone
- name: Pricing
- name: Load Balancer
- name: DNS Zone
- name: DNSSEC
- name: Billing
- name: API Keys
- name: Affiliate
- name: Countries
- name: Purge
- name: Region
paths:
/pullzone/{pullZoneId}/edgerules/addOrUpdate:
post:
tags:
- Pull Zone
summary: Add/Update Edge Rule
operationId: PullZonePublic_AddEdgeRule
parameters:
- name: pullZoneId
in: path
required: true
description: The ID of the Pull Zone where the Edge Rule will be created
schema:
type: integer
format: int64
x-position: 1
requestBody:
x-name: edgeRuleModel
description: The Edge Rule that will be added
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeRuleV2Model'
required: true
x-position: 2
responses:
'201':
description: The Edge Rule was successfully added
'401':
description: The request authorization failed
'404':
description: The Pull Zone with the requested ID does not exist
'500':
description: Internal Server Error
components:
schemas:
EdgeRuleV2Model:
type: object
additionalProperties: false
properties:
Guid:
type: string
description: The unique GUID of the edge rule
nullable: true
ActionType:
description: |-
The action type of the edge rule
Show all 38 values
| Value | Name |
|---|---|
| `0` | Force SSL |
| `1` | Redirect |
| `2` | Origin URL |
| `3` | Override Cache Time |
| `4` | Block Request |
| `5` | Set Response Header |
| `6` | Set Request Header |
| `7` | Force Download |
| `8` | Disable Token Authentication |
| `9` | Enable Token Authentication |
| `10` | Override Cache Time Public |
| `11` | Ignore Query String |
| `12` | Disable Optimizer |
| `13` | Force Compression |
| `14` | Set Status Code |
| `15` | Bypass Perma-Cache |
| `16` | Override Browser Cache Time |
| `17` | Origin Storage |
| `18` | Set Network Rate Limit |
| `19` | Set Connection Limit |
| `20` | Set Requests Per Second Limit |
| `21` | Run Edge Script |
| `22` | Origin Magic Containers |
| `23` | Disable WAF |
| `24` | Retry Origin |
| `25` | Override Browser Cache Response Header |
| `26` | Remove Browser Cache Response Header |
| `27` | Disable Shield Challenge |
| `28` | Disable Shield |
| `29` | Disable Shield Bot Detection |
| `30` | Bypass AWS S3 Authentication |
| `31` | Disable Shield Access Lists |
| `32` | Disable Shield Rate Limiting |
| `33` | Enable Request Coalescing |
| `34` | Disable Request Coalescing |
| `35` | Use Load Balancer |
| `36` | Force Load Balancer Sticky Session Mode |
| `37` | Strip Cookies (Client to Origin) |
oneOf:
- $ref: '#/components/schemas/EdgeRuleActionType'
ActionParameter1:
type: string
description: >-
The Action parameter 1. The value depends on other parameters of the
edge rule.
nullable: true
ActionParameter2:
type: string
description: >-
The Action parameter 2. The value depends on other parameters of the
edge rule.
nullable: true
ActionParameter3:
type: string
description: >-
The Action parameter 3. The value depends on other parameters of the
edge rule.
nullable: true
Triggers:
type: array
nullable: true
items:
$ref: '#/components/schemas/Trigger'
ExtraActions:
type: array
nullable: true
items:
$ref: '#/components/schemas/EdgeRuleV2ActionModel'
TriggerMatchingType:
description: |-
The trigger matching type
0 = Match Any
1 = Match All
2 = Match None
oneOf:
- $ref: '#/components/schemas/TriggerMatchingTypes'
Description:
type: string
description: The description of the edge rule
nullable: true
Enabled:
type: boolean
description: Determines if the edge rule is currently enabled or not
OrderIndex:
type: integer
description: The index of the edge rule in the list of execution priority
format: int32
ReadOnly:
type: boolean
description: >-
Determines if the edge rule is read-only and cannot be modified or
deleted
EdgeRuleActionType:
type: integer
description: |-
0 = Force SSL
1 = Redirect
2 = Origin URL
3 = Override Cache Time
4 = Block Request
5 = Set Response Header
6 = Set Request Header
7 = Force Download
8 = Disable Token Authentication
9 = Enable Token Authentication
10 = Override Cache Time Public
11 = Ignore Query String
12 = Disable Optimizer
13 = Force Compression
14 = Set Status Code
15 = Bypass Perma-Cache
16 = Override Browser Cache Time
17 = Origin Storage
18 = Set Network Rate Limit
19 = Set Connection Limit
20 = Set Requests Per Second Limit
21 = Run Edge Script
22 = Origin Magic Containers
23 = Disable WAF
24 = Retry Origin
25 = Override Browser Cache Response Header
26 = Remove Browser Cache Response Header
27 = Disable Shield Challenge
28 = Disable Shield
29 = Disable Shield Bot Detection
30 = Bypass AWS S3 Authentication
31 = Disable Shield Access Lists
32 = Disable Shield Rate Limiting
33 = Enable Request Coalescing
34 = Disable Request Coalescing
35 = Use Load Balancer
36 = Force Load Balancer Sticky Session Mode
37 = Strip Cookies (Client to Origin)
x-enumNames:
- ForceSSL
- Redirect
- OriginUrl
- OverrideCacheTime
- BlockRequest
- SetResponseHeader
- SetRequestHeader
- ForceDownload
- DisableTokenAuthentication
- EnableTokenAuthentication
- OverrideCacheTimePublic
- IgnoreQueryString
- DisableOptimizer
- ForceCompression
- SetStatusCode
- BypassPermaCache
- OverrideBrowserCacheTime
- OriginStorage
- SetNetworkRateLimit
- SetConnectionLimit
- SetRequestsPerSecondLimit
- RunEdgeScript
- OriginMagicContainers
- DisableWAF
- RetryOrigin
- OverrideBrowserCacheResponseHeader
- RemoveBrowserCacheResponseHeader
- DisableShieldChallenge
- DisableShield
- DisableShieldBotDetection
- BypassAwsS3Authentication
- DisableShieldAccessLists
- DisableShieldRateLimiting
- EnableRequestCoalescing
- DisableRequestCoalescing
- UseLoadBalancer
- ForceLoadBalancerStickySessionMode
- StripCookiesClientToOrigin
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
Trigger:
type: object
additionalProperties: false
properties:
Type:
description: |-
The type of the trigger
Show all 14 values
| Value | Name |
|---|---|
| `0` | URL |
| `1` | Request Header |
| `2` | Response Header |
| `3` | URL Extension |
| `4` | Country Code |
| `5` | Remote IP |
| `6` | URL Query String |
| `7` | Random Chance |
| `8` | Status Code |
| `9` | Request Method |
| `10` | Cookie Value |
| `11` | Country State Code |
| `12` | Origin Retry Attempt Count |
| `13` | Origin Connection Error |
oneOf:
- $ref: '#/components/schemas/TriggerTypes'
PatternMatches:
type: array
description: The list of pattern matches that will trigger the edge rule
nullable: true
items:
type: string
PatternMatchingType:
description: |-
The type of pattern matching
0 = Match Any
1 = Match All
2 = Match None
oneOf:
- $ref: '#/components/schemas/PatternMatchingTypes'
Parameter1:
type: string
description: The trigger parameter 1. The value depends on the type of trigger.
nullable: true
EdgeRuleV2ActionModel:
type: object
additionalProperties: false
properties:
ActionType:
description: |-
Show all 38 values
| Value | Name |
|---|---|
| `0` | Force SSL |
| `1` | Redirect |
| `2` | Origin URL |
| `3` | Override Cache Time |
| `4` | Block Request |
| `5` | Set Response Header |
| `6` | Set Request Header |
| `7` | Force Download |
| `8` | Disable Token Authentication |
| `9` | Enable Token Authentication |
| `10` | Override Cache Time Public |
| `11` | Ignore Query String |
| `12` | Disable Optimizer |
| `13` | Force Compression |
| `14` | Set Status Code |
| `15` | Bypass Perma-Cache |
| `16` | Override Browser Cache Time |
| `17` | Origin Storage |
| `18` | Set Network Rate Limit |
| `19` | Set Connection Limit |
| `20` | Set Requests Per Second Limit |
| `21` | Run Edge Script |
| `22` | Origin Magic Containers |
| `23` | Disable WAF |
| `24` | Retry Origin |
| `25` | Override Browser Cache Response Header |
| `26` | Remove Browser Cache Response Header |
| `27` | Disable Shield Challenge |
| `28` | Disable Shield |
| `29` | Disable Shield Bot Detection |
| `30` | Bypass AWS S3 Authentication |
| `31` | Disable Shield Access Lists |
| `32` | Disable Shield Rate Limiting |
| `33` | Enable Request Coalescing |
| `34` | Disable Request Coalescing |
| `35` | Use Load Balancer |
| `36` | Force Load Balancer Sticky Session Mode |
| `37` | Strip Cookies (Client to Origin) |
oneOf:
- $ref: '#/components/schemas/EdgeRuleActionType'
ActionParameter1:
type: string
nullable: true
ActionParameter2:
type: string
nullable: true
ActionParameter3:
type: string
nullable: true
TriggerMatchingTypes:
type: integer
description: |-
0 = Match Any
1 = Match All
2 = Match None
x-enumNames:
- MatchAny
- MatchAll
- MatchNone
enum:
- 0
- 1
- 2
TriggerTypes:
type: integer
description: |-
0 = URL
1 = Request Header
2 = Response Header
3 = URL Extension
4 = Country Code
5 = Remote IP
6 = URL Query String
7 = Random Chance
8 = Status Code
9 = Request Method
10 = Cookie Value
11 = Country State Code
12 = Origin Retry Attempt Count
13 = Origin Connection Error
x-enumNames:
- Url
- RequestHeader
- ResponseHeader
- UrlExtension
- CountryCode
- RemoteIP
- UrlQueryString
- RandomChance
- StatusCode
- RequestMethod
- CookieValue
- CountryStateCode
- OriginRetryAttemptCount
- OriginConnectionError
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
PatternMatchingTypes:
type: integer
description: |-
0 = Match Any
1 = Match All
2 = Match None
x-enumNames:
- MatchAny
- MatchAll
- MatchNone
enum:
- 0
- 1
- 2
securitySchemes:
AccessKey:
type: apiKey
description: API Access Key authorization header
name: AccessKey
in: header
````
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.