Reference
Control plane API
Bearer tokens, idempotency, plan limits, and every v1 endpoint for Zipper — the Cloudflare API alternative for CDN, WAF, functions, and mail.
Authentication
Mint tokens in Settings. Secret is shown once. Scope them (services:read, services:write, dns:write, waf:write, purge, watchtower:read, audit:read).
Cookie sessions from the dashboard also work for GET /api/v1/audit?format=csv.
Headers
Authorization: Bearer tz_live_… Idempotency-Key: 8–128 URL-safe characters X-Request-Id: optional; echoed back
Errors
JSON: { success, error, request_id, message? }. 401 unauthenticated, 403 role/scope, 402 plan_limit or plan_required, 409 preview_court or service_paused, 429 rate_limited.
Endpoints
All paths below are on https://tinyzipper.com. Writes that create a resource enforce the plan quota.
- ▸GET /api/v1/whoami — plan + entitlements
- ▸GET|PATCH /api/v1/services/:key — policy
- ▸GET|POST /api/v1/herald/records
- ▸GET|POST /api/v1/keep/rules
- ▸GET|POST /api/v1/drawbridge/origins
- ▸GET|POST /api/v1/scepter/policies
- ▸POST /api/v1/archives/purge
- ▸GET /api/v1/watchtower/events
- ▸GET /api/v1/audit (+ ?format=csv on Business+)
- ▸GET|POST /api/v1/functions /hosting /jobs /ai /video /waiting
- ▸GET|POST /api/v1/email/mailboxes /email/routes GET /email/messages POST /email/inbound
- ▸GET|POST /api/v1/connect POST /connect/heartbeat
- ▸POST /api/portcullis/v1/siteverify
- ▸POST /api/v1/scim/v2/Users (Scale+, tz_scim_ token)
Example: list then create
List Keep rules, then add one. Repeat for any resource table.
Keep rules
curl -sS https://tinyzipper.com/api/v1/keep/rules -H "Authorization: Bearer tz_live_YOUR_TOKEN"
curl -sS -X POST https://tinyzipper.com/api/v1/keep/rules \
-H "Authorization: Bearer tz_live_YOUR_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name":"Block scanners","expression":"http.request.uri.path contains \"/wp-admin\"","action":"block"}'Next: Plans and quotas · All docs · Create a free account