Bunny.net PullZones API

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

OpenAPI Specification

bunny-net-pullzones-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bunny.net Core Platform APIKeys PullZones 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:
    PullZoneList:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/PullZone'
        CurrentPage:
          type: integer
        TotalItems:
          type: integer
        HasMoreItems:
          type: boolean
    PullZoneCreate:
      type: object
      required:
      - Name
      - OriginUrl
      properties:
        Name:
          type: string
        OriginUrl:
          type: string
        StorageZoneId:
          type: integer
        Type:
          type: integer
    PullZoneUpdate:
      type: object
      additionalProperties: true
    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
  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.