Bunny.net PullZones API

The PullZones API from Bunny.net — 12 operation(s) for pullzones.

Operations 15

GET /pullzone List pull zones #
POST /pullzone Add a pull zone #
GET /pullzone/{id} Get pull zone #
POST /pullzone/{id} Update pull zone #
DELETE /pullzone/{id} Delete pull zone #
POST /pullzone/{id}/purgeCache Purge pull zone cache #
POST /pullzone/{id}/addAllowedReferer Add allowed referer #
POST /pullzone/{id}/removeAllowedReferer Remove allowed referer #
POST /pullzone/{id}/addBlockedIP Add blocked IP #
POST /pullzone/{id}/removeBlockedIP Remove blocked IP #
POST /pullzone/{id}/addCustomCertificate Add custom certificate #
POST /pullzone/{id}/addCustomHostname Add custom hostname #
POST /pullzone/{id}/removeCustomHostname Remove custom hostname #
POST /pullzone/{id}/setForceSSL Set force SSL on hostname #
POST /pullzone/{id}/resetTokenKey Reset token authentication key #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bunny-net-pullzones-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

bunny-net-pullzones-api-openapi.yml Raw ↑
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.