Under attack? IT Try it free
API

Do all of it from code

Anyone running many sites does not want to click. The API covers what a reseller or an agency needs: create a zone, change it, purge its cache.

Authentication

You create a key in the panel, under API keys, and send it in the Authorization header. The key belongs to your account and you can revoke it whenever you like.

curl https://pannello.1primecdn.com/api/v1/pullzones \
  -H "Authorization: Bearer YOUR_KEY"

Responses are JSON. An error comes back with the right HTTP status and an error field in plain words, not a number to look up in a table.

Pull Zones

GET /api/v1/pullzones — your zones with name, status, origin, hostnames and the CNAME to point at.

POST /api/v1/pullzones — create a zone. It wants name and originUrl; the zone is live at once and the certificate arrives on its own.

GET /api/v1/pullzones/:id — a single zone, same fields.

PATCH /api/v1/pullzones/:id — change status, originUrl, originHost or excludePops (nodes not to use, for data-location constraints). It never goes below two nodes.

Purging

POST /api/v1/pullzones/:id/purge — purge the whole zone, or the addresses you pass. The request goes to every node and each one confirms when it is done.

curl -X POST https://pannello.1primecdn.com/api/v1/pullzones/ID/purge \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://www.mysite.com/style.css"]}'

Public lists, no key needed

GET /api/public/ips — the addresses our nodes come from when they reach your server, one per line. These are the ones for your origin's firewall.

GET /api/public/nginx-realip and /api/public/apache-remoteip — the same list ready to paste into your server's configuration, so you see your visitors' real IP instead of ours.

GET /api/public/stato — node status and availability history. It is the same source as our status page.

These three change when the network changes: fetch them from here rather than copying them once.

Ask for an API key