Enterprise customers can now configure a zone's CDN Maximum Upload Size up to 5 GB directly from the Network page in the Cloudflare dashboard. This removes the need to contact your account team or Cloudflare Support when applications need to accept request bodies larger than 500 MB and no greater than 5 GB.
The default maximum upload size remains 500 MB. Upload limits above 5 GB still require additional configuration through your account team or Cloudflare Support.
Very large uploads may reach connection or read timeouts before reaching the configured size limit. Make sure clients and origins allow enough time to complete the transfer when increasing this setting.
Cloudflare API 403 Forbidden responses now include a documentation_url field that links directly to the API documentation for the endpoint that was denied. This gives developers, administrators, and agents an immediate path to the relevant docs with role information instead of guessing at which role or permission they are missing for that endpoint.
What's New
Enriched 403 error responses: When a Cloudflare API request is denied, the error response now includes a documentation_url field that points to the documentation for that specific endpoint. Contextual 403 responses are now available across nearly all Cloudflare product APIs.
Faster troubleshooting: The linked API docs surface the roles required for each endpoint, making it easier to self-serve access issues.
Better support for tools and agents: Agents can use the \documentation_url` field to immediately fetch the endpoint's documentation from the 403 error response, identify the accepted permissions for the denied action, and use that context to drive third-party approval workflows.`
Cloudflare Dashboard users can now save login profiles on a device for faster sign-in on future visits.
What's New
Save login profiles on a device: After a successful sign-in, users can choose to save a login profile on that device. Saved profiles store the email address, login method, and last-used profile locally in the browser.
Faster sign-in for returning users: Saved profiles appear directly on the login page. Selecting one can prefill the email field for password logins or resume the associated SSO or social login flow.
Up to five login profiles can be saved per device, and saved profiles can be removed from the profile list at any time.
Dashboard SCIM now supports replacing groups using HTTP PUT, as defined by RFC 7644 section 3.5.1 ↗. This allows identity providers to synchronize a group's full state, including its display name, external ID, and members, in a single request.
What's New
Group replacement via PUT: Full-state group synchronization improves compatibility with identity providers that use replacement semantics and helps keep Cloudflare groups aligned with their source identity provider.
OAuth client developers can now classify configured scopes as required or optional in the Cloudflare dashboard. By default, all configured scopes remain required .
What's New
Optional Scopes: OAuth clients can now mark configured scopes as optional, allowing applications to request them without requiring users to approve them.
Scope Selection: On the consent screen, users must grant required scopes but can decline optional scopes. This helps customers apply least-privilege access to applications, CLIs, and workloads. Optional scopes are selected by default.
Templates: The consent screen now includes Read Only and Full Access templates to make scope selection faster and easier.
Search: Users can now search scopes in the consent screen.
Members with only resource-scoped Access roles can now open Access resource list pages in the Cloudflare dashboard and call list endpoints in the API. They no longer need an additional account-scoped read-only role to list resources.
The dashboard and API return only resources included in the member's permission policy scopes. Filtering applies to Access applications, policies, service tokens, and identity providers. This allows administrators to delegate specific Access resources without granting account-wide visibility. Previously, the dashboard blocked these list pages and API list requests returned 403 responses.
For members with the Cloudflare Access App Admin role, policy lists include policies attached directly to the selected application. Reusable policies appear only when the member has the Cloudflare Access Policy Admin role for those policies.
The Cloudflare Status page at www.cloudflarestatus.com ↗ has been rebuilt. It is available at the same address, and every previously documented Status API ↗ endpoint remains supported, so existing bookmarks, integrations, and monitoring continue to work.
Notifications that fire even when Cloudflare is down
The status page now has its own notification system, delivered independently of Cloudflare infrastructure. You can subscribe by email, webhook, Slack, Discord, or Google Chat.
The Maintenance Notification and Incident Alerts in Cloudflare Notifications remain supported, and deliver to the destinations already configured on your account.
Markdown for AI agents
Every page on the status page returns Markdown when requested with an Accept: text/markdown header, so agents can read the current status without parsing HTML:
OAuth consent screens now display a shield icon with explanatory text beneath the consent screen title. Each shield icon indicates who owns the application and whether its domain ownership is verified.
Green filled shield: Cloudflare owns and manages the application.
Blue outlined shield: A third-party application with verified ownership of its domain.
Amber filled shield: A third-party application without verified ownership of a domain.
Domain verification only confirms that the application owner controls the displayed domain.
You can now create standalone Free accounts directly from the Cloudflare dashboard using the new Create Account button. This feature is currently available to all users.
When creating a Free account:
You can create up to 5 Free accounts.
Your user account must have at least 7 days of tenure to be eligible.
The account is created immediately and ready to use.
To create a Free account, go to the Cloudflare dashboard ↗ and select Create Account from either the account switcher in the top left (where your account name appears) or from the Accounts page.
Limitations
This feature can only be used to create a Cloudflare Free account. To create an Enterprise Account under your existing contract, please contact Cloudflare Support.
All users can create a Cloudflare Free account, however, Enterprises wish to restrict this action to only Super Administrators. We will deliver this improvement in a future release.
Review the Permission Groups API documentation; the response schema differs from the legacy Roles response.
Highlights
Integrations migrating to the Permission Groups API must obtain Permission Group IDs from that API and use them in the Account Members API policies request shape. Integrations that persist legacy Role IDs will need to remap their assignments.
The legacy Role response includes a top-level description and a permissions object keyed by resource type with edit/read flags.
The PermissionGroup response replaces those with a meta object containing label and scopes. Individual permissions are not returned as part of the permission group.
The new API supports the API Token authorization scheme. The legacy Email + API Key authorization schema is provided for backwards compatibility.
Distributor, MSSP, and Agency partners on Cloudflare Organizations can now add and manage Organization Members directly from the Cloudflare dashboard, without help from Cloudflare.
Previously, adding a member to a Distributor, MSSP, or Agency Organization was a manual, Cloudflare-assisted process that required a request to Cloudflare and enrollment in a closed beta, and the dashboard Add member flow was blocked for these Organizations.
Now, Organization admins can add members themselves from Organization > Members > Add member, with no beta enrollment required.
New members receive access to the Organization's accounts through the same implicit-access model already used for enterprise Organizations. The Accounts list and the account switcher classify Distributor, MSSP, and Agency Organizations consistently with enterprise Organizations, so their accounts are labeled and grouped correctly in the dashboard.
Agency partners also gain access to the Organizations dashboard, while retaining access to their existing Tenant management dashboard.
Distributor, MSSP, and Agency Organizations are currently in beta.
Markdown for Agents now preserves security- and cache-relevant response headers from your origin when converting HTML to Markdown:
Markdown for Agents preserves security headers such as Strict-Transport-Security (HSTS), Content-Security-Policy (CSP), X-Frame-Options, Set-Cookie, and CORS headers (for example, Access-Control-Allow-Origin) on the converted response.
Caching headers (Cache-Control, Expires, Age) continue to pass through.
Your origin's Content Signals ↗ policy is now authoritative. If your origin sets a content-signal header, Markdown for Agents preserves it. When the origin does not send one, Cloudflare adds the default Content-Signal: ai-train=yes, search=yes, ai-input=yes.
This release also fixes relative link resolution for directory-style base URLs (those ending in a trailing slash). Previously, relative links such as ../page/ could resolve one path segment too high and return a 404. Links are now resolved correctly per RFC 3986 ↗.
You can now assign granular, resource-scoped roles for Cloudflare Gateway firewall policies and Zero Trust lists. Administrators can delegate access to specific policy types or list management without granting account-wide or product-wide control.
Can view and edit all Gateway firewall policies, including DNS, HTTP, and Network policies.
Zero Trust Gateway DNS Policies Admin
Can view and edit Gateway DNS policies.
Zero Trust Gateway HTTP Policies Admin
Can view and edit Gateway HTTP policies.
Zero Trust Gateway Network Policies Admin
Can view and edit Gateway Network policies.
Zero Trust Gateway Egress Policies Admin
Can view and edit Gateway Egress policies.
Zero Trust Gateway Resolver Policies Admin
Can view and edit Gateway Resolver policies.
Zero Trust Gateway Policies Admin
Can view and edit all Gateway policies.
Zero Trust Gateway Policies Read
Can view all Gateway policies.
Zero Trust Gateway Read Only
Can view all Gateway resources.
Zero Trust DNS Locations Admin
Can view and edit DNS locations.
Zero Trust Proxy Endpoints Admin
Can view and edit Gateway Proxy Endpoints.
Zero Trust Account Lists Admin
Can view and edit all Gateway and Access lists.
Zero Trust Account Lists Read
Can view all Gateway and Access lists.
These roles allow you to:
Grant a network engineer write access to Network policies only, without exposing DNS or HTTP policy configuration.
Allow a security analyst to view all Gateway policies in read-only mode for auditing purposes.
Delegate list management to a team that maintains block and allow lists without giving them access to policy configuration.
You can also now assign Resource-scoped roles. These roles are complementary to existing account-level roles, and allow you to grant access to a specific resource, like an individual Gateway policy or Cloudflare One list. Existing account-level roles continue to work. A member with the Cloudflare Gateway or Cloudflare Zero Trust role retains full access to all Gateway resources. This ensures backward compatibility for existing automation and API tokens.
Pay-as-you-go customers can now view billable usage and create budget alerts directly from the product overview pages for Workers & Pages, D1, R2, Workers KV, Queues, Vectorize, Durable Objects, and Containers. A new sidebar widget shows current-period spend and the billing cycle date range, alongside a button to create a budget alert.
The widget pulls from the same data as the Billable Usage dashboard and aligns to your billing cycle (or the current day on Free plans), so the numbers match your invoice. Enterprise contract accounts are not yet supported.
Selecting Create budget alert opens the budget alert flow inline so you can set a dollar threshold in the same place you are reviewing usage. Budget alerts apply to your total account-level spend across all products, not just the product page you create them from.
Today we are launching self-managed OAuth, enabling developers to build third-party applications that integrate with Cloudflare via OAuth. This provides a more secure, user-friendly, and manageable alternative to API tokens.
OAuth lets third-party applications act on behalf of a user to access their Cloudflare account. For example, after a user grants consent, Wrangler can deploy Workers into that account.
What is new
Cloudflare Developers can now create and manage their own OAuth applications to integrate with Cloudflare.
Create an application
To create an application, go to Manage account > OAuth clients in your account on the Cloudflare dashboard.
If you have used an API token to call Cloudflare APIs, OAuth client scopes will look familiar. Select only the scopes your application needs during application creation, and include that scope list when sending users to Cloudflare for consent.
Users can review the requested scopes before they consent.
Apps for both private and public use
Applications start with private visibility. Private applications can only be used by members of the account where the application was created.
To make an application available to any Cloudflare user, complete the prerequisites for public visibility.
Before an application can be made public, you must verify the client domain. Domain verification helps users confirm that the application owner controls the domain shown on the consent page.
After verification, users see a verified badge on the consent page.
You can now scope Cloudflare permissions to individual Cloudflare Tunnel instances and Cloudflare Mesh nodes. Administrators can delegate access to specific Tunnels or Mesh nodes without granting account-wide control over private networking.
Grant a read-only role on a single Cloudflare Tunnel instance to a support operator for log streaming and diagnostics — without exposing other Tunnels or destructive actions.
Grant a write role on a specific Cloudflare Mesh node to an application team — without giving them access to the rest of your private network.
Scope a single policy to one or many Tunnels and Mesh nodes at once.
How it works
Granular permissions are a parallel layer to existing account-level roles — they do not replace them.
Existing account-level roles continue to work. A member with Cloudflare Access or Cloudflare Zero Trust retains write access to every Tunnel and Mesh node in the account. This ensures backward compatibility for existing automation and tokens.
Granular permissions are additive. For any API request on a specific Tunnel or Mesh node, access is granted if the principal has either the account-level role or a granular permission for that resource.
Resource enumeration is authorization-aware. Listing endpoints (GET /accounts/{id}/cfd_tunnel, GET /accounts/{id}/warp_connector) return only the resources the principal has at least read access to.
You can now navigate, switch context, and take common actions in the Cloudflare dashboard without leaving your keyboard. Press ? anywhere to see the full list. Keyboard shortcuts can be disabled by visiting your profile settings ↗.
Navigate
Shortcut
Action
g h
Go to Home
g a
Go to account overview
g z
Go to zone overview
g p
Go to your profile
g w
Go to Workers & Pages
g o
Go to Zero Trust
g b
Go to billing
g 1 – g 5
Go to a recent or pinned item (by position in sidebar)
Link ↗ now supports bank account payments in addition to cards. If you have a bank account saved in Link, it appears as a payment option at checkout. If not, you can connect one during the checkout flow.
How to use it
During checkout, select your bank account from your saved Link payment methods.
Confirm the payment.
After your first Link authentication, your bank account is available for future purchases without re-entering details.
Who is eligible
Instant Bank Payments via Link is available to US-based self-serve accounts across all Cloudflare products. Your existing cards remain available at checkout.
Bank-based Link payments appear in your billing history with the payment method shown as link and last four digits as 0000. For details, refer to the Instant Bank Payments via Link documentation.
The Support button in the dashboard global navigation header now takes you directly to the Cloudflare Support Portal ↗, eliminating the previous dropdown menu.
This change ensures that when you need help, you spend less time navigating the UI and more time getting the answers you need.
What changed?
Previous behavior: Selecting ? Support opened a dropdown menu with various links (Help Center, Cloudflare Community, etc.).
New behavior: Selecting Support immediately redirects your current tab to the Support Portal.
Cloudflare-generated 5xx error responses now return structured JSON and Markdown when agents request them, matching the format already available for 1xxx errors. Responses follow RFC 9457 (Problem Details for HTTP APIs) ↗ and include a Retry-After HTTP header on retryable codes.
Changes
5xx coverage. Ten Cloudflare-generated error codes (500, 502, 504, 520-526) now serve structured responses. These are errors Cloudflare itself generates when it cannot reach or understand the origin server. Origin-generated 5xx responses that Cloudflare passes through are not affected.
Fault attribution. The error_category field tells agents where the fault lies:
origin (502, 504, 520-524) — the origin server is responsible. Transient; retry with the backoff in retry_after.
cloudflare (500) — Cloudflare's fault, not the website or the request. Short retry.
ssl (525, 526) — the origin's TLS configuration is broken. Do not retry.
Retry-After header. Retryable codes (500, 502, 504, 520-524) include a Retry-After HTTP header matching the retry_after body field. Non-retryable codes (525, 526) do not include the header.
Resource Tagging is now in public beta and rolling out to all Cloudflare accounts over the coming days. You can attach custom key-value metadata to your Cloudflare resources and query across your entire account to find what you need.
What's included
Broad resource type support — Tag zones, custom hostnames, Cloudflare Tunnels, Workers, D1 databases, R2 buckets, KV namespaces, Durable Object namespaces, Queues, Stream videos, Images, Access applications, Gateway rules, AI Gateways, and more. Refer to the full list of supported resource types.
Powerful filtering — Query tagged resources using AND/OR logic, negation, and key-only matching. Combine up to 20 filters per query to build precise resource views.
Account and zone-level endpoints — Full CRUD operations across both scopes.
Token-based authentication — Tagging supports Account Owned Tokens that persist independently of individual users, so your automation keeps running through credential rotations and team changes.
Flexible role support — Super Administrators, Workers Admins, and Tag Admins can all manage tags.
API-first by design
The API is the primary interface for Resource Tagging and the recommended path for all workflows — scripting tag assignments, building CI/CD pipelines, or integrating with your infrastructure-as-code toolchain.
Dashboard UI
You can also view and manage tagged resources directly in the Cloudflare dashboard. Navigate to Manage Account > Resource Tagging to see all tagged resources across your account, filter by resource name or tag, and add or edit tags inline.
What's coming next
In future releases, expect support for additional resource types across the Cloudflare platform, tag-based access control policies for scoping user permissions to tagged resources, billing and usage attribution by tag for breaking down costs by team, project, or environment, and Terraform provider support for managing tags declaratively.
Current limitations
PUT replaces all tags on a resource (no partial update). Use the GET, merge, PUT workflow to modify individual tags safely.
DELETE removes all tags from a resource. To remove a single tag, PUT the remaining tags back.
Querying tags for a resource that has never been tagged returns 500 instead of 404. This is a known beta limitation.
Pay-as-you-go customers can now monitor usage-based costs and configure spend alerts through two new features: the Billable Usage dashboard and Budget alerts.
Billable Usage dashboard
The Billable Usage dashboard provides daily visibility into usage-based costs across your Cloudflare account. The data comes from the same system that generates your monthly invoice, so the figures match your bill.
The dashboard displays:
A bar chart showing daily usage charges for your billing period
A sortable table breaking down usage by product, including total usage, billable usage, and cumulative costs
Ability to view previous billing periods
Usage data aligns to your billing cycle, not the calendar month. The total usage cost shown at the end of a completed billing period matches the usage overage charges on your corresponding invoice.
To access the dashboard, go to Manage Account > Billing > Billable Usage.
Budget alerts
Budget alerts allow you to set dollar-based thresholds for your account-level usage spend. You receive an email notification when your projected monthly spend reaches your configured threshold, giving you proactive visibility into your bill before month-end.
To configure a budget alert:
Go to Manage Account > Billing > Billable Usage.
Select Set Budget Alert.
Enter a budget threshold amount greater than $0.
Select Create.
Alternatively, configure alerts via Notifications > Add > Budget Alert.
You can create multiple budget alerts at different dollar amounts. The notifications system automatically deduplicates alerts if multiple thresholds trigger at the same time. Budget alerts are calculated daily based on your usage trends and fire once per billing cycle when your projected spend first crosses your threshold.
Both features are available to Pay-as-you-go accounts with usage-based products (Workers, R2, Images, etc.). Enterprise contract accounts are not supported.
OAuth allows third-party applications to access your Cloudflare account on your behalf — like when Wrangler deploys Workers or when monitoring tools read your analytics. You now have granular control over which accounts these applications can access, plus the ability to revoke access anytime.
What's new
Choose which accounts to authorize
When authorizing an OAuth application, you can now select specific accounts instead of granting access to all your accounts:
Account-by-account selection — Choose exactly which accounts the application can access
"All accounts" option — Still available for trusted tools like Wrangler
This gives you precise control who can access your data.
Clear consent screens
The OAuth consent screen now shows:
What the application can access — Explicit list of permissions being requested
Who created the application — Application owner and contact information
Which accounts you're authorizing — Checkboxes for account selection
Revoke access anytime
Manage authorized OAuth applications from your profile:
See all connected apps — View every OAuth application with access to your accounts
Review permissions and scope — Check what each application can do and which accounts it can access
Revoke instantly — Remove access with one click when you no longer need it
To manage your OAuth applications, navigate to Profile > Access Management > Connected Applications ↗.
Why this matters
These updates give you:
Granular control — Authorize apps per-account instead of all-or-nothing
Transparency — Know exactly what you're authorizing before you consent
Security — Limit blast radius by restricting access to only necessary accounts
Easy cleanup — Revoke access when applications are no longer needed