Ga naar inhoud

CDN, cache en logs

CDN-configuratie, cachelagen, edge rules en toegangslogs per site. Alle endpoints zijn genest onder een site en draaien op Bunny.

OAuth-scopes: lezen vereist sites:read, schrijven vereist sites:write (deletes vereisen daarnaast de can_destroy-rol). Endpoints die met Bunny communiceren retourneren 409 cdn_not_active wanneer de site geen pull zone heeft, en 502 bij een upstream Bunny-fout.


CDN-status

GET /api/sites/:site_id/cdn

Status en configuratie van de Bunny pull zone. Retourneert 409 cdn_not_active als er geen pull zone is.

Geretourneerde params
  • active: Boolean
  • cdn_type: String | "premium" of "volume"
  • optimizer_enabled: Boolean
  • origin_url: String
  • origin_type: Integer
  • enable_logging: Boolean
  • origin_shield_enabled: Boolean
  • auto_ssl: Boolean
  • cache_control_max_age_override: Integer
  • smart_cache: Boolean
  • cache_enabled: Boolean
  • hostnames: Array<Object>
    • value: String
    • force_ssl: Boolean
    • has_certificate: Boolean
    • is_system_hostname: Boolean

Caching-instellingen

De caching-configuratie van de pull zone (smart cache, verlooptijden, vary-toggles, stale-while-). Onderscheiden van het beheer van de Cache-laag hieronder (dat redis/nginx/bunny in- of uitschakelt). Vereist CDN actief* (409 cdn_not_active). Synchroon; upstream-fouten retourneren 502.

Caching-instellingen ophalen

GET /api/sites/:site_id/cdn/caching

Scope sites:read.

Geretourneerde params
  • smart_cache: Boolean
  • cache_expiration: Integer | edge-cache-TTL in seconden; -1 = volg origin, 0 = niets cachen
  • browser_cache_expiration: Integer | browser-cache-TTL in seconden
  • query_string_ordering: Boolean
  • cache_error_responses: Boolean
  • vary_avif / vary_webp / vary_mobile / vary_hostname: Boolean
  • vary_country_code / vary_country_state_code / vary_cookie: Boolean
  • cookie_vary_parameters: Array<String>
  • query_string_vary_parameters: Array<String>
  • disable_cookies: Boolean
  • cache_slice: Boolean
  • stale_while_offline / stale_while_updating: Boolean

Caching-instellingen bijwerken

PATCH /api/sites/:site_id/cdn/caching

Scope sites:write. Partial update — alleen de keys die je verstuurt worden geschreven. Retourneert de ververste instellingen (zelfde vorm als de GET hierboven).

Params
  • Elk van de hierboven geretourneerde velden. Scalars en booleans worden as-is verstuurd; cookie_vary_parameters en query_string_vary_parameters zijn Array<String>.

De cache leegmaken

POST /api/sites/:site_id/cdn/caching/purge

Scope sites:write (en de can_modify-rol). Maakt de volledige pull-zone-cache leeg. Synchroon.


Cache

Het :type-segment is de cachelaag: redis, nginx, bunny, of all (verdeelt over elke laag). Een onbekend type retourneert 422 {"error":"unknown_cache_type","allowed":[...]}.

Cachestatus

GET /api/sites/:site_id/cache

Geretourneerde params
  • bunny: Boolean | Bunny CDN-cache ingeschakeld
  • nginx: Boolean
  • redis: Boolean

Een cachelaag inschakelen

PATCH /api/sites/:site_id/cache/:type

Async — retourneert 202 met de te pollen taak.

Geretourneerde params
  • task_id: Integer
  • status: String | "PENDING"
  • cache_type: String

Een cachelaag uitschakelen

DELETE /api/sites/:site_id/cache/:type

Async — retourneert 202 (zelfde vorm als inschakelen). Vereist de can_destroy-rol.

Een cachelaag leegmaken

DELETE /api/sites/:site_id/cache/:type/purge

Async — retourneert 202 (zelfde vorm als inschakelen). Vereist de can_modify (bewerk)-rol.


Edge rules

Bunny edge rules voor de site. Vereist CDN actief (409 cdn_not_active). Alle acties zijn synchroon en geven Bunny's response door. :id is de Guid van de rule.

Edge rules weergeven

GET /api/sites/:site_id/edge_rules

Een edge rule aanmaken

POST /api/sites/:site_id/edge_rules

Retourneert 201. Laat Guid weg om aan te maken; een opnieuw uitgevoerde create is niet idempotent (Bunny maakt een duplicaat) — stuur een Guid (of gebruik PATCH) om ter plekke bij te werken.

Params (verpakt in edge_rule)
  • Guid: String | weglaten om aan te maken
  • ActionType: Integer | 0–34 (bijv. 0 = ForceSSL, 1 = Redirect, 2 = OriginUrl, 4 = BlockRequest, 5 = SetResponseHeader, 23 = DisableWAF, 28 = DisableShield)
  • ActionParameter1 / ActionParameter2 / ActionParameter3: String
  • TriggerMatchingType: Integer | hoe de triggers van de rule combineren: 0 = match any, 1 = match all, 2 = match none
  • Description: String
  • Enabled: Boolean
  • OrderIndex: Integer
  • Triggers: Array<Object>
    • Type: Integer | 0 = Url, 1 = RequestHeader, 2 = ResponseHeader, 3 = UrlExtension, 4 = CountryCode, 5 = RemoteIP, 6 = UrlQueryString, 7 = RandomChance, 8 = StatusCode, 9 = RequestMethod, 10 = CookieValue, 11 = CountryStateCode
    • PatternMatchingType: Integer | hoe de waarden van deze conditie combineren: 0 = match any, 1 = match all, 2 = match none
    • Parameter1: String
    • PatternMatches: Array<String> | maximaal 5 waarden per conditie (Bunny's maximum per conditie)
  • ExtraActions: Array<Object>
    • ActionType: Integer
    • ActionParameter1 / ActionParameter2 / ActionParameter3: String

Systeembeheerde rules (Description met prefix CPRESS -) worden uit de lijst gefilterd en zijn niet door de klant te bewerken.

Een edge rule bijwerken

PATCH /api/sites/:site_id/edge_rules/:id

De Guid wordt uit de URL gehaald. Retourneert 200. Volledige vervanging — velden die je weglaat worden gewist, dus stuur de complete rule.

Een edge rule in-/uitschakelen

PATCH /api/sites/:site_id/edge_rules/:id/enabled

Params
  • enabled: Boolean

Een edge rule verwijderen

DELETE /api/sites/:site_id/edge_rules/:id

Retourneert 204. Vereist de can_destroy-rol.


Logs

Vereisen CDN actief (409 cdn_not_active).

CDN-toegangslogs

GET /api/sites/:site_id/logs/cdn

Params (allemaal optioneel)
  • from: String | ISO8601-datetime (standaard: 24 uur geleden)
  • to: String | ISO8601-datetime (standaard: nu)
  • period: String | vooraf ingesteld venster — 1h, 6h, 24h, 72h. Alleen gebruikt wanneer zowel from als to leeg zijn. Onbekende waarden → 422.
  • status: String | filter op HTTP-statuscode
  • cache_status: String | filter op cachestatus
  • country: String | filter op tweeletterige landcode
  • url_contains: String | filter op URL-substring
  • limit: Integer | max resultaten (standaard: 100, max: 1000)
  • offset: Integer | paginatie-offset (standaard: 0)
  • order: String | asc of desc (standaard: desc)
Fouten
  • 422 | invalid_period, invalid_range, of range_exceeds_3_days
  • 502 | upstream-fout

CDN-logsamenvatting

GET /api/sites/:site_id/logs/cdn/summary

Geaggregeerde statistieken over dezelfde filters als het endpoint voor CDN-toegangslogs.

Origin-logs

GET /api/sites/:site_id/logs/origin

Params
  • date: String | datum geaccepteerd door Bunny (optioneel)