Skip to content

Cloudflare API

Cloudflare API

Status: ✅ Active Account: verious.smith@philoveracity.com Account ID: 4c0e79c7e403fe6e8d616ecca5564ee9 Zones: 49 CLI Tools: cf (flarectl), cfw (wrangler 4.54.0), cloudflared (tunnels)

Configuration

Terminal window
# Wrapper scripts (credentials embedded)
/usr/local/bin/cf # flarectl wrapper
/usr/local/bin/cfw # wrangler wrapper
# Config file
~/.cloudflare/cloudflare.yaml
# Environment variables (in wrappers)
CLOUDFLARE_API_KEY=***
CLOUDFLARE_EMAIL=***
CLOUDFLARE_ACCOUNT_ID=4c0e79c7e403fe6e8d616ecca5564ee9

Common Commands

Terminal window
# List all zones
cf zone list
# List DNS records
cf dns list --zone example.com
# Create A record
cf dns create --zone example.com --type A --name @ --content 199.167.200.52 --proxy=true
# Zone settings
cf zone settings --zone example.com --setting ssl=full

VPS IPs

IPAssignment
199.167.200.52Main/Shared (default)
199.167.201.52Available
199.167.202.209Available
199.167.203.234Available
67.222.9.109thedream (dedicated)

Cloudflare Pages

Terminal window
# List Pages projects
cfw pages project list
# Deploy static site
cfw pages deploy ./dist --project-name project-name
# Add custom domain (via API)
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT/domains" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $API_KEY" \
-H "Content-Type: application/json" \
--data '{"name":"subdomain.example.com"}'

Active Pages Projects

ProjectDomainAccess
forge-philoveracityforge.philoveracity.comCloudflare Access (email OTP)

Cloudflare Access (Zero Trust)

Terminal window
# Create Access application
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $API_KEY" \
-H "Content-Type: application/json" \
--data '{"name":"App Name","type":"self_hosted","domain":"app.example.com","session_duration":"24h"}'
# Add access policy
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps/$APP_ID/policies" \
-H "X-Auth-Email: $EMAIL" \
-H "X-Auth-Key: $API_KEY" \
-H "Content-Type: application/json" \
--data '{"name":"Team Access","decision":"allow","include":[{"email_domain":{"domain":"philoveracity.com"}}]}'

Cloudflare Tunnel

For App Factory plane routing:

Terminal window
# Create tunnel
cloudflared tunnel create pvdify-apps
# Route traffic
cloudflared tunnel route dns pvdify-apps api.product.com
# Run tunnel
cloudflared tunnel run pvdify-apps

See CLOUDFLARE_CLI.md for full documentation.