Bunny.net PullZones API
The PullZones API from Bunny.net — 12 operation(s) for pullzones.
The PullZones API from Bunny.net — 12 operation(s) for pullzones.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bunny-net-pullzones-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bunny.net Core Platform APIKeys Pull Zones API
description: 'Best-effort OpenAPI 3.1 description of the Bunny.net Core Platform REST API for managing
Pull Zones, Storage Zones, DNS Zones, Stream video libraries, statistics, billing,
purge, API keys, and reference data.
Authentication uses the `AccessKey` header containing your account API key issued from
the Bunny.net dashboard.
'
version: '1.0'
contact:
name: Bunny.net
url: https://docs.bunny.net/reference/bunnynet-api-overview
servers:
- url: https://api.bunny.net
description: Bunny.net Core Platform API
security:
- accessKeyAuth: []
tags:
- name: PullZones
paths:
/pullzone:
get:
tags:
- PullZones
summary: List pull zones
operationId: listPullZones
parameters:
- name: page
in: query
schema:
type: integer
- name: perPage
in: query
schema:
type: integer
- name: includeCertificate
in: query
schema:
type: boolean
responses:
'200':
description: List of pull zones
content:
application/json:
schema:
$ref: '#/components/schemas/PullZoneList'
post:
tags:
- PullZones
summary: Add a pull zone
operationId: addPullZone
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PullZoneCreate'
responses:
'201':
description: Pull zone created
content:
application/json:
schema:
$ref: '#/components/schemas/PullZone'
/pullzone/{id}:
parameters:
- $ref: '#/components/parameters/IdPath'
get:
tags:
- PullZones
summary: Get pull zone
operationId: getPullZone
responses:
'200':
description: Pull zone
content:
application/json:
schema:
$ref: '#/components/schemas/PullZone'
post:
tags:
- PullZones
summary: Update pull zone
operationId: updatePullZone
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PullZoneUpdate'
responses:
'200':
description: Pull zone
content:
application/json:
schema:
$ref: '#/components/schemas/PullZone'
delete:
tags:
- PullZones
summary: Delete pull zone
operationId: deletePullZone
responses:
'204':
description: Deleted
/pullzone/{id}/purgeCache:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Purge pull zone cache
operationId: purgePullZoneCache
responses:
'204':
description: Purged
/pullzone/{id}/addAllowedReferer:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Add allowed referer
operationId: addAllowedReferer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- Hostname
properties:
Hostname:
type: string
responses:
'204':
description: Added
/pullzone/{id}/removeAllowedReferer:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Remove allowed referer
operationId: removeAllowedReferer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- Hostname
properties:
Hostname:
type: string
responses:
'204':
description: Removed
/pullzone/{id}/addBlockedIP:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Add blocked IP
operationId: addBlockedIp
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- BlockedIp
properties:
BlockedIp:
type: string
responses:
'204':
description: Added
/pullzone/{id}/removeBlockedIP:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Remove blocked IP
operationId: removeBlockedIp
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- BlockedIp
properties:
BlockedIp:
type: string
responses:
'204':
description: Removed
/pullzone/{id}/addCustomCertificate:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Add custom certificate
operationId: addCustomCertificate
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
Hostname:
type: string
Certificate:
type: string
CertificateKey:
type: string
responses:
'204':
description: Added
/pullzone/{id}/addCustomHostname:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Add custom hostname
operationId: addCustomHostname
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- Hostname
properties:
Hostname:
type: string
responses:
'204':
description: Added
/pullzone/{id}/removeCustomHostname:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Remove custom hostname
operationId: removeCustomHostname
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- Hostname
properties:
Hostname:
type: string
responses:
'204':
description: Removed
/pullzone/{id}/setForceSSL:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Set force SSL on hostname
operationId: setForceSsl
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
Hostname:
type: string
ForceSSL:
type: boolean
responses:
'204':
description: Set
/pullzone/{id}/resetTokenKey:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- PullZones
summary: Reset token authentication key
operationId: resetTokenKey
responses:
'204':
description: Reset
components:
schemas:
PullZone:
type: object
properties:
Id:
type: integer
Name:
type: string
OriginUrl:
type: string
Enabled:
type: boolean
Hostnames:
type: array
items:
type: object
properties:
Id:
type: integer
Value:
type: string
ForceSSL:
type: boolean
IsSystemHostname:
type: boolean
HasCertificate:
type: boolean
StorageZoneId:
type: integer
CacheControlMaxAgeOverride:
type: integer
AllowedReferrers:
type: array
items:
type: string
BlockedReferrers:
type: array
items:
type: string
BlockedIps:
type: array
items:
type: string
EnableGeoZoneUS:
type: boolean
EnableGeoZoneEU:
type: boolean
EnableGeoZoneASIA:
type: boolean
EnableGeoZoneSA:
type: boolean
EnableGeoZoneAF:
type: boolean
ZoneSecurityEnabled:
type: boolean
ZoneSecurityKey:
type: string
Type:
type: integer
PullZoneCreate:
type: object
required:
- Name
- OriginUrl
properties:
Name:
type: string
OriginUrl:
type: string
StorageZoneId:
type: integer
Type:
type: integer
PullZoneUpdate:
type: object
additionalProperties: true
PullZoneList:
type: object
properties:
Items:
type: array
items:
$ref: '#/components/schemas/PullZone'
CurrentPage:
type: integer
TotalItems:
type: integer
HasMoreItems:
type: boolean
parameters:
IdPath:
name: id
in: path
required: true
schema:
type: integer
securitySchemes:
accessKeyAuth:
type: apiKey
in: header
name: AccessKey
description: API key issued from the Bunny.net dashboard.