operational regio eu-nl-ams-1 edge-PoP ams1 API v1.0.0 spec OpenAPI 3.1

Control plane voor
edge delivery in Amsterdam.

Eén REST-API voor je PoP-directory, verkeers- en cache-statistieken, purge-jobs, ondertekende URL's en validatie van DNS-records, IP-adressen en hostnames. Antwoorden onder de 100 ms, OpenAPI 3.1-specificatie en OAuth2 client credentials.

PoP's
12 / 6 landen
Cache hit ratio
94,1 %
p95 TTFB
18 ms
Capaciteit
16,6 Tbps

Endpoints

Alles onder /v1. JSON in, JSON uit. Fouten volgen RFC 7807 (application/problem+json) met een request_id.

system
GET/v1/healthLiveness-check
GET/v1/statusServicestatus, PoP en uptime
network
GET/v1/popsOverzicht van alle points of presence
GET/v1/pops/{code}Details: anycast-prefixes, upstreams, RTT
GET/v1/zones/{id}Zone-configuratiebearer
analytics
GET/v1/analytics/trafficRequests, bytes en TTFB per uur
GET/v1/analytics/cacheHit ratio per content-type
cache
GET/v1/cache/rulesActieve cache-regels en TTL's
POST/v1/cache/purgePurge-job aanmaken (max. 500 paden)bearer
GET/v1/cache/purge/{job_id}Voortgang van de purge-job
security
GET/v1/signOndertekende URL genereren (HMAC-SHA256)
GET/v1/verifyHandtekening en geldigheid controleren
GET/v1/tls/profilesTLS-profielen en cipher suites
validation
GET/v1/validate/dnsA, AAAA, CNAME, MX, TXT, NS, PTR
GET/v1/validate/ipScope, routeerbaarheid, reverse-ARPA, PoP
GET/v1/validate/hostnameLabelregels volgens RFC 1123
billing
GET/v1/pricingStaffelprijs per GB, incl. 21% btw
GET/v1/vat/ratesBtw-tarieven per land
GET/v1/fxWisselkoersen voor facturatie
GET/v1/holidaysFeestdagen (support-SLA)
auth
POST/v1/auth/tokenClient credentials inwisselen voor een bearer-token

Quickstart

Drie stappen: statistieken opvragen, een URL ondertekenen, een purge starten.

# verkeer van de laatste 24 uur
curl "https://cdn-nl.freepux.site/v1/analytics/traffic?zone=nl-prod&hours=24"

# een asset-URL ondertekenen (1 uur geldig)
curl "https://cdn-nl.freepux.site/v1/sign?path=/assets/video/intro.mp4&ttl=3600"

# IP-routering controleren
curl "https://cdn-nl.freepux.site/v1/validate/ip?ip=145.220.13.7"
# token ophalen en een purge starten
TOKEN=$(curl -s -X POST https://cdn-nl.freepux.site/v1/auth/token \
  -H 'content-type: application/json' \
  -d '{"grant_type":"client_credentials",
       "client_id":"demo","client_secret":"supersecret"}' \
  | jq -r .access_token)

curl -X POST https://cdn-nl.freepux.site/v1/cache/purge \
  -H "authorization: Bearer $TOKEN" \
  -H 'content-type: application/json' \
  -d '{"zone":"nl-prod","paths":["/assets/app.js"]}'
Ondertekende URL's. De handtekening is een HMAC-SHA256 over <path>\n<expires>, hex-gecodeerd. Verificatie via /v1/verify gebeurt in constante tijd, zodat de vergelijking geen informatie over de sleutel lekt.