Cloudflare
Cloudflare's API: zones, DNS, Workers, R2, D1, KV and the rest of an account.
Cloudflare's API, for an app that manages zones, DNS, Workers or storage. It's a separate token from the one your Gateway runs on.
API key
- Open My Profile → API Tokens and select Create Token.
- Give it only the permissions and zones the app needs. Never use the Global API Key. A token on your Gateway's own account can change the Gateway, so keep it narrow.
- Select Continue to summary, then Create Token, and copy it. It's shown once.
Add it to your Gateway. It asks for the key:
everyapp provider add cloudflareUse it in an app
In the app's everyapp.config.ts:
capabilities: {
cloudflare: { access: "read", why: "What the app does with it." },
},The app calls Cloudflare's API with integrationFetch(), and the Gateway adds the key. Use "write" if the app changes things. More in API providers.
Check it worked: everyapp provider show cloudflare shows the key as set.
Rate limits: 1,200 requests per 5 minutes per user or account token; 200 a second per IP; GraphQL by query cost, at most 320 per 5 minutes.
Sign in with Cloudflare
Adds Continue with Cloudflare to your Gateway's sign-in page, for people you've invited. Sign-in
- Open dash.cloudflare.com and create an OAuth client (Manage Account → OAuth clients).
- Add the redirect URL
https://<your gateway>/api/auth/callback/cloudflare. - Copy:
CLOUDFLARE_SIGNIN_CLIENT_ID: The OAuth client's Client ID.CLOUDFLARE_SIGNIN_CLIENT_SECRET: The OAuth client's Client secret.
- Keep the client private (the default): a public client lets any Cloudflare user sign in, and Cloudflare says nothing about whether their address is verified. Making a client public is permanent.
- The Cloudflare account's members sign in; for everyone else use Cloudflare Access's one-time PIN (
everyapp access on) or another provider.
Turn it on. It asks for each value:
everyapp signin add cloudflareCheck it worked: everyapp signin show cloudflare shows each setting as set. Then sign out and select the button.
More help
Ask your coding agent to set Cloudflare up: the everyapp skill has the full guide (setup/signin-cloudflare.md).
Something wrong or missing? Open an issue.