Cloudflare

Use Cloudflare in Sim to manage zones, DNS, cache, WAF rules, rate limits, and Zero Trust Access. Manage Worker routes and tunnels, configure R2 CORS and lifecycle rules, and read certificates, analytics, and Worker settings.

Create a Cloudflare API token with the read or write permissions for the resources you use. Zone operations need a zone ID; Access, R2, Workers scripts, and tunnels need an account ID.

For structured inputs, enter JSON or connect an upstream block output. DNS record data supports record-specific fields such as SRV priority, weight, port, and target. Cache purge files also accept JSON entries with a URL and cache-key headers. DNS tags and Access application tags and identity-provider IDs also accept JSON string arrays; use [] to clear these lists during an update.

Read a resource before replacing it and resend the fields you want to keep. Access applications and policies, rules, tunnel configuration, R2 policies, and Worker routes have replacement semantics. Rulesets operations that expose dry_run can validate a request without saving it; successful validation may return empty resource fields. List operations return one page; use page numbers or the returned cursor to continue.

Use the block

Manage Cloudflare DNS, zones, SSL, cache, and analytics. Configure WAF rulesets and rate limiting; administer Access applications, policies, groups, and service tokens; manage Worker routes and tunnels; and configure R2 buckets, CORS, and lifecycle rules.

Actions

Cloudflare Create Access Application

Creates a Cloudflare Access (Zero Trust) application that puts an identity check in front of a hostname. Until at least one policy is attached the application denies everyone, so pair this with "Create Access Policy". Requires an API token with Account Access: Apps and Policies Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
destinationsjsonNoJSON array. List of destinations secured by Access. This supersedes self_hosted_domains to allow for more flexibility in defining different types of domains. If destinations are provided, then self_hosted_domains will be ignored. Fields: overrides, type, uri, cidr, hostname, l4_protocol, port_range, vnet_id, mcp_server_id, worker_id.
oauth_configurationjsonNoJSON object. Required for end_user applications. Beta: Optional configuration for managing an OAuth authorization flow controlled by Access. When set, Access will act as the OAuth authorization server for this application. Only compatible with OAuth clients that support [RFC 8707](https://datatracker.ietf.org/doc/html/rfc8707) (Resource Indicators for OAuth 2.0). This feature is currently in beta. Fields: dynamic_client_registration, enabled, grant.
self_hosted_domainsjsonNoJSON array. List of public domains that Access will secure. This field is deprecated in favor of destinations and will be supported until November 21, 2025. If destinations are provided, then self_hosted_domains will be ignored.
user_populationsjsonNoJSON array. Required for end_user applications. The single user population associated with this application.
allow_authenticate_via_warpbooleanNoWhen set to true, users can authenticate to this application using their WARP session. When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
allow_iframebooleanNoEnables loading application content in an iFrame.
cors_headersjsonNoJSON object. cors headers Fields: allow_all_headers, allow_all_methods, allow_all_origins, allow_credentials, allowed_headers, allowed_methods, allowed_origins, max_age.
custom_non_identity_deny_urlstringNoThe custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.
custom_pagesjsonNoJSON array. The custom pages that will be displayed when applicable for this application
eager_redirect_cookie_settingbooleanNoPreemptively sets the Access session cookie on every hostname in a multi-hostname self-hosted application during the initial redirect chain, rather than setting it lazily on first visit. Defaults to true. Set to false to disable the eager redirect cookie behavior.
enable_binding_cookiebooleanNoEnables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
http_only_cookie_attributebooleanNoEnables the HttpOnly cookie attribute, which increases security against XSS attacks.
mfa_configjsonNoJSON object. Configures multi-factor authentication (MFA) settings. Fields: allowed_authenticators, mfa_disabled, session_duration.
options_preflight_bypassbooleanNoAllows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.
path_cookie_attributebooleanNoEnables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
read_service_tokens_from_headerstringNoAllows matching Access Service Tokens passed HTTP in a single header with this name. This works as an alternative to the (CF-Access-Client-Id, CF-Access-Client-Secret) pair of headers. The header value will be interpreted as a json object similar to: { "cf-access-client-id": "<CLIENT_ID>", "cf-access-client-secret": "<CLIENT_SECRET>" }
same_site_cookie_attributestringNoSets the SameSite cookie setting, which provides increased security against CSRF attacks.
scim_configjsonNoJSON object. Configuration for provisioning to this application via SCIM. This is currently in closed beta. Fields: authentication, deactivate_on_delete, enabled, idp_uid, mappings, remote_uri.
service_auth_401_redirectbooleanNoReturns a 401 status code when the request is blocked by a Service Auth policy.
skip_interstitialbooleanNoEnables automatic authentication through cloudflared.
use_clientless_isolation_app_launcher_urlbooleanNoDetermines if users can access this application via a clientless browser isolation URL. This allows users to access private domains without connecting to Gateway. The option requires Clientless Browser Isolation to be set up with policies that allow users of this application.
app_launcher_logo_urlstringNoThe image URL of the logo shown in the App Launcher header.
bg_colorstringNoThe background color of the App Launcher page.
footer_linksjsonNoJSON array. The links in the App Launcher footer. Fields: name, url.
header_bg_colorstringNoThe background color of the App Launcher header.
landing_page_designjsonNoJSON object. The design of the App Launcher landing page shown to users when they log in. Fields: button_color, button_text_color, image_url, message, title.
skip_app_launcher_login_pagebooleanNoDetermines when to skip the App Launcher landing page.
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
typestringYesApplication type: self_hosted, end_user, saas, ssh, vnc, app_launcher, warp, biso, bookmark, infrastructure, rdp, mcp, mcp_portal, or proxy_endpoint. dash_sso has no request variant and cannot be created through the API
domainstringNoThe primary hostname and path secured by Access, e.g. internal.example.com or example.com/admin. Required for the self_hosted, ssh, vnc, and rdp types; optional for bookmark and mcp_portal; read-only for app_launcher, warp, biso, and proxy_endpoint; and absent from the saas, infrastructure, and mcp variants
namestringNoFriendly name shown in the dashboard and App Launcher
sessionDurationstringNoHow long an Access session stays valid, e.g. 24h or 30m
allowedIdpsstringNoComma-separated identity provider IDs users may authenticate with. Leave empty to allow all configured providers
appLauncherVisiblebooleanNoWhether the application is shown in the App Launcher
autoRedirectToIdentitybooleanNoWhether users skip the identity provider picker
customDenyMessagestringNoMessage shown to users who are denied access
customDenyUrlstringNoURL denied users are redirected to
logoUrlstringNoLogo image URL shown in the dashboard and App Launcher
tagsstringNoComma-separated tag names categorizing the application
policiesstringNoJSON array of policies to attach. Entries may be reusable policy IDs or inline policy objects, e.g. ["<POLICY_ID>"]
saasAppstringNoJSON SaaS configuration, required for the saas type and rejected on every other type. SAML, e.g. { "auth_type": "saml", "consumer_service_url": "https://example.com/acs", "sp_entity_id": "https://example.com" }; OIDC, e.g. { "auth_type": "oidc", "client_id": "...", "redirect_uris": [ "https://example.com/callback" ] }
targetCriteriastringNoJSON array of infrastructure target criteria, required for the infrastructure and rdp types and rejected on every other type, e.g. [{"port":22,"protocol":"SSH","target_attributes":{"hostname":["production"]}}]
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
audstringAudience tag.
created_atstringcreated at
idstringUUID.
updated_atstringupdated at
allowed_idpsarrayThe identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.
destinationsarrayList of destinations secured by Access. This supersedes self_hosted_domains to allow for more flexibility in defining different types of domains. If destinations are provided, then self_hosted_domains will be ignored.
↳ overridesarrayRules that override how Access handles requests to this destination. Each rule can make a matching path public, bypassing Access authentication. Overrides are supported for public destinations and Worker destinations.
↳ behaviorstringThe behavior to apply to matching requests. Values: public.
↳ path_patternstringThe request path pattern to match. Wildcards (*) are supported, but each path segment may have at most one wildcard. Unlike the uri in public destinations, override path patterns do not implicitly cover subpaths; to do that, use a wildcard.
↳ typestringtype Values: public, private, via_mcp_server_portal, worker, preview_worker, all_workers, all_preview_workers.
↳ uristringThe URI of the destination. Public destinations' URIs can include a domain and path with [wildcards](https://developers.cloudflare.com/cloudflare-one/policies/access/app-paths/).
↳ cidrstringThe CIDR range of the destination. Single IPs will be computed as /32.
↳ hostnamestringThe hostname of the destination. Matches a valid SNI served by an HTTPS origin.
↳ l4_protocolstringThe L4 protocol of the destination. When omitted, both UDP and TCP traffic will match. Values: tcp, udp.
↳ port_rangestringThe port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.
↳ vnet_idstringThe VNET ID to match the destination. When omitted, all VNETs will match.
↳ mcp_server_idstringThe MCP server id configured in ai-controls.
↳ worker_idstringThe ID of the Cloudflare Worker whose preview deployments to protect with Access.
domainstringThe primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.
namestringThe name of the application.
oauth_configurationjsonBeta: Optional configuration for managing an OAuth authorization flow controlled by Access.
↳ dynamic_client_registrationjsonSettings for OAuth dynamic client registration.
↳ allow_any_on_localhostbooleanAllows any client with redirect URIs on localhost.
↳ allow_any_on_loopbackbooleanAllows any client with redirect URIs on 127.0.0.1.
↳ allowed_urisarrayThe URIs that are allowed as redirect URIs for dynamically registered clients. HTTP and HTTPS paths may end in /* to match all sub-paths. Custom-scheme URIs must be explicitly configured and match exactly.
↳ enabledbooleanWhether dynamic client registration is enabled.
↳ enabledbooleanWhether the OAuth configuration is enabled for this application. When set to false, Access will not handle OAuth for this application. Defaults to true if omitted. Values: True.
↳ grantjsonSettings for OAuth grant behavior.
↳ access_token_lifetimestringThe lifetime of the access token. Must be in the format 300ms or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
↳ session_durationstringThe duration of the OAuth session. Must be in the format 300ms or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
self_hosted_domainsarrayList of public domains that Access will secure. This field is deprecated in favor of destinations and will be supported until November 21, 2025. If destinations are provided, then self_hosted_domains will be ignored.
typestringThe application type. Values: end_user, self_hosted, saas, ssh, vnc, app_launcher, warp, biso, bookmark, dash_sso, infrastructure, rdp, mcp, mcp_portal, proxy_endpoint.
user_populationsarrayThe single user population associated with this application.
allow_authenticate_via_warpbooleanWhen set to true, users can authenticate to this application using their WARP session. When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
allow_iframebooleanEnables loading application content in an iFrame.
app_launcher_visiblebooleanDisplays the application in the App Launcher.
auto_redirect_to_identitybooleanWhen set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
cors_headersjsoncors headers
↳ allow_all_headersbooleanAllows all HTTP request headers.
↳ allow_all_methodsbooleanAllows all HTTP request methods.
↳ allow_all_originsbooleanAllows all origins.
↳ allow_credentialsbooleanWhen set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.
↳ allowed_headersarrayAllowed HTTP request headers.
↳ allowed_methodsarrayAllowed HTTP request methods.
↳ allowed_originsarrayAllowed origins.
↳ max_agenumberThe maximum number of seconds the results of a preflight request can be cached.
custom_deny_messagestringThe custom error message shown to a user when they are denied access to the application.
custom_deny_urlstringThe custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.
custom_non_identity_deny_urlstringThe custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.
custom_pagesarrayThe custom pages that will be displayed when applicable for this application
eager_redirect_cookie_settingbooleanPreemptively sets the Access session cookie on every hostname in a multi-hostname self-hosted application during the initial redirect chain, rather than setting it lazily on first visit. Defaults to true. Set to false to disable the eager redirect cookie behavior.
enable_binding_cookiebooleanEnables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
http_only_cookie_attributebooleanEnables the HttpOnly cookie attribute, which increases security against XSS attacks.
logo_urlstringThe image URL for the logo shown in the App Launcher dashboard.
mfa_configjsonConfigures multi-factor authentication (MFA) settings.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.
options_preflight_bypassbooleanAllows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.
path_cookie_attributebooleanEnables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
read_service_tokens_from_headerstringAllows matching Access Service Tokens passed HTTP in a single header with this name.
same_site_cookie_attributestringSets the SameSite cookie setting, which provides increased security against CSRF attacks.
scim_configjsonConfiguration for provisioning to this application via SCIM. This is currently in closed beta.
↳ authenticationjsonMultiple authentication schemes
↳ passwordstringPassword used to authenticate with the remote SCIM service.
↳ schemestringThe authentication scheme to use when making SCIM requests to this application. Values: httpbasic, oauthbearertoken, oauth2, access_service_token.
↳ userstringUser name used to authenticate with the remote SCIM service.
↳ tokenstringToken used to authenticate with the remote SCIM service.
↳ authorization_urlstringURL used to generate the auth code used during token generation.
↳ client_idstringClient ID of the Access service token used to authenticate with the remote service.
↳ client_secretstringClient secret of the Access service token used to authenticate with the remote service.
↳ scopesarrayThe authorization scopes to request when generating the token used to authenticate with the remove SCIM service.
↳ token_urlstringURL used to generate the token used to authenticate with the remote SCIM service.
↳ deactivate_on_deletebooleanIf false, propagates DELETE requests to the target application for SCIM resources. If true, sets 'active' to false on the SCIM resource. Note: Some targets do not support DELETE operations.
↳ enabledbooleanWhether SCIM provisioning is turned on for this application.
↳ idp_uidstringThe UID of the IdP to use as the source for SCIM resources to provision to this application.
↳ mappingsarrayA list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.
↳ enabledbooleanWhether or not this mapping is enabled.
↳ filterstringA [SCIM filter expression](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2) that matches resources that should be provisioned to this application.
↳ operationsjsonWhether or not this mapping applies to creates, updates, or deletes.
↳ createbooleanWhether or not this mapping applies to create (POST) operations.
↳ deletebooleanWhether or not this mapping applies to DELETE operations.
↳ updatebooleanWhether or not this mapping applies to update (PATCH/PUT) operations.
↳ schemastringWhich SCIM resource type this mapping applies to.
↳ strictnessstringThe level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target. Values: strict, passthrough.
↳ transform_jsonatastringA [JSONata](https://jsonata.org/) expression that transforms the resource before provisioning it in the application.
↳ remote_uristringThe base URI for the application's SCIM-compatible API.
service_auth_401_redirectbooleanReturns a 401 status code when the request is blocked by a Service Auth policy.
session_durationstringThe amount of time that tokens issued for this application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
skip_interstitialbooleanEnables automatic authentication through cloudflared.
tagsarrayThe tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
use_clientless_isolation_app_launcher_urlbooleanDetermines if users can access this application via a clientless browser isolation URL. This allows users to access private domains without connecting to Gateway. The option requires Clientless Browser Isolation to be set up with policies that allow users of this application.
policiesarraypolicies
↳ approval_groupsarrayAdministrators who can approve a temporary authentication request.
↳ approvals_needednumberThe number of approvals needed to obtain access.
↳ email_addressesarrayA list of emails that can approve the access request.
↳ email_list_uuidstringThe UUID of an re-usable email list.
↳ approval_requiredbooleanRequires the user to request access from an administrator at the start of each session.
↳ connection_rulesjsonThe rules that define how users may connect to targets secured by your application.
↳ rdpjsonThe RDP-specific rules that define clipboard behavior for RDP connections.
↳ allowed_clipboard_local_to_remote_formatsarrayClipboard formats allowed when copying from local machine to remote RDP session.
↳ allowed_clipboard_remote_to_local_formatsarrayClipboard formats allowed when copying from remote RDP session to local machine.
↳ isolation_requiredbooleanRequire this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
↳ mfa_configjsonConfigures multi-factor authentication (MFA) settings.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.
↳ purpose_justification_promptstringA custom message that will appear on the purpose justification screen.
↳ purpose_justification_requiredbooleanRequire users to enter a justification when they log in to the application.
↳ session_durationstringThe amount of time that tokens issued for the application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
↳ created_atstringcreated at
↳ decisionstringThe action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action. Values: allow, deny, non_identity, bypass.
↳ excludearrayRules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ idstringThe UUID of the policy
↳ includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ namestringThe name of the Access policy.
↳ requirearrayRules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ updated_atstringupdated at
↳ account_idstringIdentifier.
↳ precedencenumberThe order of execution for this policy. Must be unique for each policy within an app.
saas_appjsonsaas app
↳ auth_typestringIdentifier of the authentication protocol used for the saas app. Required for OIDC. Values: saml, oidc.
↳ consumer_service_urlstringThe service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
↳ created_atstringcreated at
↳ custom_attributesarraycustom attributes
↳ friendly_namestringThe SAML FriendlyName of the attribute.
↳ namestringThe name of the attribute.
↳ name_formatstringA globally unique name for an identity or service provider. Values: urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified, urn:oasis:names:tc:SAML:2.0:attrname-format:basic, urn:oasis:names:tc:SAML:2.0:attrname-format:uri.
↳ requiredbooleanIf the attribute is required when building a SAML assertion.
↳ sourcejsonsource
↳ namestringThe name of the IdP attribute.
↳ name_by_idparrayA mapping from IdP ID to attribute name.
↳ idp_idstringThe UID of the IdP.
↳ source_namestringThe name of the IdP provided attribute.
↳ default_relay_statestringThe URL that the user will be redirected to after a successful login for IDP initiated logins.
↳ idp_entity_idstringThe unique identifier for your SaaS application.
↳ name_id_formatstringThe format of the name identifier sent to the SaaS application. Values: id, email.
↳ name_id_transform_jsonatastringA [JSONata](https://jsonata.org/) expression that transforms an application's user identities into a NameID value for its SAML assertion. This expression should evaluate to a singular string. The output of this expression can override the name_id_format setting.
↳ public_keystringThe Access public certificate that will be used to verify your identity.
↳ saml_attribute_transform_jsonatastringA [JSONata] (https://jsonata.org/) expression that transforms an application's user identities into attribute assertions in the SAML response.
↳ sp_entity_idstringA globally unique name for an identity or service provider.
↳ sso_endpointstringThe endpoint where your SaaS application will send login requests.
↳ updated_atstringupdated at
↳ access_token_lifetimestringThe lifetime of the OIDC Access Token after creation. Valid units are m,h. Must be greater than or equal to 1m and less than or equal to 24h.
↳ allow_pkce_without_client_secretbooleanIf client secret should be required on the token endpoint when authorization_code_with_pkce grant is used.
↳ app_launcher_urlstringThe URL where this applications tile redirects users
↳ client_idstringThe application client id
↳ client_secretstringThe application client secret, only returned on POST request.
↳ custom_claimsarraycustom claims
↳ namestringThe name of the claim.
↳ requiredbooleanIf the claim is required when building an OIDC token.
↳ scopestringThe scope of the claim. Values: groups, profile, email, openid.
↳ sourcejsonsource
↳ namestringThe name of the IdP claim.
↳ name_by_idpjsonA mapping from IdP ID to claim name.
↳ grant_typesarrayThe OIDC flows supported by this application
↳ group_filter_regexstringA regex to filter Cloudflare groups returned in ID token and userinfo endpoint
↳ hybrid_and_implicit_optionsjsonhybrid and implicit options
↳ return_access_token_from_authorization_endpointbooleanIf an Access Token should be returned from the OIDC Authorization endpoint
↳ return_id_token_from_authorization_endpointbooleanIf an ID Token should be returned from the OIDC Authorization endpoint
↳ redirect_urisarrayThe permitted URL's for Cloudflare to return Authorization codes and Access/ID tokens
↳ refresh_token_optionsjsonrefresh token options
↳ lifetimestringHow long a refresh token will be valid for after creation. Valid units are m,h,d. Must be longer than 1m.
↳ scopesarrayDefine the user information shared with access, "offline_access" scope will be automatically enabled if refresh tokens are enabled
app_launcher_logo_urlstringThe image URL of the logo shown in the App Launcher header.
bg_colorstringThe background color of the App Launcher page.
footer_linksarrayThe links in the App Launcher footer.
↳ namestringThe hypertext in the footer link.
↳ urlstringthe hyperlink in the footer link.
header_bg_colorstringThe background color of the App Launcher header.
landing_page_designjsonThe design of the App Launcher landing page shown to users when they log in.
↳ button_colorstringThe background color of the log in button on the landing page.
↳ button_text_colorstringThe color of the text in the log in button on the landing page.
↳ image_urlstringThe URL of the image shown on the landing page.
↳ messagestringThe message shown on the landing page.
↳ titlestringThe title shown on the landing page.
skip_app_launcher_login_pagebooleanDetermines when to skip the App Launcher landing page.
target_criteriaarraytarget criteria
↳ excludejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ includejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ portnumberThe port that the targets use for the chosen communication protocol. A port cannot be assigned to multiple protocols.
↳ requirejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ target_attributesjsonContains a map of target attribute keys to target attribute values.
↳ protocolstringThe communication protocol your application secures. Values: RDP.

Cloudflare Create Access Group

Creates a new Access group.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
apiKeystringYesCloudflare API token
excludejsonNoJSON array. Rules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules. Fields: group, any_valid_service_token, auth_context, auth_method, azureAD, certificate, common_name, geo, device_posture, email_domain, email_list, email, everyone, external_evaluation, github-organization, gsuite, login_method, ip_list, ip, okta, saml, oidc, service_token, linked_app_token, user_risk_score, cloudflare_account_member.
includejsonYesJSON array. Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules. Fields: group, any_valid_service_token, auth_context, auth_method, azureAD, certificate, common_name, geo, device_posture, email_domain, email_list, email, everyone, external_evaluation, github-organization, gsuite, login_method, ip_list, ip, okta, saml, oidc, service_token, linked_app_token, user_risk_score, cloudflare_account_member.
is_defaultbooleanNoWhether this is the default group
namestringYesThe name of the Access group.
requirejsonNoJSON array. Rules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules. Fields: group, any_valid_service_token, auth_context, auth_method, azureAD, certificate, common_name, geo, device_posture, email_domain, email_list, email, everyone, external_evaluation, github-organization, gsuite, login_method, ip_list, ip, okta, saml, oidc, service_token, linked_app_token, user_risk_score, cloudflare_account_member.

Output

ParameterTypeDescription
created_atstringcreated at
excludearrayRules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
idstringUUID.
includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
is_defaultarrayRules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
namestringThe name of the Access group.
requirearrayRules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
updated_atstringupdated at

Cloudflare Create Access Policy

Creates a Cloudflare Access (Zero Trust) policy on an application, deciding who may reach it. A policy takes effect on live traffic as soon as it is created — an allow policy with a broad include rule grants access immediately. Requires an API token with Account Access: Apps and Policies Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
approval_groupsjsonNoJSON array. Administrators who can approve a temporary authentication request. Fields: approvals_needed, email_addresses, email_list_uuid.
connection_rulesjsonNoJSON object. The rules that define how users may connect to the targets secured by your application. Fields: rdp, ssh.
mfa_configjsonNoJSON object. Configures multi-factor authentication (MFA) settings for infrastructure applications. Fields: allowed_authenticators, mfa_disabled, session_duration.
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
appIdstringYesThe Access application ID to attach the policy to
namestringYesName of the policy
decisionstringYesWhat the policy does when it matches: allow, deny, non_identity (service tokens and other non-identity rules), or bypass (skip Access entirely)
includestringYesJSON array of Access rules evaluated with OR logic — matching any one selects the policy. Example: [{"email":{"email":"user@example.com"}}] or [{"email_domain":{"domain":"example.com"}}]
excludestringNoJSON array of Access rules evaluated with NOT logic — matching any one rejects the request
requirestringNoJSON array of Access rules evaluated with AND logic — all of them must match
precedencenumberNoEvaluation order of the policy within the application
sessionDurationstringNoHow long a session granted by this policy stays valid, e.g. 24h. Leave it unset on a policy attached to an infrastructure-typed application — Cloudflare rejects those with error 12130
approvalRequiredbooleanNoWhether an approver must grant each access request
isolationRequiredbooleanNoWhether the session must run in a remote isolated browser
purposeJustificationRequiredbooleanNoWhether users must state a reason for access
purposeJustificationPromptstringNoPrompt shown when a justification is required
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
approval_groupsarrayAdministrators who can approve a temporary authentication request.
↳ approvals_needednumberThe number of approvals needed to obtain access.
↳ email_addressesarrayA list of emails that can approve the access request.
↳ email_list_uuidstringThe UUID of an re-usable email list.
approval_requiredbooleanRequires the user to request access from an administrator at the start of each session.
connection_rulesjsonThe rules that define how users may connect to the targets secured by your application.
↳ rdpjsonThe RDP-specific rules that define clipboard behavior for RDP connections.
↳ allowed_clipboard_local_to_remote_formatsarrayClipboard formats allowed when copying from local machine to remote RDP session.
↳ allowed_clipboard_remote_to_local_formatsarrayClipboard formats allowed when copying from remote RDP session to local machine.
↳ sshjsonThe SSH-specific rules that define how users may connect to the targets secured by your application.
↳ allow_email_aliasbooleanEnables using Identity Provider email alias as SSH username.
↳ usernamesarrayContains the Unix usernames that may be used when connecting over SSH.
isolation_requiredbooleanRequire this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
mfa_configjsonConfigures multi-factor authentication (MFA) settings for infrastructure applications.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with. For infrastructure applications, supported values are piv_key and ssh_fido2_key.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples: 5m or 24h.
purpose_justification_promptstringA custom message that will appear on the purpose justification screen.
purpose_justification_requiredbooleanRequire users to enter a justification when they log in to the application.
session_durationstringThe amount of time that tokens issued for the application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
created_atstringcreated at
decisionstringThe action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action. Values: allow, deny, non_identity, bypass.
excludearrayRules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
idstringThe UUID of the policy
includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
namestringThe name of the Access policy.
requirearrayRules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
updated_atstringupdated at
account_idstringIdentifier.
precedencenumberThe order of execution for this policy. Must be unique for each policy within an app.

Cloudflare Create Access Service Token

Creates a Cloudflare Access (Zero Trust) service token so a machine can authenticate to Access-protected applications. This is the only response that ever contains the client secret — Cloudflare will not return it again, so capture it in the same run. Requires an API token with Account Access: Service Tokens Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
client_secret_versionnumberNoA version number identifying the current client_secret associated with the service token. Incrementing it triggers a rotation; the previous secret will still be accepted until the time indicated by previous_client_secret_expires_at. If the service token was reported as leaked, previous_client_secret_expires_at is not required, may not be in the future, and the previous secret is discarded immediately.
enabledbooleanNoWhether the service token is enabled. A disabled service token cannot be used to authenticate; both its current and previous client_secret stop being accepted, but the token itself is preserved and can be re-enabled. A service token reported as leaked is disabled automatically and cannot be re-enabled until its secret is rotated; attempting to do so returns a 409. Defaults to enabled when omitted on create.
previous_client_secret_expires_atstringNoThe expiration of the previous client_secret. This can be modified at any point after a rotation. For example, you may extend it further into the future if you need more time to update services with the new secret; or move it into the past to immediately invalidate the previous token in case of compromise. Rotating a service token that was reported as leaked discards the previous secret entirely, so no grace period can be set.
accountIdstringYesThe Cloudflare account ID. Service tokens are account-scoped
namestringYesName of the service token
durationstringNoHow long the token stays valid before it expires, e.g. 8760h. Defaults to Cloudflare's standard lifetime
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
client_idstringThe Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.
client_secretstringThe Client Secret for the service token. Access will check for this value in the CF-Access-Client-Secret request header.
created_atstringcreated at
durationstringThe duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
enabledbooleanWhether the service token is enabled.
idstringThe ID of the service token.
namestringThe name of the service token.
updated_atstringupdated at
expires_atstringService token expires at when returned by Cloudflare; retained for existing workflows
last_seen_atstringService token last seen at when returned by Cloudflare; retained for existing workflows

Cloudflare Create DNS Record

Creates a new DNS record for a zone.

Inputs and outputs

Input

ParameterTypeRequiredDescription
settingsjsonNoJSON object. Settings for the DNS record. Fields: ipv4_only, ipv6_only, flatten_cname.
private_routingbooleanNoEnables private network routing to the origin.
datajsonNoJSON object. Structured record data. The available fields depend on the DNS record type. Fields: flags, tag, value, algorithm, certificate, key_tag, type, protocol, public_key, digest, digest_type, priority, target, altitude, lat_degrees, lat_direction, lat_minutes, lat_seconds, long_degrees, long_direction, long_minutes, long_seconds, precision_horz, precision_vert, size, order, preference, regex, replacement, service, matching_type, selector, usage, port, weight, fingerprint.
include_shadow_metadatabooleanNoWhether to include shadow metadata in the meta field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
zoneIdstringYesThe zone ID to create the DNS record in
typestringYesDNS record type (e.g., "A", "AAAA", "CNAME", "MX", "TXT", "NS", "SRV")
namestringYesDNS record name (e.g., "example.com" or "subdomain.example.com")
contentstringNoDNS record content (e.g., IP address for A records, target for CNAME)
ttlnumberNoTime to live in seconds (1 = automatic, default: 1)
proxiedbooleanNoWhether to enable Cloudflare proxy (default: false)
prioritynumberNoRecord priority. Cloudflare accepts this top-level field for MX and URI records only; use the data object for structured records such as SRV (priority, weight, port, target)
commentstringNoComment for the DNS record
tagsstringNoComma-separated tags for the DNS record
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
commentstringComments or notes about the DNS record. This field has no effect on DNS responses.
namestringComplete DNS record name, including the zone name, in Punycode.
proxiedbooleanWhether the record is receiving the performance and security benefits of Cloudflare.
settingsjsonSettings for the DNS record.
↳ ipv4_onlybooleanWhen enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
↳ ipv6_onlybooleanWhen enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
↳ flatten_cnamebooleanIf enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened.
tagsarrayCustom tags for the DNS record. This field has no effect on DNS responses.
ttlnumberTime To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. Values: 1.
contentstringFormatted URI content. See 'data' to set URI properties.
private_routingbooleanEnables private network routing to the origin.
typestringRecord type. Values: A, AAAA, CNAME, MX, NS, OPENPGPKEY, PTR, TXT, CAA, CERT, DNSKEY, DS, HTTPS, LOC, NAPTR, SMIMEA, SRV, SSHFP, SVCB, TLSA, URI.
prioritynumberRequired for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map.
datajsonStructured record data. The available fields depend on the DNS record type.
↳ flagsjsonFlags.
↳ tagstringName of the property controlled by this record (e.g.: issue, issuewild, iodef).
↳ valuestringValue.
↳ algorithmnumberAlgorithm.
↳ certificatestringCertificate.
↳ key_tagnumberKey Tag.
↳ typenumberType.
↳ protocolnumberProtocol.
↳ public_keystringPublic Key.
↳ digeststringDigest.
↳ digest_typenumberDigest Type.
↳ prioritynumberPriority.
↳ targetstringThe record content.
↳ altitudenumberAltitude of location in meters.
↳ lat_degreesnumberDegrees of latitude.
↳ lat_directionstringLatitude direction. Values: N, S.
↳ lat_minutesnumberMinutes of latitude.
↳ lat_secondsnumberSeconds of latitude.
↳ long_degreesnumberDegrees of longitude.
↳ long_directionstringLongitude direction. Values: E, W.
↳ long_minutesnumberMinutes of longitude.
↳ long_secondsnumberSeconds of longitude.
↳ precision_horznumberHorizontal precision of location.
↳ precision_vertnumberVertical precision of location.
↳ sizenumberSize of location in meters.
↳ ordernumberOrder.
↳ preferencenumberPreference.
↳ regexstringRegex.
↳ replacementstringReplacement.
↳ servicestringService.
↳ matching_typenumberMatching Type.
↳ selectornumberSelector.
↳ usagenumberUsage.
↳ portnumberThe port of the service.
↳ weightnumberThe record weight.
↳ fingerprintstringFingerprint.
comment_modified_onstringWhen the record comment was last modified. Omitted if there is no comment.
created_onstringWhen the record was created.
idstringIdentifier.
metajsonExtra Cloudflare-specific metadata about the record.
↳ dead_gluebooleanWhether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it.
↳ is_gluebooleanWhether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records).
↳ shadowed_byarrayIDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
↳ shadowed_records_countnumberNumber of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
modified_onstringWhen the record was last modified.
proxiablebooleanWhether the record can be proxied by Cloudflare or not.
tags_modified_onstringWhen the record tags were last modified. Omitted if there are no tags.
zone_idstringLegacy DNS response zone ID when returned by Cloudflare
zone_namestringLegacy DNS response zone name when returned by Cloudflare
lockedbooleanLegacy DNS response lock flag when returned by Cloudflare

Cloudflare Create R2 Bucket

Creates an R2 object storage bucket in an account. The location hint and jurisdiction are fixed at creation and cannot be changed later. Requires an API token with Account Workers R2 Storage Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. R2 buckets are account-scoped
bucketNamestringYesName for the new bucket
locationHintstringNoRegion hint for where the bucket should live: apac, eeur, enam, weur, wnam, or oc. Cannot be changed after creation
storageClassstringNoDefault storage class for objects: Standard or InfrequentAccess
jurisdictionstringNoData-residency jurisdiction to create the bucket in: default, eu, or fedramp. Cannot be changed after creation
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
creation_datestringCreation timestamp.
jurisdictionstringJurisdiction where objects in this bucket are guaranteed to be stored. Values: default, eu, us, fedramp, fedramp-high.
locationstringLocation of the bucket. Values: apac, eeur, enam, weur, wnam, oc.
namestringName of the bucket.
storage_classstringStorage class for newly uploaded objects, unless specified otherwise. Values: Standard, InfrequentAccess.

Cloudflare Create Rate Limiting Rule

Creates a rate limiting rule in the http_ratelimit phase entry point ruleset of a zone, using the current Rulesets-based rate limiting API (the legacy rate_limits endpoint is no longer available). Run "List Rate Limiting Rules" first to get the ruleset ID. Requires an API token with Zone WAF Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
actionParametersjsonNoJSON object. The parameters configuring the rule's action. Fields: response, algorithms, id, matched_data, overrides, cookie_fields, raw_response_fields, request_fields, response_fields, transformed_request_fields, from_list, from_value, headers, uri, host_header, origin, sni, increment, content_type, status_code, content, asset_name, immutable, max-age, must-revalidate, must-understand, no-cache, no-store, no-transform, private, proxy-revalidate, public, s-maxage, stale-if-error, stale-while-revalidate, additional_cacheable_ports, browser_ttl, cache, cache_key, cache_reserve, edge_ttl, origin_cache_control, origin_error_page_passthru, origin_range_requests, read_timeout, respect_strong_etags, serve_stale, shared_dictionary, strip_etags, strip_last_modified, strip_set_cookie, vary, operation, values, expression, automatic_https_rewrites, autominify, bic, content_converter, disable_apps, disable_pay_per_crawl, disable_rum, disable_zaraz, email_obfuscation, fonts, hotlink_protection, mirage, opportunistic_encryption, polish, redirects_for_ai_training, request_body_buffering, response_body_buffering, rocket_loader, security_level, server_side_excludes, ssl, sxg, webmcp_enabled, webmcp_packs, phase, phases, products, rules, ruleset, rulesets, link_maze.
exposed_credential_checkjsonNoJSON object. Configuration for exposed credential checking. Fields: password_expression, username_expression.
idstringNoThe unique ID of the rule.
loggingjsonNoJSON object. An object configuring the rule's logging behavior. Fields: enabled.
refstringNoThe reference of the rule (the rule's ID by default).
positionjsonNoJSON object. An object configuring where the rule will be placed. Fields: before, after, index.
score_per_periodnumberNoThe score threshold per period for which the action will be executed the first time.
score_response_header_namestringNoA response header name provided by the origin, which contains the score to increment rate limit counter with.
dry_runbooleanNodry run
zoneIdstringYesThe zone ID to add the rate limiting rule to
rulesetIdstringYesThe http_ratelimit entry point ruleset ID, as returned by "List Rate Limiting Rules"
expressionstringYesCloudflare filter expression selecting the requests the rule applies to, e.g. (http.request.uri.path matches "^/api/")
characteristicsstringYesComma-separated counting characteristics. cf.colo.id is mandatory. ip.src and cf.unique_visitor_id are mutually exclusive — include at most one. Example: cf.colo.id,ip.src
periodnumberYesCounting window in seconds. Cloudflare accepts only 10, 60, 120, 300, 600, or 3600
requestsPerPeriodnumberYesNumber of requests allowed within the counting period before the action fires
actionstringNoAction applied once the limit is exceeded, e.g. block, managed_challenge, js_challenge, challenge, or log. Defaults to block
mitigationTimeoutnumberNoSeconds the action stays applied after the limit is exceeded. Cloudflare accepts only 0, 10, 60, 120, 300, 600, 3600, or 86400
counting_expressionstringNoOptional expression defining which requests are counted, when it differs from the matching expression
requestsToOriginbooleanNoWhen true, only requests that reach the origin are counted
descriptionstringNoHuman-readable description of the rule
enabledbooleanNoWhether the rule is enabled
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Create Ruleset

Creates a zone ruleset for a phase, optionally seeded with its first rules. Use this when a phase has no entry point ruleset yet — reading the entry point returns 404 on a zone that has never had a rule in that phase, and rules can only be appended to a ruleset that already exists. Create the entry point with kind "zone" and the target phase (for example http_ratelimit for rate limiting rules or http_request_firewall_custom for WAF custom rules), then use the returned ruleset ID for later rule operations. Requires an API token with Zone WAF Edit (or another matching ruleset Edit permission).

Inputs and outputs

Input

ParameterTypeRequiredDescription
dry_runbooleanNodry run
zoneIdstringYesThe zone ID to create the ruleset in
namestringYesHuman-readable name for the ruleset
phasestringYesThe ruleset phase, e.g. http_ratelimit, http_request_firewall_custom, http_request_firewall_managed, http_request_transform, http_request_dynamic_redirect
kindstringNoRuleset kind: zone or custom. Use zone to create a phase entry point ruleset and custom for a ruleset an execute rule deploys. Defaults to zone. "root" is the account-level phase entry point and "managed" is Cloudflare-owned, so neither can be created on this zone-scoped endpoint
descriptionstringNoDescription of the ruleset
rulesjsonNoJSON array of rules to seed the ruleset with, in evaluation order. Each rule takes action, expression, and optionally description, enabled, action_parameters, and ratelimit
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Create Ruleset Rule

Adds a rule to a zone ruleset. Use "Get Phase Entry Point Ruleset" first to find the ruleset ID for the phase you want (for example http_request_firewall_custom for a WAF custom rule, or http_request_firewall_managed with action "execute" to deploy a managed ruleset). The rule is appended to the end of the ruleset unless a position is given. Requires an API token with Zone WAF Edit (or another matching ruleset Write permission).

Inputs and outputs

Input

ParameterTypeRequiredDescription
exposed_credential_checkjsonNoJSON object. Configuration for exposed credential checking. Fields: password_expression, username_expression.
idstringNoThe unique ID of the rule.
loggingjsonNoJSON object. An object configuring the rule's logging behavior. Fields: enabled.
ratelimitjsonNoJSON object. An object configuring the rule's rate limit behavior. Fields: characteristics, counting_expression, mitigation_timeout, period, requests_per_period, requests_to_origin, score_per_period, score_response_header_name.
dry_runbooleanNodry run
zoneIdstringYesThe zone ID that owns the ruleset
rulesetIdstringYesThe ruleset ID to add the rule to
actionstringYesThe action the rule performs. Valid values depend on the phase — e.g. block, challenge, js_challenge, managed_challenge, log, skip, or execute (to deploy a managed ruleset)
expressionstringYesCloudflare filter expression selecting matching requests, e.g. (ip.src.country in {"GB" "FR"}). Use "true" to match every request
descriptionstringNoHuman-readable description of the rule
enabledbooleanNoWhether the rule is enabled
refstringNoReference tag that stays stable across rule updates
actionParametersstringNoJSON object of action-specific parameters. For an "execute" rule this carries the managed ruleset id and any overrides, e.g. {"id":"<MANAGED_RULESET_ID>","overrides":{"action":"log"}}
positionstringNoJSON object placing the rule within the ruleset. Exactly one of {"before":"<RULE_ID>"}, {"after":"<RULE_ID>"}, or {"index":<1-based position>}
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Create Tunnel

Creates a remotely or locally managed Cloudflare Tunnel in an account. After creation, retrieve its token and run cloudflared to establish the connector connection.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
apiKeystringYesCloudflare API token
config_srcstringNoIndicates if this is a locally or remotely configured tunnel. If local, manage the tunnel using a YAML file on the origin machine. If cloudflare, manage the tunnel on the Zero Trust dashboard. Allowed values: local, cloudflare.
namestringYesA user-friendly name for a tunnel.
tunnel_secretstringNoSets the password required to run a locally-managed tunnel. Must be at least 32 bytes and encoded as a base64 string.

Output

ParameterTypeDescription
account_tagstringCloudflare account ID
config_srcstringIndicates if this is a locally or remotely configured tunnel. If local, manage the tunnel using a YAML file on the origin machine. If cloudflare, manage the tunnel on the Zero Trust dashboard. Values: local, cloudflare.
connectionsarrayThe Cloudflare Tunnel connections between your origin and Cloudflare's edge.
↳ client_idstringUUID of the Cloudflare Tunnel connector.
↳ client_versionstringThe cloudflared version used to establish this connection.
↳ colo_namestringThe Cloudflare data center used for this connection.
↳ idstringUUID of the Cloudflare Tunnel connection.
↳ is_pending_reconnectbooleanCloudflare continues to track connections for several minutes after they disconnect. This is an optimization to improve latency and reliability of reconnecting. If true, the connection has disconnected but is still being tracked. If false, the connection is actively serving traffic.
↳ opened_atstringTimestamp of when the connection was established.
↳ origin_ipstringThe public IP address of the host running cloudflared.
↳ uuidstringUUID of the Cloudflare Tunnel connection.
conns_active_atstringTimestamp of when the tunnel established at least one connection to Cloudflare's edge. If null, the tunnel is inactive.
conns_inactive_atstringTimestamp of when the tunnel became inactive (no connections to Cloudflare's edge). If null, the tunnel is active.
created_atstringTimestamp of when the resource was created.
deleted_atstringTimestamp of when the resource was deleted. If null, the resource has not been deleted.
idstringUUID of the tunnel.
metadatajsonMetadata associated with the tunnel.
namestringA user-friendly name for a tunnel.
remote_configbooleanIf true, the tunnel can be configured remotely from the Zero Trust dashboard. If false, the tunnel must be configured locally on the origin machine.
statusstringThe status of the tunnel.
tun_typestringThe type of tunnel. Values: cfd_tunnel, warp_connector, warp, magic, ip_sec, gre, cni.

Cloudflare Create Worker Route

Creates a route that maps a URL pattern to a Worker.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesZone id
apiKeystringYesCloudflare API token
patternstringYesPattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).
scriptstringNoName of the script to run if the route matches.

Output

ParameterTypeDescription
idstringIdentifier.
patternstringPattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).
scriptstringName of the script to run if the route matches.

Cloudflare Create Zone

Adds a new zone (domain) to the Cloudflare account.

Inputs and outputs

Input

ParameterTypeRequiredDescription
namestringYesThe domain name to add (e.g., "example.com")
accountIdstringYesThe Cloudflare account ID
typestringNoZone type: "full" (Cloudflare manages DNS), "partial" (CNAME setup), "secondary" (secondary DNS), or "internal" (internal DNS zone)
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
accountjsonThe account the zone belongs to.
↳ idstringIdentifier
↳ namestringThe name of the account.
activated_onstringThe last time proof of ownership was detected and the zone was made active.
cname_suffixstringAllows the customer to use a custom apex. Tenants Only Configuration.
created_onstringWhen the zone was created.
development_modenumberThe interval (in seconds) from when development mode expires (positive integer) or last expired (negative integer) for the domain. If development mode has never been enabled, this value is 0.
idstringIdentifier
metajsonMetadata about the zone.
↳ cdn_onlybooleanThe zone is only configured for CDN.
↳ custom_certificate_quotanumberNumber of Custom Certificates the zone can have.
↳ dns_onlybooleanThe zone is only configured for DNS.
↳ foundation_dnsbooleanThe zone is setup with Foundation DNS.
↳ page_rule_quotanumberNumber of Page Rules a zone can have.
↳ phishing_detectedbooleanThe zone has been flagged for phishing.
↳ stepnumberstep
modified_onstringWhen the zone was last modified.
namestringThe domain name. Per [RFC 1035](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4) the overall zone name can be up to 253 characters, with each segment ("label") not exceeding 63 characters.
name_serversarrayThe name servers Cloudflare assigns to a zone.
original_dnshoststringDNS host at the time of switching to Cloudflare.
original_name_serversarrayOriginal name servers before moving to Cloudflare.
original_registrarstringRegistrar for the domain at the time of switching to Cloudflare.
ownerjsonThe owner of the zone.
↳ idstringIdentifier
↳ namestringName of the owner.
↳ typestringThe type of owner.
pausedbooleanIndicates whether the zone is only using Cloudflare DNS services. A true value means the zone will not receive security or performance benefits.
permissionsarrayLegacy permissions based on legacy user membership information.
planjsonA Zones subscription information.
↳ can_subscribebooleanStates if the subscription can be activated.
↳ currencystringThe denomination of the customer.
↳ externally_managedbooleanIf this Zone is managed by another company.
↳ frequencystringHow often the customer is billed.
↳ idstringIdentifier
↳ is_subscribedbooleanStates if the subscription active.
↳ legacy_discountbooleanIf the legacy discount applies to this Zone.
↳ legacy_idstringThe legacy name of the plan.
↳ namestringName of the owner.
↳ pricenumberHow much the customer is paying.
statusstringThe zone status on Cloudflare. Values: initializing, pending, active, moved.
tenantjsonThe root organizational unit that this zone belongs to (such as a tenant or organization).
↳ idstringIdentifier
↳ namestringThe name of the Tenant account.
tenant_unitjsonThe immediate parent organizational unit that this zone belongs to (such as under a tenant or sub-organization).
↳ idstringIdentifier
typestringA full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. Values: full, partial, secondary, internal.
vanity_name_serversarrayAn array of domains used for custom name servers. This is only available for Business and Enterprise plans.
verification_keystringVerification key for partial zone setup.

Cloudflare Delete Access Application

Permanently deletes a Cloudflare Access (Zero Trust) application and every policy attached to it. The hostname it protected is immediately left without an Access identity check, so anyone who can reach it can reach the origin. This cannot be undone. Requires an API token with Account Access: Apps and Policies Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
appIdstringYesThe Access application ID to delete permanently
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
idstringIdentifier of the deleted Access application

Cloudflare Delete Access Group

Deletes an Access group.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
groupIdstringYesGroup id
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
idstringUUID.

Cloudflare Delete Access Policy

Permanently deletes a Cloudflare Access (Zero Trust) policy from an application. This changes who can reach the application the moment it runs: removing an allow policy locks out everyone it covered, and removing a deny or require policy drops that restriction. This cannot be undone. Requires an API token with Account Access: Apps and Policies Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
appIdstringYesThe Access application ID that owns the policy
policyIdstringYesThe Access policy ID to delete permanently
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
idstringIdentifier of the deleted Access policy

Cloudflare Delete DNS Record

Deletes a DNS record from a zone.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID containing the DNS record
recordIdstringYesThe DNS record ID to delete
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
idstringDeleted record ID

Cloudflare Delete R2 Bucket

Permanently deletes an R2 object storage bucket. Cloudflare only deletes an empty bucket, and the deletion cannot be undone. Requires an API token with Account Workers R2 Storage Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. R2 buckets are account-scoped
bucketNamestringYesThe name of the bucket to delete permanently
jurisdictionstringNoData-residency jurisdiction the bucket lives in: default, eu, or fedramp
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
namestringName of the deleted bucket. Cloudflare returns an empty result body for this endpoint, so the name is echoed from the request

Cloudflare Delete R2 Bucket Cors

Delete the CORS policy for a bucket.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
bucketNamestringYesBucket name
apiKeystringYesCloudflare API token
jurisdictionstringNoJurisdiction where objects in this bucket are guaranteed to be stored.

Output

ParameterTypeDescription
successbooleanWhether Cloudflare accepted the operation

Cloudflare Delete Ruleset

Deletes all versions of an existing zone ruleset.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesZone id
rulesetIdstringYesRuleset id
apiKeystringYesCloudflare API token
dry_runbooleanNoValidates the request without persisting changes when set to true. Responses that normally return 200 return result: null; endpoints that normally return 204 continue to return 204.

Output

ParameterTypeDescription
successbooleanWhether Cloudflare accepted the operation

Cloudflare Delete Ruleset Rule

Permanently deletes a rule from a zone ruleset. This takes effect immediately on live traffic and cannot be undone — deleting a WAF custom rule, a managed-ruleset deployment, or a rate limiting rule removes that protection from the zone. Also use this to delete rate limiting rules, which live in the http_ratelimit phase ruleset. Requires an API token with Zone WAF Edit (or another matching ruleset Write permission).

Inputs and outputs

Input

ParameterTypeRequiredDescription
dry_runbooleanNodry run
zoneIdstringYesThe zone ID that owns the ruleset
rulesetIdstringYesThe ruleset ID containing the rule
ruleIdstringYesThe rule ID to delete permanently
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Delete Tunnel

Permanently deletes a Cloudflare Tunnel from an account. The tunnel must have no active connections.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
tunnelIdstringYesTunnel id
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
account_tagstringCloudflare account ID
config_srcstringIndicates if this is a locally or remotely configured tunnel. If local, manage the tunnel using a YAML file on the origin machine. If cloudflare, manage the tunnel on the Zero Trust dashboard. Values: local, cloudflare.
connectionsarrayThe Cloudflare Tunnel connections between your origin and Cloudflare's edge.
↳ client_idstringUUID of the Cloudflare Tunnel connector.
↳ client_versionstringThe cloudflared version used to establish this connection.
↳ colo_namestringThe Cloudflare data center used for this connection.
↳ idstringUUID of the Cloudflare Tunnel connection.
↳ is_pending_reconnectbooleanCloudflare continues to track connections for several minutes after they disconnect. This is an optimization to improve latency and reliability of reconnecting. If true, the connection has disconnected but is still being tracked. If false, the connection is actively serving traffic.
↳ opened_atstringTimestamp of when the connection was established.
↳ origin_ipstringThe public IP address of the host running cloudflared.
↳ uuidstringUUID of the Cloudflare Tunnel connection.
conns_active_atstringTimestamp of when the tunnel established at least one connection to Cloudflare's edge. If null, the tunnel is inactive.
conns_inactive_atstringTimestamp of when the tunnel became inactive (no connections to Cloudflare's edge). If null, the tunnel is active.
created_atstringTimestamp of when the resource was created.
deleted_atstringTimestamp of when the resource was deleted. If null, the resource has not been deleted.
idstringUUID of the tunnel.
metadatajsonMetadata associated with the tunnel.
namestringA user-friendly name for a tunnel.
remote_configbooleanIf true, the tunnel can be configured remotely from the Zero Trust dashboard. If false, the tunnel must be configured locally on the origin machine.
statusstringThe status of the tunnel.
tun_typestringThe type of tunnel. Values: cfd_tunnel, warp_connector, warp, magic, ip_sec, gre, cni.

Cloudflare Delete Worker Route

Deletes a Worker route.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesZone id
routeIdstringYesRoute id
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
idstringIdentifier.

Cloudflare Delete Worker Script

Delete your worker. This call has no response body on a successful delete.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
scriptNamestringYesScript name
apiKeystringYesCloudflare API token
forcebooleanNoIf true, delete the Worker even when other Workers still reference it. Service bindings in those Workers may be left broken. Durable Object namespaces implemented by the deleted Worker are deleted even if other Workers reference them.

Output

ParameterTypeDescription
successbooleanWhether Cloudflare accepted the operation

Cloudflare Delete Zone

Deletes a zone (domain) from the Cloudflare account.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to delete
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
idstringDeleted zone ID

Cloudflare DNS Analytics

Gets DNS analytics report for a zone including query counts and trends.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to get DNS analytics for
sincestringNoStart date for analytics (ISO 8601, e.g., "2024-01-01T00:00:00Z") or relative (e.g., "-6h")
untilstringNoEnd date for analytics (ISO 8601, e.g., "2024-01-31T23:59:59Z") or relative (e.g., "now")
metricsstringNoComma-separated metrics to retrieve (e.g., "queryCount,uncachedCount,staleCount,responseTimeAvg,responseTimeMedian,responseTime90th,responseTime99th"). Optional in the API
dimensionsstringNoComma-separated dimensions to group by (e.g., "queryName,queryType,responseCode,responseCached,coloName,origin,dayOfWeek,tcp,ipVersion,querySizeBucket,responseSizeBucket")
filtersstringNoFilters to apply to the data (e.g., "queryType==A")
sortstringNoSort order for the result set. Fields must be included in metrics or dimensions (e.g., "+queryCount" or "-responseTimeAvg")
limitnumberNoMaximum number of results to return
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
totalsobjectAggregate DNS analytics totals for the entire queried period. Only the metrics that were requested are present.
↳ queryCountnumberTotal number of DNS queries. Absent when queryCount was not requested
↳ uncachedCountnumberNumber of uncached DNS queries. Absent when uncachedCount was not requested
↳ staleCountnumberNumber of stale DNS queries. Absent when staleCount was not requested
↳ responseTimeAvgnumberAverage response time in milliseconds
↳ responseTimeMediannumberMedian response time in milliseconds
↳ responseTime90thnumber90th percentile response time in milliseconds
↳ responseTime99thnumber99th percentile response time in milliseconds
minjsonPer-metric minimums. Cloudflare documents this field as currently always an empty object, so treat a populated value as unexpected rather than relied upon.
maxjsonPer-metric maximums. Cloudflare documents this field as currently always an empty object, so treat a populated value as unexpected rather than relied upon.
dataarrayRaw analytics data rows returned by the Cloudflare DNS analytics report
↳ dimensionsarrayDimension values for this data row, parallel to the requested dimensions list
↳ metricsarrayMetric values for this data row, parallel to the requested metrics list
data_lagnumberProcessing lag in seconds before analytics data becomes available
rowsnumberTotal number of rows in the result set
queryobjectEcho of the query parameters sent to the API
↳ sincestringStart date of the analytics query
↳ untilstringEnd date of the analytics query
↳ metricsarrayMetrics requested in the query
↳ dimensionsarrayDimensions requested in the query
↳ filtersstringFilters applied to the query
↳ sortarraySort order applied to the query
↳ limitnumberMaximum number of results requested

Cloudflare Get Access Application

Reads a single Cloudflare Access (Zero Trust) application, including its attached policies. Requires an API token with Account Access: Apps and Policies Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
appIdstringYesThe Access application ID (or audience tag) to read
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
audstringAudience tag.
created_atstringcreated at
idstringUUID.
updated_atstringupdated at
allowed_idpsarrayThe identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.
destinationsarrayList of destinations secured by Access. This supersedes self_hosted_domains to allow for more flexibility in defining different types of domains. If destinations are provided, then self_hosted_domains will be ignored.
↳ overridesarrayRules that override how Access handles requests to this destination. Each rule can make a matching path public, bypassing Access authentication. Overrides are supported for public destinations and Worker destinations.
↳ behaviorstringThe behavior to apply to matching requests. Values: public.
↳ path_patternstringThe request path pattern to match. Wildcards (*) are supported, but each path segment may have at most one wildcard. Unlike the uri in public destinations, override path patterns do not implicitly cover subpaths; to do that, use a wildcard.
↳ typestringtype Values: public, private, via_mcp_server_portal, worker, preview_worker, all_workers, all_preview_workers.
↳ uristringThe URI of the destination. Public destinations' URIs can include a domain and path with [wildcards](https://developers.cloudflare.com/cloudflare-one/policies/access/app-paths/).
↳ cidrstringThe CIDR range of the destination. Single IPs will be computed as /32.
↳ hostnamestringThe hostname of the destination. Matches a valid SNI served by an HTTPS origin.
↳ l4_protocolstringThe L4 protocol of the destination. When omitted, both UDP and TCP traffic will match. Values: tcp, udp.
↳ port_rangestringThe port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.
↳ vnet_idstringThe VNET ID to match the destination. When omitted, all VNETs will match.
↳ mcp_server_idstringThe MCP server id configured in ai-controls.
↳ worker_idstringThe ID of the Cloudflare Worker whose preview deployments to protect with Access.
domainstringThe primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.
namestringThe name of the application.
oauth_configurationjsonBeta: Optional configuration for managing an OAuth authorization flow controlled by Access.
↳ dynamic_client_registrationjsonSettings for OAuth dynamic client registration.
↳ allow_any_on_localhostbooleanAllows any client with redirect URIs on localhost.
↳ allow_any_on_loopbackbooleanAllows any client with redirect URIs on 127.0.0.1.
↳ allowed_urisarrayThe URIs that are allowed as redirect URIs for dynamically registered clients. HTTP and HTTPS paths may end in /* to match all sub-paths. Custom-scheme URIs must be explicitly configured and match exactly.
↳ enabledbooleanWhether dynamic client registration is enabled.
↳ enabledbooleanWhether the OAuth configuration is enabled for this application. When set to false, Access will not handle OAuth for this application. Defaults to true if omitted. Values: True.
↳ grantjsonSettings for OAuth grant behavior.
↳ access_token_lifetimestringThe lifetime of the access token. Must be in the format 300ms or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
↳ session_durationstringThe duration of the OAuth session. Must be in the format 300ms or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
self_hosted_domainsarrayList of public domains that Access will secure. This field is deprecated in favor of destinations and will be supported until November 21, 2025. If destinations are provided, then self_hosted_domains will be ignored.
typestringThe application type. Values: end_user, self_hosted, saas, ssh, vnc, app_launcher, warp, biso, bookmark, dash_sso, infrastructure, rdp, mcp, mcp_portal, proxy_endpoint.
user_populationsarrayThe single user population associated with this application.
allow_authenticate_via_warpbooleanWhen set to true, users can authenticate to this application using their WARP session. When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
allow_iframebooleanEnables loading application content in an iFrame.
app_launcher_visiblebooleanDisplays the application in the App Launcher.
auto_redirect_to_identitybooleanWhen set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
cors_headersjsoncors headers
↳ allow_all_headersbooleanAllows all HTTP request headers.
↳ allow_all_methodsbooleanAllows all HTTP request methods.
↳ allow_all_originsbooleanAllows all origins.
↳ allow_credentialsbooleanWhen set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.
↳ allowed_headersarrayAllowed HTTP request headers.
↳ allowed_methodsarrayAllowed HTTP request methods.
↳ allowed_originsarrayAllowed origins.
↳ max_agenumberThe maximum number of seconds the results of a preflight request can be cached.
custom_deny_messagestringThe custom error message shown to a user when they are denied access to the application.
custom_deny_urlstringThe custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.
custom_non_identity_deny_urlstringThe custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.
custom_pagesarrayThe custom pages that will be displayed when applicable for this application
eager_redirect_cookie_settingbooleanPreemptively sets the Access session cookie on every hostname in a multi-hostname self-hosted application during the initial redirect chain, rather than setting it lazily on first visit. Defaults to true. Set to false to disable the eager redirect cookie behavior.
enable_binding_cookiebooleanEnables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
http_only_cookie_attributebooleanEnables the HttpOnly cookie attribute, which increases security against XSS attacks.
logo_urlstringThe image URL for the logo shown in the App Launcher dashboard.
mfa_configjsonConfigures multi-factor authentication (MFA) settings.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.
options_preflight_bypassbooleanAllows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.
path_cookie_attributebooleanEnables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
read_service_tokens_from_headerstringAllows matching Access Service Tokens passed HTTP in a single header with this name.
same_site_cookie_attributestringSets the SameSite cookie setting, which provides increased security against CSRF attacks.
scim_configjsonConfiguration for provisioning to this application via SCIM. This is currently in closed beta.
↳ authenticationjsonMultiple authentication schemes
↳ passwordstringPassword used to authenticate with the remote SCIM service.
↳ schemestringThe authentication scheme to use when making SCIM requests to this application. Values: httpbasic, oauthbearertoken, oauth2, access_service_token.
↳ userstringUser name used to authenticate with the remote SCIM service.
↳ tokenstringToken used to authenticate with the remote SCIM service.
↳ authorization_urlstringURL used to generate the auth code used during token generation.
↳ client_idstringClient ID of the Access service token used to authenticate with the remote service.
↳ client_secretstringClient secret of the Access service token used to authenticate with the remote service.
↳ scopesarrayThe authorization scopes to request when generating the token used to authenticate with the remove SCIM service.
↳ token_urlstringURL used to generate the token used to authenticate with the remote SCIM service.
↳ deactivate_on_deletebooleanIf false, propagates DELETE requests to the target application for SCIM resources. If true, sets 'active' to false on the SCIM resource. Note: Some targets do not support DELETE operations.
↳ enabledbooleanWhether SCIM provisioning is turned on for this application.
↳ idp_uidstringThe UID of the IdP to use as the source for SCIM resources to provision to this application.
↳ mappingsarrayA list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.
↳ enabledbooleanWhether or not this mapping is enabled.
↳ filterstringA [SCIM filter expression](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2) that matches resources that should be provisioned to this application.
↳ operationsjsonWhether or not this mapping applies to creates, updates, or deletes.
↳ createbooleanWhether or not this mapping applies to create (POST) operations.
↳ deletebooleanWhether or not this mapping applies to DELETE operations.
↳ updatebooleanWhether or not this mapping applies to update (PATCH/PUT) operations.
↳ schemastringWhich SCIM resource type this mapping applies to.
↳ strictnessstringThe level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target. Values: strict, passthrough.
↳ transform_jsonatastringA [JSONata](https://jsonata.org/) expression that transforms the resource before provisioning it in the application.
↳ remote_uristringThe base URI for the application's SCIM-compatible API.
service_auth_401_redirectbooleanReturns a 401 status code when the request is blocked by a Service Auth policy.
session_durationstringThe amount of time that tokens issued for this application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
skip_interstitialbooleanEnables automatic authentication through cloudflared.
tagsarrayThe tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
use_clientless_isolation_app_launcher_urlbooleanDetermines if users can access this application via a clientless browser isolation URL. This allows users to access private domains without connecting to Gateway. The option requires Clientless Browser Isolation to be set up with policies that allow users of this application.
policiesarraypolicies
↳ approval_groupsarrayAdministrators who can approve a temporary authentication request.
↳ approvals_needednumberThe number of approvals needed to obtain access.
↳ email_addressesarrayA list of emails that can approve the access request.
↳ email_list_uuidstringThe UUID of an re-usable email list.
↳ approval_requiredbooleanRequires the user to request access from an administrator at the start of each session.
↳ connection_rulesjsonThe rules that define how users may connect to targets secured by your application.
↳ rdpjsonThe RDP-specific rules that define clipboard behavior for RDP connections.
↳ allowed_clipboard_local_to_remote_formatsarrayClipboard formats allowed when copying from local machine to remote RDP session.
↳ allowed_clipboard_remote_to_local_formatsarrayClipboard formats allowed when copying from remote RDP session to local machine.
↳ isolation_requiredbooleanRequire this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
↳ mfa_configjsonConfigures multi-factor authentication (MFA) settings.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.
↳ purpose_justification_promptstringA custom message that will appear on the purpose justification screen.
↳ purpose_justification_requiredbooleanRequire users to enter a justification when they log in to the application.
↳ session_durationstringThe amount of time that tokens issued for the application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
↳ created_atstringcreated at
↳ decisionstringThe action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action. Values: allow, deny, non_identity, bypass.
↳ excludearrayRules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ idstringThe UUID of the policy
↳ includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ namestringThe name of the Access policy.
↳ requirearrayRules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ updated_atstringupdated at
↳ account_idstringIdentifier.
↳ precedencenumberThe order of execution for this policy. Must be unique for each policy within an app.
saas_appjsonsaas app
↳ auth_typestringIdentifier of the authentication protocol used for the saas app. Required for OIDC. Values: saml, oidc.
↳ consumer_service_urlstringThe service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
↳ created_atstringcreated at
↳ custom_attributesarraycustom attributes
↳ friendly_namestringThe SAML FriendlyName of the attribute.
↳ namestringThe name of the attribute.
↳ name_formatstringA globally unique name for an identity or service provider. Values: urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified, urn:oasis:names:tc:SAML:2.0:attrname-format:basic, urn:oasis:names:tc:SAML:2.0:attrname-format:uri.
↳ requiredbooleanIf the attribute is required when building a SAML assertion.
↳ sourcejsonsource
↳ namestringThe name of the IdP attribute.
↳ name_by_idparrayA mapping from IdP ID to attribute name.
↳ idp_idstringThe UID of the IdP.
↳ source_namestringThe name of the IdP provided attribute.
↳ default_relay_statestringThe URL that the user will be redirected to after a successful login for IDP initiated logins.
↳ idp_entity_idstringThe unique identifier for your SaaS application.
↳ name_id_formatstringThe format of the name identifier sent to the SaaS application. Values: id, email.
↳ name_id_transform_jsonatastringA [JSONata](https://jsonata.org/) expression that transforms an application's user identities into a NameID value for its SAML assertion. This expression should evaluate to a singular string. The output of this expression can override the name_id_format setting.
↳ public_keystringThe Access public certificate that will be used to verify your identity.
↳ saml_attribute_transform_jsonatastringA [JSONata] (https://jsonata.org/) expression that transforms an application's user identities into attribute assertions in the SAML response.
↳ sp_entity_idstringA globally unique name for an identity or service provider.
↳ sso_endpointstringThe endpoint where your SaaS application will send login requests.
↳ updated_atstringupdated at
↳ access_token_lifetimestringThe lifetime of the OIDC Access Token after creation. Valid units are m,h. Must be greater than or equal to 1m and less than or equal to 24h.
↳ allow_pkce_without_client_secretbooleanIf client secret should be required on the token endpoint when authorization_code_with_pkce grant is used.
↳ app_launcher_urlstringThe URL where this applications tile redirects users
↳ client_idstringThe application client id
↳ client_secretstringThe application client secret, only returned on POST request.
↳ custom_claimsarraycustom claims
↳ namestringThe name of the claim.
↳ requiredbooleanIf the claim is required when building an OIDC token.
↳ scopestringThe scope of the claim. Values: groups, profile, email, openid.
↳ sourcejsonsource
↳ namestringThe name of the IdP claim.
↳ name_by_idpjsonA mapping from IdP ID to claim name.
↳ grant_typesarrayThe OIDC flows supported by this application
↳ group_filter_regexstringA regex to filter Cloudflare groups returned in ID token and userinfo endpoint
↳ hybrid_and_implicit_optionsjsonhybrid and implicit options
↳ return_access_token_from_authorization_endpointbooleanIf an Access Token should be returned from the OIDC Authorization endpoint
↳ return_id_token_from_authorization_endpointbooleanIf an ID Token should be returned from the OIDC Authorization endpoint
↳ redirect_urisarrayThe permitted URL's for Cloudflare to return Authorization codes and Access/ID tokens
↳ refresh_token_optionsjsonrefresh token options
↳ lifetimestringHow long a refresh token will be valid for after creation. Valid units are m,h,d. Must be longer than 1m.
↳ scopesarrayDefine the user information shared with access, "offline_access" scope will be automatically enabled if refresh tokens are enabled
app_launcher_logo_urlstringThe image URL of the logo shown in the App Launcher header.
bg_colorstringThe background color of the App Launcher page.
footer_linksarrayThe links in the App Launcher footer.
↳ namestringThe hypertext in the footer link.
↳ urlstringthe hyperlink in the footer link.
header_bg_colorstringThe background color of the App Launcher header.
landing_page_designjsonThe design of the App Launcher landing page shown to users when they log in.
↳ button_colorstringThe background color of the log in button on the landing page.
↳ button_text_colorstringThe color of the text in the log in button on the landing page.
↳ image_urlstringThe URL of the image shown on the landing page.
↳ messagestringThe message shown on the landing page.
↳ titlestringThe title shown on the landing page.
skip_app_launcher_login_pagebooleanDetermines when to skip the App Launcher landing page.
target_criteriaarraytarget criteria
↳ excludejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ includejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ portnumberThe port that the targets use for the chosen communication protocol. A port cannot be assigned to multiple protocols.
↳ requirejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ target_attributesjsonContains a map of target attribute keys to target attribute values.
↳ protocolstringThe communication protocol your application secures. Values: RDP.

Cloudflare Get Access Group

Fetches a single Access group.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
groupIdstringYesGroup id
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
created_atstringcreated at
excludearrayRules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
idstringUUID.
includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
is_defaultarrayRules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
namestringThe name of the Access group.
requirearrayRules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
updated_atstringupdated at

Cloudflare Get Access Policy

Fetches a single Access policy configured for an application. Returns both exclusively owned and reusable policies used by the application.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
appIdstringYesApp id
policyIdstringYesPolicy id
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
approval_groupsarrayAdministrators who can approve a temporary authentication request.
↳ approvals_needednumberThe number of approvals needed to obtain access.
↳ email_addressesarrayA list of emails that can approve the access request.
↳ email_list_uuidstringThe UUID of an re-usable email list.
approval_requiredbooleanRequires the user to request access from an administrator at the start of each session.
connection_rulesjsonThe rules that define how users may connect to the targets secured by your application.
↳ rdpjsonThe RDP-specific rules that define clipboard behavior for RDP connections.
↳ allowed_clipboard_local_to_remote_formatsarrayClipboard formats allowed when copying from local machine to remote RDP session.
↳ allowed_clipboard_remote_to_local_formatsarrayClipboard formats allowed when copying from remote RDP session to local machine.
↳ sshjsonThe SSH-specific rules that define how users may connect to the targets secured by your application.
↳ allow_email_aliasbooleanEnables using Identity Provider email alias as SSH username.
↳ usernamesarrayContains the Unix usernames that may be used when connecting over SSH.
isolation_requiredbooleanRequire this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
mfa_configjsonConfigures multi-factor authentication (MFA) settings for infrastructure applications.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with. For infrastructure applications, supported values are piv_key and ssh_fido2_key.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples: 5m or 24h.
purpose_justification_promptstringA custom message that will appear on the purpose justification screen.
purpose_justification_requiredbooleanRequire users to enter a justification when they log in to the application.
session_durationstringThe amount of time that tokens issued for the application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
created_atstringcreated at
decisionstringThe action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action. Values: allow, deny, non_identity, bypass.
excludearrayRules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
idstringThe UUID of the policy
includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
namestringThe name of the Access policy.
requirearrayRules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
updated_atstringupdated at
account_idstringIdentifier.
precedencenumberThe order of execution for this policy. Must be unique for each policy within an app.

Cloudflare Get Access Service Token

Fetches a single service token.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
serviceTokenIdstringYesService token id
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
client_idstringThe Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.
created_atstringcreated at
durationstringThe duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
enabledbooleanWhether the service token is enabled.
expires_atstringexpires at
idstringUUID.
last_seen_atstringlast seen at
leak_report_urlstringWhere the leaked client_secret was found, if provided by the reporter. Omitted if the token has not been reported as leaked.
leak_reported_atstringWhen a secret scanning partner reported this service token's client_secret as leaked. A leaked service token is disabled and must be rotated before it can be re-enabled. Cleared once the secret is rotated. Omitted if the token has not been reported as leaked.
leak_reporterstringThe secret scanning partner that reported the leak. Omitted if the token has not been reported as leaked.
namestringThe name of the service token.
updated_atstringupdated at

Cloudflare Get Dns Record

Retrieves details for a specific DNS record in the zone.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesZone id
recordIdstringYesDns record id
apiKeystringYesCloudflare API token
include_shadow_metadatabooleanNoWhether to include shadow metadata in the meta field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).

Output

ParameterTypeDescription
commentstringComments or notes about the DNS record. This field has no effect on DNS responses.
namestringComplete DNS record name, including the zone name, in Punycode.
proxiedbooleanWhether the record is receiving the performance and security benefits of Cloudflare.
settingsjsonSettings for the DNS record.
↳ ipv4_onlybooleanWhen enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
↳ ipv6_onlybooleanWhen enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
↳ flatten_cnamebooleanIf enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened.
tagsarrayCustom tags for the DNS record. This field has no effect on DNS responses.
ttlnumberTime To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. Values: 1.
contentstringFormatted URI content. See 'data' to set URI properties.
private_routingbooleanEnables private network routing to the origin.
typestringRecord type. Values: A, AAAA, CNAME, MX, NS, OPENPGPKEY, PTR, TXT, CAA, CERT, DNSKEY, DS, HTTPS, LOC, NAPTR, SMIMEA, SRV, SSHFP, SVCB, TLSA, URI.
prioritynumberRequired for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map.
datajsonStructured record data. The available fields depend on the DNS record type.
↳ flagsjsonFlags.
↳ tagstringName of the property controlled by this record (e.g.: issue, issuewild, iodef).
↳ valuestringValue.
↳ algorithmnumberAlgorithm.
↳ certificatestringCertificate.
↳ key_tagnumberKey Tag.
↳ typenumberType.
↳ protocolnumberProtocol.
↳ public_keystringPublic Key.
↳ digeststringDigest.
↳ digest_typenumberDigest Type.
↳ prioritynumberPriority.
↳ targetstringThe record content.
↳ altitudenumberAltitude of location in meters.
↳ lat_degreesnumberDegrees of latitude.
↳ lat_directionstringLatitude direction. Values: N, S.
↳ lat_minutesnumberMinutes of latitude.
↳ lat_secondsnumberSeconds of latitude.
↳ long_degreesnumberDegrees of longitude.
↳ long_directionstringLongitude direction. Values: E, W.
↳ long_minutesnumberMinutes of longitude.
↳ long_secondsnumberSeconds of longitude.
↳ precision_horznumberHorizontal precision of location.
↳ precision_vertnumberVertical precision of location.
↳ sizenumberSize of location in meters.
↳ ordernumberOrder.
↳ preferencenumberPreference.
↳ regexstringRegex.
↳ replacementstringReplacement.
↳ servicestringService.
↳ matching_typenumberMatching Type.
↳ selectornumberSelector.
↳ usagenumberUsage.
↳ portnumberThe port of the service.
↳ weightnumberThe record weight.
↳ fingerprintstringFingerprint.
comment_modified_onstringWhen the record comment was last modified. Omitted if there is no comment.
created_onstringWhen the record was created.
idstringIdentifier.
metajsonExtra Cloudflare-specific metadata about the record.
↳ dead_gluebooleanWhether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it.
↳ is_gluebooleanWhether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records).
↳ shadowed_byarrayIDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
↳ shadowed_records_countnumberNumber of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
modified_onstringWhen the record was last modified.
proxiablebooleanWhether the record can be proxied by Cloudflare or not.
tags_modified_onstringWhen the record tags were last modified. Omitted if there are no tags.
zone_idstringLegacy DNS response zone ID when returned by Cloudflare
zone_namestringLegacy DNS response zone name when returned by Cloudflare
lockedbooleanLegacy DNS response lock flag when returned by Cloudflare

Cloudflare Get R2 Bucket

Reads the metadata of a single R2 object storage bucket. Requires an API token with Account Workers R2 Storage Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. R2 buckets are account-scoped
bucketNamestringYesThe name of the bucket to read
jurisdictionstringNoData-residency jurisdiction the bucket lives in: default, eu, or fedramp
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
creation_datestringCreation timestamp.
jurisdictionstringJurisdiction where objects in this bucket are guaranteed to be stored. Values: default, eu, us, fedramp, fedramp-high.
locationstringLocation of the bucket. Values: apac, eeur, enam, weur, wnam, oc.
namestringName of the bucket.
storage_classstringStorage class for newly uploaded objects, unless specified otherwise. Values: Standard, InfrequentAccess.

Cloudflare Get R2 Bucket Cors

Get the CORS policy for a bucket.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
bucketNamestringYesBucket name
apiKeystringYesCloudflare API token
jurisdictionstringNoJurisdiction where objects in this bucket are guaranteed to be stored.

Output

ParameterTypeDescription
rulesarrayrules
↳ allowedjsonObject specifying allowed origins, methods and headers for this CORS rule.
↳ headersarraySpecifies the value for the Access-Control-Allow-Headers header R2 sets when requesting objects in this bucket from a browser. Cross-origin requests that include custom headers (e.g. x-user-id) should specify these headers as AllowedHeaders.
↳ methodsarraySpecifies the value for the Access-Control-Allow-Methods header R2 sets when requesting objects in a bucket from a browser.
↳ originsarraySpecifies the value for the Access-Control-Allow-Origin header R2 sets when requesting objects in a bucket from a browser.
↳ exposeHeadersarraySpecifies the headers that can be exposed back, and accessed by, the JavaScript making the cross-origin request. If you need to access headers beyond the safelisted response headers, such as Content-Encoding or cf-cache-status, you must specify it here.
↳ idstringIdentifier for this rule.
↳ maxAgeSecondsnumberSpecifies the amount of time (in seconds) browsers are allowed to cache CORS preflight responses. Browsers may limit this to 2 hours or less, even if the maximum value (86400) is specified.

Cloudflare Get R2 Bucket Lifecycle

Get object lifecycle rules for a bucket.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
bucketNamestringYesBucket name
apiKeystringYesCloudflare API token
jurisdictionstringNoJurisdiction where objects in this bucket are guaranteed to be stored.

Output

ParameterTypeDescription
rulesarrayrules
↳ abortMultipartUploadsTransitionjsonTransition to abort ongoing multipart uploads.
↳ conditionjsonCondition for lifecycle transitions to apply after an object reaches an age in seconds.
↳ maxAgenumbermaxAge
↳ typestringtype Values: Age.
↳ conditionsjsonConditions that apply to all transitions of this rule.
↳ prefixstringTransitions will only apply to objects/uploads in the bucket that start with the given prefix, an empty prefix can be provided to scope rule to all objects/uploads.
↳ deleteObjectsTransitionjsonTransition to delete objects.
↳ conditionjsonCondition for lifecycle transitions to apply on a specific date.
↳ maxAgenumbermaxAge
↳ typestringtype Values: Age, Date.
↳ datestringdate
↳ enabledbooleanWhether or not this rule is in effect.
↳ idstringUnique identifier for this rule.
↳ storageClassTransitionsarrayTransitions to change the storage class of objects.
↳ conditionjsonCondition for lifecycle transitions to apply on a specific date.
↳ maxAgenumbermaxAge
↳ typestringtype Values: Age, Date.
↳ datestringdate
↳ storageClassstringstorageClass Values: InfrequentAccess.

Cloudflare Get Ruleset

Reads a single zone ruleset including every rule it contains, in evaluation order. Requires an API token with Zone WAF Read (or another matching ruleset Read permission).

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID that owns the ruleset
rulesetIdstringYesThe ruleset ID to read
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Get Phase Entry Point Ruleset

Reads the entry point ruleset for a phase on a zone, including all of its rules. This is how you find the ruleset ID you need before adding, updating, or deleting a rule — for example http_request_firewall_custom for WAF custom rules, http_request_firewall_managed for managed-ruleset deployments and overrides, or http_ratelimit for rate limiting rules. Requires an API token with Zone WAF Read (or another matching ruleset Read permission).

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to read the phase entry point for
phasestringYesThe ruleset phase, e.g. http_request_firewall_custom, http_request_firewall_managed, http_ratelimit, http_request_transform, http_request_dynamic_redirect
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Get Tunnel

Reads a single Cloudflare Tunnel (cloudflared), including its health status and active connector connections. Requires an API token with Account Cloudflare Tunnel Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Tunnels are account-scoped
tunnelIdstringYesThe tunnel ID to read
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
account_tagstringCloudflare account ID
config_srcstringIndicates if this is a locally or remotely configured tunnel. If local, manage the tunnel using a YAML file on the origin machine. If cloudflare, manage the tunnel on the Zero Trust dashboard. Values: local, cloudflare.
connectionsarrayThe Cloudflare Tunnel connections between your origin and Cloudflare's edge.
↳ client_idstringUUID of the Cloudflare Tunnel connector.
↳ client_versionstringThe cloudflared version used to establish this connection.
↳ colo_namestringThe Cloudflare data center used for this connection.
↳ idstringUUID of the Cloudflare Tunnel connection.
↳ is_pending_reconnectbooleanCloudflare continues to track connections for several minutes after they disconnect. This is an optimization to improve latency and reliability of reconnecting. If true, the connection has disconnected but is still being tracked. If false, the connection is actively serving traffic.
↳ opened_atstringTimestamp of when the connection was established.
↳ origin_ipstringThe public IP address of the host running cloudflared.
↳ uuidstringUUID of the Cloudflare Tunnel connection.
conns_active_atstringTimestamp of when the tunnel established at least one connection to Cloudflare's edge. If null, the tunnel is inactive.
conns_inactive_atstringTimestamp of when the tunnel became inactive (no connections to Cloudflare's edge). If null, the tunnel is active.
created_atstringTimestamp of when the resource was created.
deleted_atstringTimestamp of when the resource was deleted. If null, the resource has not been deleted.
idstringUUID of the tunnel.
metadatajsonMetadata associated with the tunnel.
namestringA user-friendly name for a tunnel.
remote_configbooleanIf true, the tunnel can be configured remotely from the Zero Trust dashboard. If false, the tunnel must be configured locally on the origin machine.
statusstringThe status of the tunnel.
tun_typestringThe type of tunnel. Values: cfd_tunnel, warp_connector, warp, magic, ip_sec, gre, cni.

Cloudflare Get Tunnel Configuration

Reads the configuration of a remotely-managed Cloudflare Tunnel — its ingress rules, origin request settings, and WARP routing. Only tunnels whose configuration source is "cloudflare" have a remote configuration; locally-managed tunnels keep it in their own config file. Requires an API token with Account Cloudflare Tunnel Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Tunnels are account-scoped
tunnelIdstringYesThe tunnel ID to read the configuration for
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
account_idstringIdentifier.
configjsonThe tunnel configuration and ingress rules.
↳ ingressarrayList of public hostname definitions. At least one ingress rule needs to be defined for the tunnel.
↳ hostnamestringPublic hostname for this service.
↳ originRequestjsonConfiguration parameters for the public hostname specific connection settings between cloudflared and origin server.
↳ accessjsonFor all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.
↳ audTagarrayAccess applications that are allowed to reach this hostname for this Tunnel. Audience tags can be identified in the dashboard or via the List Access policies API.
↳ requiredbooleanDeny traffic that has not fulfilled Access authorization.
↳ teamNamestringteamName
↳ caPoolstringPath to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.
↳ connectTimeoutnumberTimeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.
↳ disableChunkedEncodingbooleanDisables chunked transfer encoding. Useful if you are running a WSGI server.
↳ http2OriginbooleanAttempt to connect to origin using HTTP2. Origin must be configured as https.
↳ httpHostHeaderstringSets the HTTP Host header on requests sent to the local service.
↳ keepAliveConnectionsnumberMaximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.
↳ keepAliveTimeoutnumberTimeout after which an idle keepalive connection can be discarded.
↳ matchSNItoHostbooleanAuto configure the Hostname on the origin server certificate.
↳ noHappyEyeballsbooleanDisable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.
↳ noTLSVerifybooleanDisables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.
↳ originServerNamestringHostname that cloudflared should expect from your origin server certificate.
↳ proxyTypestringcloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5 proxy.
↳ tcpKeepAlivenumberThe timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.
↳ tlsTimeoutnumberTimeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.
↳ pathstringRequests with this path route to this public hostname.
↳ servicestringProtocol and address of destination server. Supported protocols: http://, https://, unix://, tcp://, ssh://, rdp://, unix+tls://, smb://. Alternatively can return a HTTP status code http_status:[code] e.g. 'http_status:404'.
↳ originRequestjsonConfiguration parameters for the public hostname specific connection settings between cloudflared and origin server.
↳ accessjsonFor all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.
↳ audTagarrayAccess applications that are allowed to reach this hostname for this Tunnel. Audience tags can be identified in the dashboard or via the List Access policies API.
↳ requiredbooleanDeny traffic that has not fulfilled Access authorization.
↳ teamNamestringteamName
↳ caPoolstringPath to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.
↳ connectTimeoutnumberTimeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.
↳ disableChunkedEncodingbooleanDisables chunked transfer encoding. Useful if you are running a WSGI server.
↳ http2OriginbooleanAttempt to connect to origin using HTTP2. Origin must be configured as https.
↳ httpHostHeaderstringSets the HTTP Host header on requests sent to the local service.
↳ keepAliveConnectionsnumberMaximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.
↳ keepAliveTimeoutnumberTimeout after which an idle keepalive connection can be discarded.
↳ matchSNItoHostbooleanAuto configure the Hostname on the origin server certificate.
↳ noHappyEyeballsbooleanDisable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.
↳ noTLSVerifybooleanDisables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.
↳ originServerNamestringHostname that cloudflared should expect from your origin server certificate.
↳ proxyTypestringcloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5 proxy.
↳ tcpKeepAlivenumberThe timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.
↳ tlsTimeoutnumberTimeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.
↳ warp-routingjsonEnable private network access from WARP users to private network routes. This is enabled if the tunnel has an assigned route.
↳ enabledbooleanenabled
created_atstringcreated at
sourcestringIndicates if this is a locally or remotely configured tunnel. If local, manage the tunnel using a YAML file on the origin machine. If cloudflare, manage the tunnel's configuration on the Zero Trust dashboard. Values: local, cloudflare.
tunnel_idstringUUID of the tunnel.
versionnumberThe version of the Tunnel Configuration.

Cloudflare Get Tunnel Token

Gets the connector token used to run a remotely managed Cloudflare Tunnel with cloudflared.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesCloudflare account ID
tunnelIdstringYesCloudflare Tunnel ID
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
tokenstringToken for connecting cloudflared to the tunnel

Cloudflare Get Worker Route

Returns information about a Worker route, including URL pattern and Worker.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesZone id
routeIdstringYesRoute id
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
idstringIdentifier.
patternstringPattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).
scriptstringName of the script to run if the route matches.

Cloudflare Get Worker Script Settings

Reads the deployment settings of a single Workers script — bindings, compatibility date and flags, limits, observability, placement, and tail consumers. The plain "get script" endpoint in the Cloudflare API returns raw JavaScript source rather than JSON, so this settings endpoint is the structured way to inspect one script. Requires an API token with Account Workers Scripts Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Workers scripts are account-scoped
scriptNamestringYesThe name of the Workers script to read settings for
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
annotationsjsonAnnotations for the Worker version. Annotations are not inherited across settings updates; omitting this field means the new version will have no annotations.
↳ workers/messagestringHuman-readable message about the version. Truncated to 1000 bytes if longer.
↳ workers/tagstringUser-provided identifier for the version. Maximum 100 bytes.
↳ workers/triggered_bystringOperation that triggered the creation of the version. This is read-only and set by the server.
bindingsarrayList of bindings attached to a Worker. You can find more about bindings on our docs: https://developers.cloudflare.com/workers/configuration/multipart-upload-metadata/#bindings.
↳ namestringA JavaScript variable name for the binding.
↳ typestringThe kind of resource that the binding provides.
↳ instance_namestringThe user-chosen instance name. Must exist at deploy time. The worker can search, chat, update, and manage items/jobs on this instance.
↳ namespacestringThe name of the dispatch namespace.
↳ datasetstringThe name of the dataset to bind to.
↳ database_idstringIdentifier of the D1 database to bind to.
↳ idstringIdentifier of the Hyperdrive connection to bind to.
↳ partstringThe name of the file containing the WebAssembly module content. Only accepted for service worker syntax Workers.
↳ outboundjsonOutbound worker.
↳ paramsarrayPass information from the Dispatch Worker to the Outbound Worker through the parameters.
↳ namestringName of the parameter.
↳ workerjsonOutbound worker.
↳ entrypointstringEntrypoint to invoke on the outbound worker.
↳ environmentstringEnvironment of the outbound worker.
↳ servicestringName of the outbound worker.
↳ class_namestringClass name of the Workflow. Should only be provided if the Workflow belongs to this script.
↳ dispatch_namespacestringThe dispatch namespace the Durable Object script belongs to.
↳ environmentstringOptional environment if the Worker utilizes one.
↳ namespace_idstringIdentifier of the rate limit namespace to bind to.
↳ script_namestringScript name that contains the Workflow. If not provided, defaults to this script name.
↳ old_namestringThe old name of the inherited binding. If set, the binding will be renamed from old_name to name in the new version. If not set, the binding will keep the same name between versions.
↳ version_idstringIdentifier for the version to inherit the binding from.
↳ jsonjsonJSON data to use.
↳ certificate_idstringIdentifier of the certificate to bind to.
↳ textstringThe secret value to use.
↳ pipelinestringName of the Pipeline to bind to.
↳ streamstringID of a K2 stream owned by the account deploying the Worker.
↳ queue_namestringName of the Queue to bind to.
↳ simplejsonThe rate limit configuration.
↳ limitnumberThe limit (requests per period).
↳ mitigation_timeoutnumberDuration in seconds to apply the mitigation action after the rate limit is exceeded. Valid values are 0 (disabled), 10, or multiples of 60 up to 86400. Must be greater than or equal to the period when non-zero.
↳ periodnumberThe period in seconds.
↳ bucket_namestringR2 bucket to bind to.
↳ jurisdictionstringThe [jurisdiction](https://developers.cloudflare.com/r2/reference/data-location/#jurisdictional-restrictions) of the R2 bucket. Values: eu, fedramp, fedramp-high, us.
↳ allowed_destination_addressesarrayList of allowed destination addresses.
↳ allowed_sender_addressesarrayList of allowed sender addresses.
↳ destination_addressstringDestination address for the email.
↳ entrypointstringEntrypoint to invoke on the target Worker.
↳ servicestringName of Worker to bind to.
↳ index_namestringName of the Vectorize index to bind to.
↳ secret_namestringName of the secret in the store.
↳ store_idstringID of the store containing the secret.
↳ app_idstringID of the Flagship app to bind to for feature flag evaluation.
↳ algorithmjsonAlgorithm-specific key parameters. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#algorithm).
↳ formatstringData format of the key. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#format). Values: raw, pkcs8, spki, jwk.
↳ key_base64stringBase64-encoded key data. Required if format is "raw", "pkcs8", or "spki".
↳ key_jwkjsonKey data in [JSON Web Key](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#json_web_key) format. Required if format is "jwk".
↳ usagesarrayAllowed operations with the key. [Learn more](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey#keyUsages).
↳ workflow_namestringName of the Workflow to bind to.
↳ service_idstringIdentifier of the VPC service to bind to.
↳ identitystringEnables Gateway identity for the binding. Requires network_id to be "cf1:network" and cannot be combined with tunnel_id. Values: runtime-email-alpha.
↳ network_idstringIdentifier of the network to bind to. Only "cf1:network" is currently supported. Mutually exclusive with tunnel_id.
↳ tunnel_idstringUUID of the Cloudflare Tunnel to bind to. Mutually exclusive with network_id.
cache_optionsjsonGlobal CacheW configuration for the Worker. When caching is on, the platform provisions a cloudflare.app zone for the Worker. A type: worker entry in the exports map can override this value for a single entrypoint.
↳ cross_version_cachebooleanWhether cached responses are shared across Worker version uploads. This is independent of enabled. It can stay true while caching is off, so the preference survives turning caching off and back on.
↳ enabledbooleanWhether caching is enabled for this Worker.
compatibility_datestringDate indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.
compatibility_flagsarrayFlags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a compatibility_date.
exportsjsonDeclarative exports for the Worker, keyed by export name. Worker entrypoint entries (type: worker) carry cache configuration for that entrypoint. Durable Object entries (type: durable-object) are also configured here and drive namespace reconciliation. At most 100 entries; class names are at most 128 characters.
exports_reconciliationjsonSummary of what the declarative exports reconciliation did on this upload.
↳ createdarrayClass names for which a new namespace was provisioned.
↳ deletedarrayClass names whose namespace was deleted by a deleted tombstone.
↳ infoarrayNon-blocking info entries (stale tombstones, tombstone applied with class still in code). See exports_reconciliation_info.
↳ classstringThe class name the info entry is about.
↳ messagestringHuman-readable explanation.
↳ namespace_idstringThe provisioned namespace the entry relates to, when applicable.
↳ referencing_scriptsarrayOther Workers in the account that still bind to the affected class. Advisory: while non-empty the tombstone is not yet safe to remove — redeploy these Workers with bindings re-pointed first.
↳ scenariostringStable, machine-readable tag identifying which reconciliation scenario produced an error, warning, or info entry.
↳ removable_entriesarraySource class names whose tombstone entry is now stale and safe to delete from exports (no remaining referencing scripts).
↳ renamedarrayApplied renamed tombstones.
↳ fromstringThe original (source) class name.
↳ tostringThe new class name (renamed_to).
↳ transfer_pendingarrayPhase-1 transfer hints recorded on the target side.
↳ classstringThe target-side class name awaiting transfer.
↳ fromstringThe source script the namespace will be transferred from.
↳ transferredarrayCommitted transferred tombstones (phase-2).
↳ classstringThe source class name that was transferred.
↳ phasestringThe transfer phase. Currently always committed. Values: committed.
↳ tostringThe destination script that now owns the namespace.
↳ updatedarrayClass names whose provisioned namespace was mutated in place.
↳ warningsarrayNon-blocking warnings. See exports_reconciliation_warning.
↳ classstringThe class name the warning is about.
↳ messagestringHuman-readable explanation of the warning.
↳ namespace_idstringThe provisioned namespace the warning relates to, when applicable.
↳ scenariostringStable, machine-readable tag identifying which reconciliation scenario produced an error, warning, or info entry.
limitsjsonLimits to apply for this Worker.
↳ cpu_msnumberThe amount of CPU time this Worker can use in milliseconds.
↳ subrequestsnumberThe number of subrequests this Worker can make per request.
logpushbooleanWhether Logpush is turned on for the Worker.
migrationsjsonA single set of migrations to apply.
↳ new_tagstringTag to set as the latest migration tag.
↳ old_tagstringTag used to verify against the latest migration tag for this Worker. If they don't match, the upload is rejected.
↳ deleted_classesarrayA list of classes to delete Durable Object namespaces from.
↳ new_classesarrayA list of classes to create Durable Object namespaces from.
↳ new_sqlite_classesarrayA list of classes to create Durable Object namespaces with SQLite from.
↳ renamed_classesarrayA list of classes with Durable Object namespaces that were renamed.
↳ fromstringfrom
↳ tostringto
↳ transferred_classesarrayA list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.
↳ fromstringfrom
↳ from_scriptstringfrom script
↳ tostringto
↳ stepsarrayMigrations to apply in order.
↳ deleted_classesarrayA list of classes to delete Durable Object namespaces from.
↳ new_classesarrayA list of classes to create Durable Object namespaces from.
↳ new_sqlite_classesarrayA list of classes to create Durable Object namespaces with SQLite from.
↳ renamed_classesarrayA list of classes with Durable Object namespaces that were renamed.
↳ fromstringfrom
↳ tostringto
↳ transferred_classesarrayA list of transfers for Durable Object namespaces from a different Worker and class to a class defined in this Worker.
↳ fromstringfrom
↳ from_scriptstringfrom script
↳ tostringto
observabilityjsonObservability settings for the Worker.
↳ enabledbooleanWhether observability is enabled for the Worker.
↳ head_sampling_ratenumberThe sampling rate for incoming requests. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.
↳ issuesjsonReal-time Issues settings for the Worker.
↳ enabledbooleanWhether real-time Issues are enabled for the Worker.
↳ logsjsonLog settings for the Worker.
↳ destinationsarrayA list of destinations where logs will be exported to.
↳ enabledbooleanWhether logs are enabled for the Worker.
↳ head_sampling_ratenumberThe sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.
↳ invocation_logsbooleanWhether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.
↳ persistbooleanWhether log persistence is enabled for the Worker.
↳ redact_query_stringbooleanWhether query strings are removed from request URLs in logs and traces.
↳ tracesjsonTrace settings for the Worker.
↳ destinationsarrayA list of destinations where traces will be exported to.
↳ enabledbooleanWhether traces are enabled for the Worker.
↳ head_sampling_ratenumberThe sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.
↳ persistbooleanWhether trace persistence is enabled for the Worker.
↳ propagation_policystringControls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled.
placementjsonConfiguration for [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement). Specify mode='smart' for Smart Placement, or one of region/hostname/host.
↳ modestringTargeted placement mode. Values: smart, targeted.
↳ regionstringCloud region for targeted placement in format 'provider:region'.
↳ hostnamestringHTTP hostname for targeted placement.
↳ hoststringTCP host and port for targeted placement.
↳ targetarrayArray of placement targets (currently limited to single target).
↳ regionstringCloud region in format 'provider:region'.
↳ hostnamestringHTTP hostname for targeted placement.
↳ hoststringTCP host:port for targeted placement.
tagsarrayTags associated with the Worker.
tail_consumersarrayList of Workers that will consume logs from the attached Worker.
↳ environmentstringOptional environment if the Worker utilizes one.
↳ namespacestringOptional dispatch namespace the script belongs to.
↳ servicestringName of Worker that is to be the consumer.
usage_modelstringUsage model for the Worker invocations. Values: standard, bundled, unbound.

Cloudflare Get Zone

Gets details for a specific zone (domain) by its ID.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to retrieve details for
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
accountjsonThe account the zone belongs to.
↳ idstringIdentifier
↳ namestringThe name of the account.
activated_onstringThe last time proof of ownership was detected and the zone was made active.
cname_suffixstringAllows the customer to use a custom apex. Tenants Only Configuration.
created_onstringWhen the zone was created.
development_modenumberThe interval (in seconds) from when development mode expires (positive integer) or last expired (negative integer) for the domain. If development mode has never been enabled, this value is 0.
idstringIdentifier
metajsonMetadata about the zone.
↳ cdn_onlybooleanThe zone is only configured for CDN.
↳ custom_certificate_quotanumberNumber of Custom Certificates the zone can have.
↳ dns_onlybooleanThe zone is only configured for DNS.
↳ foundation_dnsbooleanThe zone is setup with Foundation DNS.
↳ page_rule_quotanumberNumber of Page Rules a zone can have.
↳ phishing_detectedbooleanThe zone has been flagged for phishing.
↳ stepnumberstep
modified_onstringWhen the zone was last modified.
namestringThe domain name. Per [RFC 1035](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4) the overall zone name can be up to 253 characters, with each segment ("label") not exceeding 63 characters.
name_serversarrayThe name servers Cloudflare assigns to a zone.
original_dnshoststringDNS host at the time of switching to Cloudflare.
original_name_serversarrayOriginal name servers before moving to Cloudflare.
original_registrarstringRegistrar for the domain at the time of switching to Cloudflare.
ownerjsonThe owner of the zone.
↳ idstringIdentifier
↳ namestringName of the owner.
↳ typestringThe type of owner.
pausedbooleanIndicates whether the zone is only using Cloudflare DNS services. A true value means the zone will not receive security or performance benefits.
permissionsarrayLegacy permissions based on legacy user membership information.
planjsonA Zones subscription information.
↳ can_subscribebooleanStates if the subscription can be activated.
↳ currencystringThe denomination of the customer.
↳ externally_managedbooleanIf this Zone is managed by another company.
↳ frequencystringHow often the customer is billed.
↳ idstringIdentifier
↳ is_subscribedbooleanStates if the subscription active.
↳ legacy_discountbooleanIf the legacy discount applies to this Zone.
↳ legacy_idstringThe legacy name of the plan.
↳ namestringName of the owner.
↳ pricenumberHow much the customer is paying.
statusstringThe zone status on Cloudflare. Values: initializing, pending, active, moved.
tenantjsonThe root organizational unit that this zone belongs to (such as a tenant or organization).
↳ idstringIdentifier
↳ namestringThe name of the Tenant account.
tenant_unitjsonThe immediate parent organizational unit that this zone belongs to (such as under a tenant or sub-organization).
↳ idstringIdentifier
typestringA full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. Values: full, partial, secondary, internal.
vanity_name_serversarrayAn array of domains used for custom name servers. This is only available for Business and Enterprise plans.
verification_keystringVerification key for partial zone setup.

Cloudflare Get Zone Settings

Reads zone settings such as SSL mode, minimum TLS version, security level, and caching level. Cloudflare retired the endpoint that read every setting in one request, so each setting is read individually — name the ones you need to keep the read small. Defaults to ssl, always_use_https, min_tls_version, tls_1_3, security_level, cache_level, browser_cache_ttl, development_mode, rocket_loader, email_obfuscation, hotlink_protection, ip_geolocation, http2, http3, websockets.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to get settings for
settingIdsstringNoComma-separated setting IDs to read, e.g. "ssl,min_tls_version,security_level". Leave blank to read the default set (ssl, always_use_https, min_tls_version, tls_1_3, security_level, cache_level, browser_cache_ttl, development_mode, rocket_loader, email_obfuscation, hotlink_protection, ip_geolocation, http2, http3, websockets). At most 40 settings per call.
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
settingsarrayThe zone settings that were readable
↳ idstringSetting identifier (e.g., ssl, cache_level, security_level, always_use_https)
↳ valuestringSetting value as a string. Simple values returned as-is (e.g., "full", "on"). SSL Recommender returns its enabled flag. Complex values are JSON-stringified (e.g., {"css":"on","html":"on","js":"on"}).
↳ editablebooleanWhether the setting can be modified for the current zone plan
↳ modified_onstringISO 8601 timestamp when the setting was last modified
↳ time_remainingnumberDevelopment mode countdown, in seconds. Cloudflare documents this only on the zones_development_mode setting, where it is the interval from when development mode expires (positive) or last expired (negative)
unreadablearrayRequested settings Cloudflare refused, typically because the zone plan does not expose them or the setting ID does not exist
↳ idstringThe requested setting identifier
↳ errorstringWhy Cloudflare would not return the setting

Cloudflare List Access Applications

Lists the Cloudflare Access (Zero Trust) applications protecting an account. Requires an API token with Account Access: Apps and Policies Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
target_attributesstringNoTarget Criteria attributes in key=value format.
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
namestringNoFilter by application name
domainstringNoFilter by the primary hostname the application secures
audstringNoFilter by application audience (AUD) tag
searchstringNoFree-text search across applications
exactbooleanNoWhether the name and domain filters must match exactly
pagenumberNoPage number for pagination
per_pagenumberNoNumber of applications per page
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
applicationsarrayApplications
↳ audstringAudience tag.
↳ created_atstringcreated at
↳ idstringUUID.
↳ updated_atstringupdated at
↳ allowed_idpsarrayThe identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.
↳ destinationsarrayList of destinations secured by Access. This supersedes self_hosted_domains to allow for more flexibility in defining different types of domains. If destinations are provided, then self_hosted_domains will be ignored.
↳ overridesarrayRules that override how Access handles requests to this destination. Each rule can make a matching path public, bypassing Access authentication. Overrides are supported for public destinations and Worker destinations.
↳ behaviorstringThe behavior to apply to matching requests. Values: public.
↳ path_patternstringThe request path pattern to match. Wildcards (*) are supported, but each path segment may have at most one wildcard. Unlike the uri in public destinations, override path patterns do not implicitly cover subpaths; to do that, use a wildcard.
↳ typestringtype Values: public, private, via_mcp_server_portal, worker, preview_worker, all_workers, all_preview_workers.
↳ uristringThe URI of the destination. Public destinations' URIs can include a domain and path with [wildcards](https://developers.cloudflare.com/cloudflare-one/policies/access/app-paths/).
↳ cidrstringThe CIDR range of the destination. Single IPs will be computed as /32.
↳ hostnamestringThe hostname of the destination. Matches a valid SNI served by an HTTPS origin.
↳ l4_protocolstringThe L4 protocol of the destination. When omitted, both UDP and TCP traffic will match. Values: tcp, udp.
↳ port_rangestringThe port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.
↳ vnet_idstringThe VNET ID to match the destination. When omitted, all VNETs will match.
↳ mcp_server_idstringThe MCP server id configured in ai-controls.
↳ worker_idstringThe ID of the Cloudflare Worker whose preview deployments to protect with Access.
↳ domainstringThe primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.
↳ namestringThe name of the application.
↳ oauth_configurationjsonBeta: Optional configuration for managing an OAuth authorization flow controlled by Access.
↳ dynamic_client_registrationjsonSettings for OAuth dynamic client registration.
↳ allow_any_on_localhostbooleanAllows any client with redirect URIs on localhost.
↳ allow_any_on_loopbackbooleanAllows any client with redirect URIs on 127.0.0.1.
↳ allowed_urisarrayThe URIs that are allowed as redirect URIs for dynamically registered clients. HTTP and HTTPS paths may end in /* to match all sub-paths. Custom-scheme URIs must be explicitly configured and match exactly.
↳ enabledbooleanWhether dynamic client registration is enabled.
↳ enabledbooleanWhether the OAuth configuration is enabled for this application. When set to false, Access will not handle OAuth for this application. Defaults to true if omitted. Values: True.
↳ grantjsonSettings for OAuth grant behavior.
↳ access_token_lifetimestringThe lifetime of the access token. Must be in the format 300ms or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
↳ session_durationstringThe duration of the OAuth session. Must be in the format 300ms or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
↳ self_hosted_domainsarrayList of public domains that Access will secure. This field is deprecated in favor of destinations and will be supported until November 21, 2025. If destinations are provided, then self_hosted_domains will be ignored.
↳ typestringThe application type. Values: end_user, self_hosted, saas, ssh, vnc, app_launcher, warp, biso, bookmark, dash_sso, infrastructure, rdp, mcp, mcp_portal, proxy_endpoint.
↳ user_populationsarrayThe single user population associated with this application.
↳ allow_authenticate_via_warpbooleanWhen set to true, users can authenticate to this application using their WARP session. When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
↳ allow_iframebooleanEnables loading application content in an iFrame.
↳ app_launcher_visiblebooleanDisplays the application in the App Launcher.
↳ auto_redirect_to_identitybooleanWhen set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
↳ cors_headersjsoncors headers
↳ allow_all_headersbooleanAllows all HTTP request headers.
↳ allow_all_methodsbooleanAllows all HTTP request methods.
↳ allow_all_originsbooleanAllows all origins.
↳ allow_credentialsbooleanWhen set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.
↳ allowed_headersarrayAllowed HTTP request headers.
↳ allowed_methodsarrayAllowed HTTP request methods.
↳ allowed_originsarrayAllowed origins.
↳ max_agenumberThe maximum number of seconds the results of a preflight request can be cached.
↳ custom_deny_messagestringThe custom error message shown to a user when they are denied access to the application.
↳ custom_deny_urlstringThe custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.
↳ custom_non_identity_deny_urlstringThe custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.
↳ custom_pagesarrayThe custom pages that will be displayed when applicable for this application
↳ eager_redirect_cookie_settingbooleanPreemptively sets the Access session cookie on every hostname in a multi-hostname self-hosted application during the initial redirect chain, rather than setting it lazily on first visit. Defaults to true. Set to false to disable the eager redirect cookie behavior.
↳ enable_binding_cookiebooleanEnables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
↳ http_only_cookie_attributebooleanEnables the HttpOnly cookie attribute, which increases security against XSS attacks.
↳ logo_urlstringThe image URL for the logo shown in the App Launcher dashboard.
↳ mfa_configjsonConfigures multi-factor authentication (MFA) settings.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.
↳ options_preflight_bypassbooleanAllows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.
↳ path_cookie_attributebooleanEnables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
↳ read_service_tokens_from_headerstringAllows matching Access Service Tokens passed HTTP in a single header with this name.
↳ same_site_cookie_attributestringSets the SameSite cookie setting, which provides increased security against CSRF attacks.
↳ scim_configjsonConfiguration for provisioning to this application via SCIM. This is currently in closed beta.
↳ authenticationjsonMultiple authentication schemes
↳ passwordstringPassword used to authenticate with the remote SCIM service.
↳ schemestringThe authentication scheme to use when making SCIM requests to this application. Values: httpbasic, oauthbearertoken, oauth2, access_service_token.
↳ userstringUser name used to authenticate with the remote SCIM service.
↳ tokenstringToken used to authenticate with the remote SCIM service.
↳ authorization_urlstringURL used to generate the auth code used during token generation.
↳ client_idstringClient ID of the Access service token used to authenticate with the remote service.
↳ client_secretstringClient secret of the Access service token used to authenticate with the remote service.
↳ scopesarrayThe authorization scopes to request when generating the token used to authenticate with the remove SCIM service.
↳ token_urlstringURL used to generate the token used to authenticate with the remote SCIM service.
↳ deactivate_on_deletebooleanIf false, propagates DELETE requests to the target application for SCIM resources. If true, sets 'active' to false on the SCIM resource. Note: Some targets do not support DELETE operations.
↳ enabledbooleanWhether SCIM provisioning is turned on for this application.
↳ idp_uidstringThe UID of the IdP to use as the source for SCIM resources to provision to this application.
↳ mappingsarrayA list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.
↳ enabledbooleanWhether or not this mapping is enabled.
↳ filterstringA [SCIM filter expression](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2) that matches resources that should be provisioned to this application.
↳ operationsjsonWhether or not this mapping applies to creates, updates, or deletes.
↳ createbooleanWhether or not this mapping applies to create (POST) operations.
↳ deletebooleanWhether or not this mapping applies to DELETE operations.
↳ updatebooleanWhether or not this mapping applies to update (PATCH/PUT) operations.
↳ schemastringWhich SCIM resource type this mapping applies to.
↳ strictnessstringThe level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target. Values: strict, passthrough.
↳ transform_jsonatastringA [JSONata](https://jsonata.org/) expression that transforms the resource before provisioning it in the application.
↳ remote_uristringThe base URI for the application's SCIM-compatible API.
↳ service_auth_401_redirectbooleanReturns a 401 status code when the request is blocked by a Service Auth policy.
↳ session_durationstringThe amount of time that tokens issued for this application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
↳ skip_interstitialbooleanEnables automatic authentication through cloudflared.
↳ tagsarrayThe tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
↳ use_clientless_isolation_app_launcher_urlbooleanDetermines if users can access this application via a clientless browser isolation URL. This allows users to access private domains without connecting to Gateway. The option requires Clientless Browser Isolation to be set up with policies that allow users of this application.
↳ policiesarraypolicies
↳ approval_groupsarrayAdministrators who can approve a temporary authentication request.
↳ approvals_needednumberThe number of approvals needed to obtain access.
↳ email_addressesarrayA list of emails that can approve the access request.
↳ email_list_uuidstringThe UUID of an re-usable email list.
↳ approval_requiredbooleanRequires the user to request access from an administrator at the start of each session.
↳ connection_rulesjsonThe rules that define how users may connect to targets secured by your application.
↳ rdpjsonThe RDP-specific rules that define clipboard behavior for RDP connections.
↳ allowed_clipboard_local_to_remote_formatsarrayClipboard formats allowed when copying from local machine to remote RDP session.
↳ allowed_clipboard_remote_to_local_formatsarrayClipboard formats allowed when copying from remote RDP session to local machine.
↳ isolation_requiredbooleanRequire this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
↳ mfa_configjsonConfigures multi-factor authentication (MFA) settings.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.
↳ purpose_justification_promptstringA custom message that will appear on the purpose justification screen.
↳ purpose_justification_requiredbooleanRequire users to enter a justification when they log in to the application.
↳ session_durationstringThe amount of time that tokens issued for the application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
↳ created_atstringcreated at
↳ decisionstringThe action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action. Values: allow, deny, non_identity, bypass.
↳ excludearrayRules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ idstringThe UUID of the policy
↳ includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ namestringThe name of the Access policy.
↳ requirearrayRules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ updated_atstringupdated at
↳ account_idstringIdentifier.
↳ precedencenumberThe order of execution for this policy. Must be unique for each policy within an app.
↳ saas_appjsonsaas app
↳ auth_typestringIdentifier of the authentication protocol used for the saas app. Required for OIDC. Values: saml, oidc.
↳ consumer_service_urlstringThe service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
↳ created_atstringcreated at
↳ custom_attributesarraycustom attributes
↳ friendly_namestringThe SAML FriendlyName of the attribute.
↳ namestringThe name of the attribute.
↳ name_formatstringA globally unique name for an identity or service provider. Values: urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified, urn:oasis:names:tc:SAML:2.0:attrname-format:basic, urn:oasis:names:tc:SAML:2.0:attrname-format:uri.
↳ requiredbooleanIf the attribute is required when building a SAML assertion.
↳ sourcejsonsource
↳ namestringThe name of the IdP attribute.
↳ name_by_idparrayA mapping from IdP ID to attribute name.
↳ idp_idstringThe UID of the IdP.
↳ source_namestringThe name of the IdP provided attribute.
↳ default_relay_statestringThe URL that the user will be redirected to after a successful login for IDP initiated logins.
↳ idp_entity_idstringThe unique identifier for your SaaS application.
↳ name_id_formatstringThe format of the name identifier sent to the SaaS application. Values: id, email.
↳ name_id_transform_jsonatastringA [JSONata](https://jsonata.org/) expression that transforms an application's user identities into a NameID value for its SAML assertion. This expression should evaluate to a singular string. The output of this expression can override the name_id_format setting.
↳ public_keystringThe Access public certificate that will be used to verify your identity.
↳ saml_attribute_transform_jsonatastringA [JSONata] (https://jsonata.org/) expression that transforms an application's user identities into attribute assertions in the SAML response.
↳ sp_entity_idstringA globally unique name for an identity or service provider.
↳ sso_endpointstringThe endpoint where your SaaS application will send login requests.
↳ updated_atstringupdated at
↳ access_token_lifetimestringThe lifetime of the OIDC Access Token after creation. Valid units are m,h. Must be greater than or equal to 1m and less than or equal to 24h.
↳ allow_pkce_without_client_secretbooleanIf client secret should be required on the token endpoint when authorization_code_with_pkce grant is used.
↳ app_launcher_urlstringThe URL where this applications tile redirects users
↳ client_idstringThe application client id
↳ client_secretstringThe application client secret, only returned on POST request.
↳ custom_claimsarraycustom claims
↳ namestringThe name of the claim.
↳ requiredbooleanIf the claim is required when building an OIDC token.
↳ scopestringThe scope of the claim. Values: groups, profile, email, openid.
↳ sourcejsonsource
↳ namestringThe name of the IdP claim.
↳ name_by_idpjsonA mapping from IdP ID to claim name.
↳ grant_typesarrayThe OIDC flows supported by this application
↳ group_filter_regexstringA regex to filter Cloudflare groups returned in ID token and userinfo endpoint
↳ hybrid_and_implicit_optionsjsonhybrid and implicit options
↳ return_access_token_from_authorization_endpointbooleanIf an Access Token should be returned from the OIDC Authorization endpoint
↳ return_id_token_from_authorization_endpointbooleanIf an ID Token should be returned from the OIDC Authorization endpoint
↳ redirect_urisarrayThe permitted URL's for Cloudflare to return Authorization codes and Access/ID tokens
↳ refresh_token_optionsjsonrefresh token options
↳ lifetimestringHow long a refresh token will be valid for after creation. Valid units are m,h,d. Must be longer than 1m.
↳ scopesarrayDefine the user information shared with access, "offline_access" scope will be automatically enabled if refresh tokens are enabled
↳ app_launcher_logo_urlstringThe image URL of the logo shown in the App Launcher header.
↳ bg_colorstringThe background color of the App Launcher page.
↳ footer_linksarrayThe links in the App Launcher footer.
↳ namestringThe hypertext in the footer link.
↳ urlstringthe hyperlink in the footer link.
↳ header_bg_colorstringThe background color of the App Launcher header.
↳ landing_page_designjsonThe design of the App Launcher landing page shown to users when they log in.
↳ button_colorstringThe background color of the log in button on the landing page.
↳ button_text_colorstringThe color of the text in the log in button on the landing page.
↳ image_urlstringThe URL of the image shown on the landing page.
↳ messagestringThe message shown on the landing page.
↳ titlestringThe title shown on the landing page.
↳ skip_app_launcher_login_pagebooleanDetermines when to skip the App Launcher landing page.
↳ target_criteriaarraytarget criteria
↳ excludejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ includejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ portnumberThe port that the targets use for the chosen communication protocol. A port cannot be assigned to multiple protocols.
↳ requirejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ target_attributesjsonContains a map of target attribute keys to target attribute values.
↳ protocolstringThe communication protocol your application secures. Values: RDP.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Access Groups

Lists the reusable Cloudflare Access (Zero Trust) groups in an account. Groups bundle identity rules that policies can reference by ID. Requires an API token with Account Access: Organizations, Identity Providers, and Groups Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Access groups are account-scoped
namestringNoFilter by group name
searchstringNoFree-text search across groups
pagenumberNoPage number for pagination
per_pagenumberNoNumber of groups per page
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
groupsarrayGroups
↳ created_atstringcreated at
↳ excludearrayRules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ idstringUUID.
↳ includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ is_defaultarrayRules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ namestringThe name of the Access group.
↳ requirearrayRules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ updated_atstringupdated at
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Access Identity Providers

Lists the identity providers configured for Cloudflare Access (Zero Trust) in an account, such as Okta, Entra ID, Google Workspace, or a one-time PIN. Use the returned IDs to restrict an application with allowed_idps. Requires an API token with Account Access: Organizations, Identity Providers, and Groups Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
scim_enabledstringNoIndicates to Access to only retrieve identity providers that have the System for Cross-Domain Identity Management (SCIM) enabled.
pagenumberNoPage number of results.
per_pagenumberNoNumber of results per page.
accountIdstringYesThe Cloudflare account ID. Identity providers are account-scoped
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
identity_providersarrayIdentity providers
↳ configjsonThe configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/).
↳ client_idstringYour OAuth Client ID
↳ client_secretstringYour OAuth Client Secret
↳ claimsarrayCustom claims
↳ email_claim_namestringThe claim name for email in the id_token response.
↳ conditional_access_enabledbooleanShould Cloudflare try to load authentication contexts from your account
↳ directory_idstringYour Azure directory uuid
↳ promptstringConfigures the prompt behavior for Google authentication. Values: login, select_account, none, consent.
↳ support_groupsbooleanShould Cloudflare try to load groups from your account
↳ centrify_accountstringYour centrify account url
↳ centrify_app_idstringYour centrify app id
↳ apps_domainstringYour companies TLD
↳ use_login_hintbooleanWhether to use a previously authenticated Access email as a Google login hint when exactly one email matches the Workspace domain.
↳ auth_urlstringThe authorization_endpoint URL of your IdP
↳ certs_urlstringThe jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens
↳ pkce_enabledbooleanEnable Proof Key for Code Exchange (PKCE)
↳ scopesarrayOAuth scopes
↳ token_urlstringThe token_endpoint URL of your IdP
↳ issuer_urlstringIdP Entity ID or Issuer URL
↳ authorization_server_idstringYour okta authorization server id
↳ okta_accountstringYour okta account url
↳ onelogin_accountstringYour OneLogin account url
↳ ping_env_idstringYour PingOne environment identifier
↳ attributesarrayA list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.
↳ email_attribute_namestringThe attribute name for email in the SAML response.
↳ enable_encryptionbooleanEnable SAML assertion encryption.
↳ force_authnbooleanAsks the IdP to reauthenticate the user for each SAML authentication request.
↳ header_attributesarrayAdd a list of attribute names that will be returned in the response header from the Access callback.
↳ attribute_namestringattribute name from the IDP
↳ header_namestringheader that will be added on the request to the origin
↳ idp_public_certsarrayX509 certificate to verify the signature in the SAML authentication response
↳ max_sso_url_lengthnumberThe maximum URL length the IdP accepts for the SSO redirect URL. When the constructed SSO URL would exceed this length, the RelayState is stored server-side and a short nonce is passed to the IdP instead. Set this if your IdP enforces a URL length limit.
↳ sign_requestbooleanSign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.
↳ sso_target_urlstringURL to send the SAML authentication requests to
↳ redirect_urlstringredirect url
↳ restrict_to_account_membersbooleanWhen enabled, only users who are members of your Cloudflare account can authenticate through this identity provider. When disabled, any user with a Cloudflare account can authenticate, subject to your Access policies.
↳ login_page_auto_promptbooleanWhen enabled, the Access login page automatically prompts the user to authenticate with a passkey.
↳ idstringUUID.
↳ namestringThe name of the identity provider, shown to users on the login page.
↳ read_onlybooleanIndicates that the identity provider is immutable and cannot be updated or deleted via the API.
↳ saml_certificate_setjsonA SAML encryption certificate set containing current and optionally previous certificates for encryption key rotation.
↳ created_atstringTimestamp when the certificate set was created
↳ current_certificatejsonA single SAML encryption certificate with metadata
↳ is_currentbooleanIndicates whether this is the currently active certificate
↳ not_afterstringCertificate expiration date. Certificates are automatically rotated 30 days before expiration.
↳ public_certificatestringPEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.
↳ uidstringUnique identifier for the certificate
↳ previous_certificatejsonThe previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.
↳ uidstringUnique identifier for the certificate set
↳ updated_atstringTimestamp when the certificate set was last updated (e.g., during rotation)
↳ saml_certificate_set_idstringThe UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/\{id\}/saml_certificate.
↳ scim_configjsonThe configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.
↳ enabledbooleanA flag to enable or disable SCIM for the identity provider.
↳ identity_update_behaviorstringIndicates how a SCIM event updates a user identity used for policy evaluation.
↳ scim_base_urlstringThe base URL of Cloudflare's SCIM V2.0 API endpoint.
↳ seat_deprovisionbooleanA flag to remove a user's seat in Zero Trust when they have been deprovisioned in the Identity Provider. This cannot be enabled unless user_deprovision is also enabled.
↳ secretstringA read-only token generated when the SCIM integration is enabled for the first time. It is redacted on subsequent requests. If you lose this you will need to refresh it at /access/identity_providers/:idpID/refresh_scim_secret.
↳ user_deprovisionbooleanA flag to enable revoking a user's session in Access and Gateway when they have been deprovisioned in the Identity Provider.
↳ typestringThe type of identity provider.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Access Policies

Lists the Cloudflare Access (Zero Trust) policies attached to an application, in precedence order. Requires an API token with Account Access: Apps and Policies Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
appIdstringYesThe Access application ID whose policies should be listed
pagenumberNoPage number for pagination
per_pagenumberNoNumber of policies per page
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
policiesarrayPolicies
↳ approval_groupsarrayAdministrators who can approve a temporary authentication request.
↳ approvals_needednumberThe number of approvals needed to obtain access.
↳ email_addressesarrayA list of emails that can approve the access request.
↳ email_list_uuidstringThe UUID of an re-usable email list.
↳ approval_requiredbooleanRequires the user to request access from an administrator at the start of each session.
↳ connection_rulesjsonThe rules that define how users may connect to the targets secured by your application.
↳ rdpjsonThe RDP-specific rules that define clipboard behavior for RDP connections.
↳ allowed_clipboard_local_to_remote_formatsarrayClipboard formats allowed when copying from local machine to remote RDP session.
↳ allowed_clipboard_remote_to_local_formatsarrayClipboard formats allowed when copying from remote RDP session to local machine.
↳ sshjsonThe SSH-specific rules that define how users may connect to the targets secured by your application.
↳ allow_email_aliasbooleanEnables using Identity Provider email alias as SSH username.
↳ usernamesarrayContains the Unix usernames that may be used when connecting over SSH.
↳ isolation_requiredbooleanRequire this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
↳ mfa_configjsonConfigures multi-factor authentication (MFA) settings for infrastructure applications.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with. For infrastructure applications, supported values are piv_key and ssh_fido2_key.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples: 5m or 24h.
↳ purpose_justification_promptstringA custom message that will appear on the purpose justification screen.
↳ purpose_justification_requiredbooleanRequire users to enter a justification when they log in to the application.
↳ session_durationstringThe amount of time that tokens issued for the application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
↳ created_atstringcreated at
↳ decisionstringThe action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action. Values: allow, deny, non_identity, bypass.
↳ excludearrayRules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ idstringThe UUID of the policy
↳ includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ namestringThe name of the Access policy.
↳ requirearrayRules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ updated_atstringupdated at
↳ account_idstringIdentifier.
↳ precedencenumberThe order of execution for this policy. Must be unique for each policy within an app.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Access Service Tokens

Lists the Cloudflare Access (Zero Trust) service tokens in an account, which let machines authenticate to Access-protected applications. Client secrets are never returned by this endpoint — only on creation. Requires an API token with Account Access: Service Tokens Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Service tokens are account-scoped
namestringNoFilter by service token name
searchstringNoFree-text search across service tokens
pagenumberNoPage number for pagination
per_pagenumberNoNumber of service tokens per page
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
service_tokensarrayService tokens
↳ client_idstringThe Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.
↳ created_atstringcreated at
↳ durationstringThe duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
↳ enabledbooleanWhether the service token is enabled.
↳ expires_atstringexpires at
↳ idstringUUID.
↳ last_seen_atstringlast seen at
↳ leak_report_urlstringWhere the leaked client_secret was found, if provided by the reporter. Omitted if the token has not been reported as leaked.
↳ leak_reported_atstringWhen a secret scanning partner reported this service token's client_secret as leaked. A leaked service token is disabled and must be rotated before it can be re-enabled. Cleared once the secret is rotated. Omitted if the token has not been reported as leaked.
↳ leak_reporterstringThe secret scanning partner that reported the leak. Omitted if the token has not been reported as leaked.
↳ namestringThe name of the service token.
↳ updated_atstringupdated at
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Certificates

Lists SSL/TLS certificate packs for a zone.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to list certificates for
statusstringNoSet to "all" to include every certificate pack regardless of status. Cloudflare documents no other value for this filter; omitting it returns only active packs
pagenumberNoPage number of paginated results (default: 1)
per_pagenumberNoNumber of certificate packs per page (default: 20, min: 5, max: 50)
deploystringNoFilter by deployment environment: "staging" or "production"
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
certificatesarrayCertificates
↳ certificate_authoritystringCertificate Authority selected for the order. For information on any certificate authority specific details or restrictions [see this page for more details](https://developers.cloudflare.com/ssl/reference/certificate-authorities). Values: google, lets_encrypt, ssl_com.
↳ certificatesarrayArray of certificates in this pack.
↳ bundle_methodstringCertificate bundle method.
↳ expires_onstringWhen the certificate from the authority expires.
↳ geo_restrictionsjsonSpecify the region where your private key can be held locally.
↳ labelstringlabel Values: us, eu, highest_security.
↳ hostsarrayHostnames covered by this certificate.
↳ idstringCertificate identifier.
↳ issuerstringThe certificate authority that issued the certificate.
↳ modified_onstringWhen the certificate was last modified.
↳ prioritynumberThe order/priority in which the certificate will be used.
↳ signaturestringThe type of hash used for the certificate.
↳ statusstringCertificate status.
↳ uploaded_onstringWhen the certificate was uploaded to Cloudflare.
↳ zone_idstringIdentifier.
↳ cloudflare_brandingbooleanWhether or not to add Cloudflare Branding for the order. This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true.
↳ dcv_delegation_recordsarrayDCV Delegation records for domain validation.
↳ cnamestringThe CNAME record hostname for DCV delegation.
↳ cname_targetstringThe CNAME record target value for DCV delegation.
↳ emailsarrayThe set of email addresses that the certificate authority (CA) will use to complete domain validation.
↳ http_bodystringThe content that the certificate authority (CA) will expect to find at the http_url during the domain validation.
↳ http_urlstringThe url that will be checked during domain validation.
↳ statusstringStatus of the validation record.
↳ txt_namestringThe hostname that the certificate authority (CA) will check for a TXT record during domain validation .
↳ txt_valuestringThe TXT record that the certificate authority (CA) will check during domain validation.
↳ hostsarrayComma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be empty.
↳ idstringThe unique identifier for a certificate_pack.
↳ primary_certificatestringIdentifier of the primary certificate in a pack.
↳ statusstringStatus of certificate pack.
↳ typestringType of certificate pack. Values: mh_custom, managed_hostname, sni_custom, universal, advanced, total_tls, keyless, legacy_custom.
↳ validation_errorsarrayDomain validation errors that have been received by the certificate authority (CA).
↳ messagestringA domain validation error.
↳ validation_methodstringValidation Method selected for the order. Values: txt, http, email.
↳ validation_recordsarrayCertificates' validation records.
↳ cnamestringThe CNAME record hostname for DCV delegation.
↳ cname_targetstringThe CNAME record target value for DCV delegation.
↳ emailsarrayThe set of email addresses that the certificate authority (CA) will use to complete domain validation.
↳ http_bodystringThe content that the certificate authority (CA) will expect to find at the http_url during the domain validation.
↳ http_urlstringThe url that will be checked during domain validation.
↳ statusstringStatus of the validation record.
↳ txt_namestringThe hostname that the certificate authority (CA) will check for a TXT record during domain validation .
↳ txt_valuestringThe TXT record that the certificate authority (CA) will check during domain validation.
↳ validity_daysnumberValidity Days selected for the order. Values: 14, 30, 90, 365.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List DNS Records

Lists DNS records for a specific zone.

Inputs and outputs

Input

ParameterTypeRequiredDescription
name_containsstringNoSubstring of the DNS record name. Name filters are case-insensitive.
name_startswithstringNoPrefix of the DNS record name. Name filters are case-insensitive.
name_endswithstringNoSuffix of the DNS record name. Name filters are case-insensitive.
content_containsstringNoSubstring of the DNS record content. Content filters are case-insensitive.
content_startswithstringNoPrefix of the DNS record content. Content filters are case-insensitive.
content_endswithstringNoSuffix of the DNS record content. Content filters are case-insensitive.
comment_presentbooleanNoIf this parameter is present, only records with a comment are returned.
comment_absentbooleanNoIf this parameter is present, only records without a comment are returned.
comment_exactstringNoExact value of the DNS record comment. Comment filters are case-insensitive.
comment_startswithstringNoPrefix of the DNS record comment. Comment filters are case-insensitive.
comment_endswithstringNoSuffix of the DNS record comment. Comment filters are case-insensitive.
tag_presentstringNoName of a tag which must be present on the DNS record. Tag filters are case-insensitive.
tag_absentstringNoName of a tag which must not be present on the DNS record. Tag filters are case-insensitive.
tag_containsstringNoA tag and value, of the form &lt;tag-name&gt;:&lt;tag-value&gt;. The API will only return DNS records that have a tag named &lt;tag-name&gt; whose value contains &lt;tag-value&gt;. Tag filters are case-insensitive.
tag_startswithstringNoA tag and value, of the form &lt;tag-name&gt;:&lt;tag-value&gt;. The API will only return DNS records that have a tag named &lt;tag-name&gt; whose value starts with &lt;tag-value&gt;. Tag filters are case-insensitive.
tag_endswithstringNoA tag and value, of the form &lt;tag-name&gt;:&lt;tag-value&gt;. The API will only return DNS records that have a tag named &lt;tag-name&gt; whose value ends with &lt;tag-value&gt;. Tag filters are case-insensitive.
include_shadow_metadatabooleanNoWhether to include shadow metadata in the meta field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
shadowed_by_namestringNoFilters the response to records at or below the specified NS delegation name. NS, DS, and NSEC records at the delegation name are excluded because they are not shadowed by that delegation. Those record types are included only when they exist below the delegation. The value must be a non-apex subdomain of the zone. Requires include_shadow_metadata=true. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
shadowing_namestringNoReturns NS records that shadow the given name, searching at the name itself and each of its ancestor names within the zone, excluding the zone apex. The value must be a subdomain of the zone; the zone apex is not accepted. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
zoneIdstringYesThe zone ID to list DNS records for
typestringNoFilter by record type (e.g., "A", "AAAA", "CNAME", "MX", "TXT")
namestringNoFilter by record name (exact match)
contentstringNoFilter by record content (exact match)
pagenumberNoPage number for pagination (default: 1)
per_pagenumberNoNumber of records per page (default: 100, max: 5000000)
directionstringNoSort direction (asc or desc)
matchstringNoMatch logic for filters: any or all (default: all)
orderstringNoSort field (type, name, content, ttl, proxied)
proxiedbooleanNoFilter by proxy status
searchstringNoFree-text search across record name, content, and value
tagstringNoFilter by tag name, or an exact name:value pair (e.g., team:DNS)
tag_matchstringNoTag filter match logic: any or all. Only affects results when combined with multiple tag filter conditions; has no effect with the single exact-match Tag Filter above.
commentFilterstringNoFilter records by comment content (substring match)
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
recordsarrayRecords
↳ commentstringComments or notes about the DNS record. This field has no effect on DNS responses.
↳ namestringComplete DNS record name, including the zone name, in Punycode.
↳ proxiedbooleanWhether the record is receiving the performance and security benefits of Cloudflare.
↳ settingsjsonSettings for the DNS record.
↳ ipv4_onlybooleanWhen enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
↳ ipv6_onlybooleanWhen enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
↳ flatten_cnamebooleanIf enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened.
↳ tagsarrayCustom tags for the DNS record. This field has no effect on DNS responses.
↳ ttlnumberTime To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. Values: 1.
↳ contentstringFormatted URI content. See 'data' to set URI properties.
↳ private_routingbooleanEnables private network routing to the origin.
↳ typestringRecord type. Values: A, AAAA, CNAME, MX, NS, OPENPGPKEY, PTR, TXT, CAA, CERT, DNSKEY, DS, HTTPS, LOC, NAPTR, SMIMEA, SRV, SSHFP, SVCB, TLSA, URI.
↳ prioritynumberRequired for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map.
↳ datajsonStructured record data. The available fields depend on the DNS record type.
↳ flagsjsonFlags.
↳ tagstringName of the property controlled by this record (e.g.: issue, issuewild, iodef).
↳ valuestringValue.
↳ algorithmnumberAlgorithm.
↳ certificatestringCertificate.
↳ key_tagnumberKey Tag.
↳ typenumberType.
↳ protocolnumberProtocol.
↳ public_keystringPublic Key.
↳ digeststringDigest.
↳ digest_typenumberDigest Type.
↳ prioritynumberPriority.
↳ targetstringThe record content.
↳ altitudenumberAltitude of location in meters.
↳ lat_degreesnumberDegrees of latitude.
↳ lat_directionstringLatitude direction. Values: N, S.
↳ lat_minutesnumberMinutes of latitude.
↳ lat_secondsnumberSeconds of latitude.
↳ long_degreesnumberDegrees of longitude.
↳ long_directionstringLongitude direction. Values: E, W.
↳ long_minutesnumberMinutes of longitude.
↳ long_secondsnumberSeconds of longitude.
↳ precision_horznumberHorizontal precision of location.
↳ precision_vertnumberVertical precision of location.
↳ sizenumberSize of location in meters.
↳ ordernumberOrder.
↳ preferencenumberPreference.
↳ regexstringRegex.
↳ replacementstringReplacement.
↳ servicestringService.
↳ matching_typenumberMatching Type.
↳ selectornumberSelector.
↳ usagenumberUsage.
↳ portnumberThe port of the service.
↳ weightnumberThe record weight.
↳ fingerprintstringFingerprint.
↳ comment_modified_onstringWhen the record comment was last modified. Omitted if there is no comment.
↳ created_onstringWhen the record was created.
↳ idstringIdentifier.
↳ metajsonExtra Cloudflare-specific metadata about the record.
↳ dead_gluebooleanWhether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it.
↳ is_gluebooleanWhether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records).
↳ shadowed_byarrayIDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
↳ shadowed_records_countnumberNumber of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
↳ modified_onstringWhen the record was last modified.
↳ proxiablebooleanWhether the record can be proxied by Cloudflare or not.
↳ tags_modified_onstringWhen the record tags were last modified. Omitted if there are no tags.
↳ zone_idstringLegacy DNS response zone ID when returned by Cloudflare
↳ zone_namestringLegacy DNS response zone name when returned by Cloudflare
↳ lockedbooleanLegacy DNS response lock flag when returned by Cloudflare
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Managed Ruleset Overrides

Lists the WAF managed rulesets deployed on a zone together with the overrides applied to each one. Cloudflare has no dedicated overrides endpoint — overrides live on the "execute" rules of the http_request_firewall_managed phase entry point ruleset, which this reads. Requires an API token with Zone WAF Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to read managed ruleset deployments and overrides for
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
ruleset_idstringRuleset ID of the http_request_firewall_managed entry point, needed to edit a deployment rule
deploymentsarrayManaged rulesets deployed on the zone and the overrides applied to each
↳ rule_idstringID of the execute rule that deploys the managed ruleset
↳ managed_ruleset_idstringID of the deployed managed ruleset
↳ descriptionstringDescription of the deployment rule
↳ expressionstringFilter expression scoping which requests the managed ruleset runs on
↳ enabledbooleanWhether the deployment is enabled
↳ overridesjsonOverrides applied to the managed ruleset, at three levels. Cloudflare documents action, enabled, and sensitivity_level at the ruleset (top) level; category, action, enabled, and sensitivity_level per category; and id, action, enabled, score_threshold, and sensitivity_level per rule. Rule overrides beat category overrides, which beat the ruleset-level override. sensitivity_level applies only to the DDoS phases, so for a WAF managed ruleset the rule-level properties are action, enabled, and score_threshold
total_countnumberNumber of managed ruleset deployments found

Cloudflare List R2 Buckets

Lists the R2 object storage buckets in an account. Requires an API token with Account Workers R2 Storage Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
orderstringNoOrder buckets by name. Allowed values: name.
accountIdstringYesThe Cloudflare account ID. R2 buckets are account-scoped
name_containsstringNoOnly return buckets whose name contains this substring
start_afterstringNoBucket name to start listing after
cursorstringNoPagination cursor returned by a previous call
directionstringNoSort direction by bucket name: asc or desc
per_pagenumberNoNumber of buckets per page
jurisdictionstringNoData-residency jurisdiction to list within: default, eu, or fedramp
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
bucketsarrayBuckets
↳ creation_datestringCreation timestamp.
↳ jurisdictionstringJurisdiction where objects in this bucket are guaranteed to be stored. Values: default, eu, us, fedramp, fedramp-high.
↳ locationstringLocation of the bucket. Values: apac, eeur, enam, weur, wnam, oc.
↳ namestringName of the bucket.
↳ storage_classstringStorage class for newly uploaded objects, unless specified otherwise. Values: Standard, InfrequentAccess.
total_countnumberTotal active buckets in the requested jurisdiction, independent of filtering or pagination. Eventually consistent for accounts with elevated bucket limits. Falls back to this page’s bucket count when the API omits the total.
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal active buckets in the requested jurisdiction, independent of filtering or pagination. Eventually consistent for accounts with elevated bucket limits.
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring
cursorstringCursor for the next page

Cloudflare List Rate Limiting Rules

Lists the rate limiting rules on a zone by reading the http_ratelimit phase entry point ruleset. This uses the current Rulesets-based rate limiting API; the legacy rate_limits endpoint is no longer available. The returned ruleset ID is what "Create Rate Limiting Rule", "Update Rate Limiting Rule", and "Delete Ruleset Rule" need. Requires an API token with Zone WAF Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to list rate limiting rules for
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare List Rulesets

Lists every ruleset defined on a zone across all phases (WAF custom rules, managed rules, rate limiting, transform rules, and more). The list response deliberately omits the rules inside each ruleset — use "Get Ruleset" to read them. Requires an API token with Zone WAF Read (or another matching ruleset Read permission).

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to list rulesets for
per_pagenumberNoNumber of rulesets to return per page
cursorstringNoCursor for the next page, taken from the cursor output of a previous call. This endpoint paginates by cursor, not by page number
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
rulesetsarrayRulesets
↳ descriptionstringAn informative description of the ruleset.
↳ idstringThe unique ID of the ruleset.
↳ last_updatedstringThe timestamp of when the ruleset was last modified.
↳ namestringThe human-readable name of the ruleset.
↳ versionstringThe version of the ruleset.
↳ kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
↳ phasestringThe phase of the ruleset.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring
cursorstringCursor for the next page

Cloudflare List Tunnels

Lists the Cloudflare Tunnels (cloudflared) in an account, with their health status and active connections. Requires an API token with Account Cloudflare Tunnel Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Tunnels are account-scoped
namestringNoFilter by exact tunnel name
statusstringNoFilter by tunnel health: inactive, degraded, healthy, or down
uuidstringNoFilter by tunnel UUID
is_deletedbooleanNoWhether to return deleted tunnels instead of active ones
include_prefixstringNoOnly include tunnels whose name starts with this prefix
exclude_prefixstringNoExclude tunnels whose name starts with this prefix
existed_atstringNoReturn tunnels that existed at this RFC 3339 timestamp
was_active_atstringNoReturn tunnels that were active at this RFC 3339 timestamp
was_inactive_atstringNoReturn tunnels that were inactive at this RFC 3339 timestamp
pagenumberNoPage number for pagination
per_pagenumberNoNumber of tunnels per page
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
tunnelsarrayTunnels
↳ account_tagstringCloudflare account ID
↳ config_srcstringIndicates if this is a locally or remotely configured tunnel. If local, manage the tunnel using a YAML file on the origin machine. If cloudflare, manage the tunnel on the Zero Trust dashboard. Values: local, cloudflare.
↳ connectionsarrayThe Cloudflare Tunnel connections between your origin and Cloudflare's edge.
↳ client_idstringUUID of the Cloudflare Tunnel connector.
↳ client_versionstringThe cloudflared version used to establish this connection.
↳ colo_namestringThe Cloudflare data center used for this connection.
↳ idstringUUID of the Cloudflare Tunnel connection.
↳ is_pending_reconnectbooleanCloudflare continues to track connections for several minutes after they disconnect. This is an optimization to improve latency and reliability of reconnecting. If true, the connection has disconnected but is still being tracked. If false, the connection is actively serving traffic.
↳ opened_atstringTimestamp of when the connection was established.
↳ origin_ipstringThe public IP address of the host running cloudflared.
↳ uuidstringUUID of the Cloudflare Tunnel connection.
↳ conns_active_atstringTimestamp of when the tunnel established at least one connection to Cloudflare's edge. If null, the tunnel is inactive.
↳ conns_inactive_atstringTimestamp of when the tunnel became inactive (no connections to Cloudflare's edge). If null, the tunnel is active.
↳ created_atstringTimestamp of when the resource was created.
↳ deleted_atstringTimestamp of when the resource was deleted. If null, the resource has not been deleted.
↳ idstringUUID of the tunnel.
↳ metadatajsonMetadata associated with the tunnel.
↳ namestringA user-friendly name for a tunnel.
↳ remote_configbooleanIf true, the tunnel can be configured remotely from the Zero Trust dashboard. If false, the tunnel must be configured locally on the origin machine.
↳ statusstringThe status of the tunnel.
↳ tun_typestringThe type of tunnel. Values: cfd_tunnel, warp_connector, warp, magic, ip_sec, gre, cni.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Worker Routes

Lists the Workers routes on a zone, showing which URL patterns are handled by which Worker script. Unlike the Workers script endpoints, routes are zone-scoped. Requires an API token with Zone Workers Routes Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to list Workers routes for. Routes are zone-scoped, not account-scoped
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
routesarrayRoutes
↳ idstringIdentifier.
↳ patternstringPattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).
↳ scriptstringName of the script to run if the route matches.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Worker Scripts

Lists the Workers scripts deployed in an account. Requires an API token with Account Workers Scripts Read.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Workers scripts are account-scoped
tagsstringNoFilter scripts by tag. Cloudflare expects a comma-separated list of tag:allowed pairs where allowed is yes or no, e.g. team:core:yes,deprecated:no
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
scriptsarrayScripts
↳ cache_optionsjsonGlobal CacheW configuration for the Worker. When caching is on, the platform provisions a cloudflare.app zone for the Worker. A type: worker entry in the exports map can override this value for a single entrypoint.
↳ cross_version_cachebooleanWhether cached responses are shared across Worker version uploads. This is independent of enabled. It can stay true while caching is off, so the preference survives turning caching off and back on.
↳ enabledbooleanWhether caching is enabled for this Worker.
↳ compatibility_datestringDate indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.
↳ compatibility_flagsarrayFlags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a compatibility_date.
↳ created_onstringWhen the script was created.
↳ etagstringHashed script content, can be used in a If-None-Match header when updating.
↳ exportsjsonDeclarative exports for the Worker, keyed by export name. Worker entrypoint entries (type: worker) carry cache configuration for that entrypoint. Durable Object entries (type: durable-object) are also configured here and drive namespace reconciliation. At most 100 entries; class names are at most 128 characters.
↳ handlersarrayThe names of handlers exported as part of the default export.
↳ has_assetsbooleanWhether a Worker contains assets.
↳ has_modulesbooleanWhether a Worker contains modules.
↳ idstringThe name used to identify the script.
↳ last_deployed_fromstringThe client most recently used to deploy this Worker.
↳ logpushbooleanWhether Logpush is turned on for the Worker.
↳ migration_tagstringThe tag of the Durable Object migration that was most recently applied for this Worker.
↳ modified_onstringWhen the script was last modified.
↳ named_handlersarrayNamed exports, such as Durable Object class implementations and named entrypoints.
↳ handlersarrayThe names of handlers exported as part of the named export.
↳ namestringThe name of the export.
↳ observabilityjsonObservability settings for the Worker.
↳ enabledbooleanWhether observability is enabled for the Worker.
↳ head_sampling_ratenumberThe sampling rate for incoming requests. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.
↳ issuesjsonReal-time Issues settings for the Worker.
↳ enabledbooleanWhether real-time Issues are enabled for the Worker.
↳ logsjsonLog settings for the Worker.
↳ destinationsarrayA list of destinations where logs will be exported to.
↳ enabledbooleanWhether logs are enabled for the Worker.
↳ head_sampling_ratenumberThe sampling rate for logs. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.
↳ invocation_logsbooleanWhether [invocation logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#invocation-logs) are enabled for the Worker.
↳ persistbooleanWhether log persistence is enabled for the Worker.
↳ redact_query_stringbooleanWhether query strings are removed from request URLs in logs and traces.
↳ tracesjsonTrace settings for the Worker.
↳ destinationsarrayA list of destinations where traces will be exported to.
↳ enabledbooleanWhether traces are enabled for the Worker.
↳ head_sampling_ratenumberThe sampling rate for traces. From 0 to 1 (1 = 100%, 0.1 = 10%). Default is 1.
↳ persistbooleanWhether trace persistence is enabled for the Worker.
↳ propagation_policystringControls how inbound trace context (traceparent/tracestate) headers on incoming requests are handled.
↳ placementjsonConfiguration for [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement). Specify mode='smart' for Smart Placement, or one of region/hostname/host.
↳ modestringTargeted placement mode. Values: smart, targeted.
↳ regionstringCloud region for targeted placement in format 'provider:region'.
↳ hostnamestringHTTP hostname for targeted placement.
↳ hoststringTCP host and port for targeted placement.
↳ targetarrayArray of placement targets (currently limited to single target).
↳ regionstringCloud region in format 'provider:region'.
↳ hostnamestringHTTP hostname for targeted placement.
↳ hoststringTCP host:port for targeted placement.
↳ last_analyzed_atstringThe last time the script was analyzed for [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement).
↳ statusstringStatus of [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement). Values: SUCCESS, UNSUPPORTED_APPLICATION, INSUFFICIENT_INVOCATIONS.
↳ placement_modestringConfiguration for [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement). Specify mode='smart' for Smart Placement, or one of region/hostname/host. Values: smart, targeted.
↳ placement_statusstringStatus of [Smart Placement](https://developers.cloudflare.com/workers/configuration/smart-placement). Values: SUCCESS, UNSUPPORTED_APPLICATION, INSUFFICIENT_INVOCATIONS.
↳ tagstringThe immutable ID of the script.
↳ tagsarrayTags associated with the Worker.
↳ tail_consumersarrayList of Workers that will consume logs from the attached Worker.
↳ environmentstringOptional environment if the Worker utilizes one.
↳ namespacestringOptional dispatch namespace the script belongs to.
↳ servicestringName of Worker that is to be the consumer.
↳ usage_modelstringUsage model for the Worker invocations. Values: standard, bundled, unbound.
↳ routesarrayRoutes associated with the Worker.
↳ idstringIdentifier.
↳ patternstringPattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).
↳ scriptstringName of the script to run if the route matches.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare List Zones

Lists one page of zones (domains) in the Cloudflare account.

Inputs and outputs

Input

ParameterTypeRequiredDescription
typestringNoComma-separated zone types: full, partial, secondary, internal
account_namestringNoAccount name; prefix the value with an operator, e.g. contains:Test. Supported operators: * equal (default) * not_equal * starts_with * ends_with * contains * starts_with_case_sensitive * ends_with_case_sensitive * contains_case_sensitive
namestringNoFilter zones by domain name (e.g., "example.com")
statusstringNoFilter by zone status: "initializing", "pending", "active", or "moved"
pagenumberNoPage number for pagination (default: 1)
per_pagenumberNoNumber of zones per page (default: 20, max: 50)
accountIdstringNoFilter zones by account ID
orderstringNoSort field (name, status, account.id, account.name, plan.id)
directionstringNoSort direction (asc, desc)
matchstringNoMatch logic for filters (any, all). Default: all
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
zonesarrayZones
↳ accountjsonThe account the zone belongs to.
↳ idstringIdentifier
↳ namestringThe name of the account.
↳ activated_onstringThe last time proof of ownership was detected and the zone was made active.
↳ cname_suffixstringAllows the customer to use a custom apex. Tenants Only Configuration.
↳ created_onstringWhen the zone was created.
↳ development_modenumberThe interval (in seconds) from when development mode expires (positive integer) or last expired (negative integer) for the domain. If development mode has never been enabled, this value is 0.
↳ idstringIdentifier
↳ metajsonMetadata about the zone.
↳ cdn_onlybooleanThe zone is only configured for CDN.
↳ custom_certificate_quotanumberNumber of Custom Certificates the zone can have.
↳ dns_onlybooleanThe zone is only configured for DNS.
↳ foundation_dnsbooleanThe zone is setup with Foundation DNS.
↳ page_rule_quotanumberNumber of Page Rules a zone can have.
↳ phishing_detectedbooleanThe zone has been flagged for phishing.
↳ stepnumberstep
↳ modified_onstringWhen the zone was last modified.
↳ namestringThe domain name. Per [RFC 1035](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4) the overall zone name can be up to 253 characters, with each segment ("label") not exceeding 63 characters.
↳ name_serversarrayThe name servers Cloudflare assigns to a zone.
↳ original_dnshoststringDNS host at the time of switching to Cloudflare.
↳ original_name_serversarrayOriginal name servers before moving to Cloudflare.
↳ original_registrarstringRegistrar for the domain at the time of switching to Cloudflare.
↳ ownerjsonThe owner of the zone.
↳ idstringIdentifier
↳ namestringName of the owner.
↳ typestringThe type of owner.
↳ pausedbooleanIndicates whether the zone is only using Cloudflare DNS services. A true value means the zone will not receive security or performance benefits.
↳ permissionsarrayLegacy permissions based on legacy user membership information.
↳ planjsonA Zones subscription information.
↳ can_subscribebooleanStates if the subscription can be activated.
↳ currencystringThe denomination of the customer.
↳ externally_managedbooleanIf this Zone is managed by another company.
↳ frequencystringHow often the customer is billed.
↳ idstringIdentifier
↳ is_subscribedbooleanStates if the subscription active.
↳ legacy_discountbooleanIf the legacy discount applies to this Zone.
↳ legacy_idstringThe legacy name of the plan.
↳ namestringName of the owner.
↳ pricenumberHow much the customer is paying.
↳ statusstringThe zone status on Cloudflare. Values: initializing, pending, active, moved.
↳ tenantjsonThe root organizational unit that this zone belongs to (such as a tenant or organization).
↳ idstringIdentifier
↳ namestringThe name of the Tenant account.
↳ tenant_unitjsonThe immediate parent organizational unit that this zone belongs to (such as under a tenant or sub-organization).
↳ idstringIdentifier
↳ typestringA full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. Values: full, partial, secondary, internal.
↳ vanity_name_serversarrayAn array of domains used for custom name servers. This is only available for Business and Enterprise plans.
↳ verification_keystringVerification key for partial zone setup.
total_countnumberTotal matching resources, or the number of resources returned on this page when the API omits a total
result_infojsonPagination metadata returned by Cloudflare
↳ pagenumberCurrent page
↳ per_pagenumberPage size
↳ countnumberCount on the current page
↳ total_countnumberTotal matching resources
↳ total_pagesnumberTotal pages
↳ cursorstringPagination cursor
↳ cursorsjsonDirectional pagination cursors
↳ beforestring
↳ afterstring

Cloudflare Purge Cache

Purges cached content for a zone. Can purge everything or specific files/tags/hosts/prefixes.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesThe zone ID to purge cache for
purge_everythingbooleanNoSet to true to purge all cached content. Mutually exclusive with files, tags, hosts, and prefixes
filesstringNoComma-separated URLs or a JSON array of URL strings and {url, headers} objects. Use headers for custom cache keys, for example [{"url":"https://example.com/a","headers":\{"CF-IPCountry":"US"\}\}]
tagsstringNoComma-separated list of cache tags to purge
hostsstringNoComma-separated list of hostnames to purge
prefixesstringNoComma-separated list of URL prefixes to purge
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
idstringPurge request identifier returned by Cloudflare

Cloudflare Refresh Access Service Token

Refreshes the expiration of a service token.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
serviceTokenIdstringYesService token id
apiKeystringYesCloudflare API token

Output

ParameterTypeDescription
client_idstringThe Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.
created_atstringcreated at
durationstringThe duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
enabledbooleanWhether the service token is enabled.
expires_atstringexpires at
idstringUUID.
last_seen_atstringlast seen at
leak_report_urlstringWhere the leaked client_secret was found, if provided by the reporter. Omitted if the token has not been reported as leaked.
leak_reported_atstringWhen a secret scanning partner reported this service token's client_secret as leaked. A leaked service token is disabled and must be rotated before it can be re-enabled. Cleared once the secret is rotated. Omitted if the token has not been reported as leaked.
leak_reporterstringThe secret scanning partner that reported the leak. Omitted if the token has not been reported as leaked.
namestringThe name of the service token.
updated_atstringupdated at

Cloudflare Revoke Access Service Token

Permanently deletes a Cloudflare Access (Zero Trust) service token, revoking it. Every machine or integration still presenting that client ID and secret is locked out of the Access-protected applications immediately, and the secret cannot be recovered. This cannot be undone. Requires an API token with Account Access: Service Tokens Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesThe Cloudflare account ID. Service tokens are account-scoped
serviceTokenIdstringYesThe service token ID to revoke permanently
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
client_idstringThe Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.
created_atstringcreated at
durationstringThe duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
enabledbooleanWhether the service token is enabled.
expires_atstringexpires at
idstringUUID.
last_seen_atstringlast seen at
leak_report_urlstringWhere the leaked client_secret was found, if provided by the reporter. Omitted if the token has not been reported as leaked.
leak_reported_atstringWhen a secret scanning partner reported this service token's client_secret as leaked. A leaked service token is disabled and must be rotated before it can be re-enabled. Cleared once the secret is rotated. Omitted if the token has not been reported as leaked.
leak_reporterstringThe secret scanning partner that reported the leak. Omitted if the token has not been reported as leaked.
namestringThe name of the service token.
updated_atstringupdated at

Cloudflare Rotate Access Service Token

Generates a new Client Secret. The previous secret expires immediately unless previous_client_secret_expires_at schedules a later expiration.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
serviceTokenIdstringYesService token id
apiKeystringYesCloudflare API token
previous_client_secret_expires_atstringNoThe expiration of the previous client_secret. If not provided, it defaults to the current timestamp in order to immediately expire the previous secret. If the service token was reported as leaked, this must not be in the future; the leaked secret is discarded immediately.

Output

ParameterTypeDescription
client_idstringThe Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.
client_secretstringThe Client Secret for the service token. Access will check for this value in the CF-Access-Client-Secret request header.
created_atstringcreated at
durationstringThe duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
enabledbooleanWhether the service token is enabled.
idstringThe ID of the service token.
namestringThe name of the service token.
updated_atstringupdated at
expires_atstringService token expires at when returned by Cloudflare; retained for existing workflows
last_seen_atstringService token last seen at when returned by Cloudflare; retained for existing workflows

Cloudflare Update Access Application

Updates a Cloudflare Access (Zero Trust) application. Cloudflare does not document merge behavior for this PUT, so treat it as a replace: send every field the application should keep, because an omitted field may revert to its default and widen or break access. Read the current configuration with "Get Access Application" first. Requires an API token with Account Access: Apps and Policies Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
destinationsjsonNoJSON array. List of destinations secured by Access. This supersedes self_hosted_domains to allow for more flexibility in defining different types of domains. If destinations are provided, then self_hosted_domains will be ignored. Fields: overrides, type, uri, cidr, hostname, l4_protocol, port_range, vnet_id, mcp_server_id, worker_id.
oauth_configurationjsonNoJSON object. Required for end_user applications. Beta: Optional configuration for managing an OAuth authorization flow controlled by Access. When set, Access will act as the OAuth authorization server for this application. Only compatible with OAuth clients that support [RFC 8707](https://datatracker.ietf.org/doc/html/rfc8707) (Resource Indicators for OAuth 2.0). This feature is currently in beta. Fields: dynamic_client_registration, enabled, grant.
self_hosted_domainsjsonNoJSON array. List of public domains that Access will secure. This field is deprecated in favor of destinations and will be supported until November 21, 2025. If destinations are provided, then self_hosted_domains will be ignored.
user_populationsjsonNoJSON array. Required for end_user applications. The single user population associated with this application.
allow_authenticate_via_warpbooleanNoWhen set to true, users can authenticate to this application using their WARP session. When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
allow_iframebooleanNoEnables loading application content in an iFrame.
cors_headersjsonNoJSON object. cors headers Fields: allow_all_headers, allow_all_methods, allow_all_origins, allow_credentials, allowed_headers, allowed_methods, allowed_origins, max_age.
custom_non_identity_deny_urlstringNoThe custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.
custom_pagesjsonNoJSON array. The custom pages that will be displayed when applicable for this application
eager_redirect_cookie_settingbooleanNoPreemptively sets the Access session cookie on every hostname in a multi-hostname self-hosted application during the initial redirect chain, rather than setting it lazily on first visit. Defaults to true. Set to false to disable the eager redirect cookie behavior.
enable_binding_cookiebooleanNoEnables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
http_only_cookie_attributebooleanNoEnables the HttpOnly cookie attribute, which increases security against XSS attacks.
mfa_configjsonNoJSON object. Configures multi-factor authentication (MFA) settings. Fields: allowed_authenticators, mfa_disabled, session_duration.
options_preflight_bypassbooleanNoAllows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.
path_cookie_attributebooleanNoEnables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
read_service_tokens_from_headerstringNoAllows matching Access Service Tokens passed HTTP in a single header with this name. This works as an alternative to the (CF-Access-Client-Id, CF-Access-Client-Secret) pair of headers. The header value will be interpreted as a json object similar to: { "cf-access-client-id": "<CLIENT_ID>", "cf-access-client-secret": "<CLIENT_SECRET>" }
same_site_cookie_attributestringNoSets the SameSite cookie setting, which provides increased security against CSRF attacks.
scim_configjsonNoJSON object. Configuration for provisioning to this application via SCIM. This is currently in closed beta. Fields: authentication, deactivate_on_delete, enabled, idp_uid, mappings, remote_uri.
service_auth_401_redirectbooleanNoReturns a 401 status code when the request is blocked by a Service Auth policy.
skip_interstitialbooleanNoEnables automatic authentication through cloudflared.
use_clientless_isolation_app_launcher_urlbooleanNoDetermines if users can access this application via a clientless browser isolation URL. This allows users to access private domains without connecting to Gateway. The option requires Clientless Browser Isolation to be set up with policies that allow users of this application.
app_launcher_logo_urlstringNoThe image URL of the logo shown in the App Launcher header.
bg_colorstringNoThe background color of the App Launcher page.
footer_linksjsonNoJSON array. The links in the App Launcher footer. Fields: name, url.
header_bg_colorstringNoThe background color of the App Launcher header.
landing_page_designjsonNoJSON object. The design of the App Launcher landing page shown to users when they log in. Fields: button_color, button_text_color, image_url, message, title.
skip_app_launcher_login_pagebooleanNoDetermines when to skip the App Launcher landing page.
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
appIdstringYesThe Access application ID to update
typestringYesApplication type: self_hosted, end_user, saas, ssh, vnc, app_launcher, warp, biso, bookmark, infrastructure, rdp, mcp, mcp_portal, or proxy_endpoint. dash_sso has no request variant and cannot be written through the API
domainstringNoThe primary hostname and path secured by Access. Required for the self_hosted, ssh, vnc, and rdp types; optional for bookmark and mcp_portal; read-only for app_launcher, warp, biso, and proxy_endpoint; and absent from the saas, infrastructure, and mcp variants
namestringNoFriendly name shown in the dashboard and App Launcher
sessionDurationstringNoHow long an Access session stays valid, e.g. 24h or 30m
allowedIdpsstringNoComma-separated identity provider IDs users may authenticate with
appLauncherVisiblebooleanNoWhether the application is shown in the App Launcher
autoRedirectToIdentitybooleanNoWhether users skip the identity provider picker
customDenyMessagestringNoMessage shown to users who are denied access
customDenyUrlstringNoURL denied users are redirected to
logoUrlstringNoLogo image URL shown in the dashboard and App Launcher
tagsstringNoComma-separated tag names categorizing the application
saasAppstringNoJSON SaaS configuration, required for the saas type and rejected on every other type. SAML, e.g. { "auth_type": "saml", "consumer_service_url": "https://example.com/acs", "sp_entity_id": "https://example.com" }; OIDC, e.g. { "auth_type": "oidc", "client_id": "...", "redirect_uris": [ "https://example.com/callback" ] }
targetCriteriastringNoJSON array of infrastructure target criteria, required for the infrastructure and rdp types and rejected on every other type, e.g. [{"port":22,"protocol":"SSH","target_attributes":{"hostname":["production"]}}]
policiesstringNoJSON array of policies to attach. Entries may be reusable policy IDs or inline policy objects
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
audstringAudience tag.
created_atstringcreated at
idstringUUID.
updated_atstringupdated at
allowed_idpsarrayThe identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.
destinationsarrayList of destinations secured by Access. This supersedes self_hosted_domains to allow for more flexibility in defining different types of domains. If destinations are provided, then self_hosted_domains will be ignored.
↳ overridesarrayRules that override how Access handles requests to this destination. Each rule can make a matching path public, bypassing Access authentication. Overrides are supported for public destinations and Worker destinations.
↳ behaviorstringThe behavior to apply to matching requests. Values: public.
↳ path_patternstringThe request path pattern to match. Wildcards (*) are supported, but each path segment may have at most one wildcard. Unlike the uri in public destinations, override path patterns do not implicitly cover subpaths; to do that, use a wildcard.
↳ typestringtype Values: public, private, via_mcp_server_portal, worker, preview_worker, all_workers, all_preview_workers.
↳ uristringThe URI of the destination. Public destinations' URIs can include a domain and path with [wildcards](https://developers.cloudflare.com/cloudflare-one/policies/access/app-paths/).
↳ cidrstringThe CIDR range of the destination. Single IPs will be computed as /32.
↳ hostnamestringThe hostname of the destination. Matches a valid SNI served by an HTTPS origin.
↳ l4_protocolstringThe L4 protocol of the destination. When omitted, both UDP and TCP traffic will match. Values: tcp, udp.
↳ port_rangestringThe port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.
↳ vnet_idstringThe VNET ID to match the destination. When omitted, all VNETs will match.
↳ mcp_server_idstringThe MCP server id configured in ai-controls.
↳ worker_idstringThe ID of the Cloudflare Worker whose preview deployments to protect with Access.
domainstringThe primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.
namestringThe name of the application.
oauth_configurationjsonBeta: Optional configuration for managing an OAuth authorization flow controlled by Access.
↳ dynamic_client_registrationjsonSettings for OAuth dynamic client registration.
↳ allow_any_on_localhostbooleanAllows any client with redirect URIs on localhost.
↳ allow_any_on_loopbackbooleanAllows any client with redirect URIs on 127.0.0.1.
↳ allowed_urisarrayThe URIs that are allowed as redirect URIs for dynamically registered clients. HTTP and HTTPS paths may end in /* to match all sub-paths. Custom-scheme URIs must be explicitly configured and match exactly.
↳ enabledbooleanWhether dynamic client registration is enabled.
↳ enabledbooleanWhether the OAuth configuration is enabled for this application. When set to false, Access will not handle OAuth for this application. Defaults to true if omitted. Values: True.
↳ grantjsonSettings for OAuth grant behavior.
↳ access_token_lifetimestringThe lifetime of the access token. Must be in the format 300ms or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
↳ session_durationstringThe duration of the OAuth session. Must be in the format 300ms or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h.
self_hosted_domainsarrayList of public domains that Access will secure. This field is deprecated in favor of destinations and will be supported until November 21, 2025. If destinations are provided, then self_hosted_domains will be ignored.
typestringThe application type. Values: end_user, self_hosted, saas, ssh, vnc, app_launcher, warp, biso, bookmark, dash_sso, infrastructure, rdp, mcp, mcp_portal, proxy_endpoint.
user_populationsarrayThe single user population associated with this application.
allow_authenticate_via_warpbooleanWhen set to true, users can authenticate to this application using their WARP session. When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
allow_iframebooleanEnables loading application content in an iFrame.
app_launcher_visiblebooleanDisplays the application in the App Launcher.
auto_redirect_to_identitybooleanWhen set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.
cors_headersjsoncors headers
↳ allow_all_headersbooleanAllows all HTTP request headers.
↳ allow_all_methodsbooleanAllows all HTTP request methods.
↳ allow_all_originsbooleanAllows all origins.
↳ allow_credentialsbooleanWhen set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.
↳ allowed_headersarrayAllowed HTTP request headers.
↳ allowed_methodsarrayAllowed HTTP request methods.
↳ allowed_originsarrayAllowed origins.
↳ max_agenumberThe maximum number of seconds the results of a preflight request can be cached.
custom_deny_messagestringThe custom error message shown to a user when they are denied access to the application.
custom_deny_urlstringThe custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.
custom_non_identity_deny_urlstringThe custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.
custom_pagesarrayThe custom pages that will be displayed when applicable for this application
eager_redirect_cookie_settingbooleanPreemptively sets the Access session cookie on every hostname in a multi-hostname self-hosted application during the initial redirect chain, rather than setting it lazily on first visit. Defaults to true. Set to false to disable the eager redirect cookie behavior.
enable_binding_cookiebooleanEnables the binding cookie, which increases security against compromised authorization tokens and CSRF attacks.
http_only_cookie_attributebooleanEnables the HttpOnly cookie attribute, which increases security against XSS attacks.
logo_urlstringThe image URL for the logo shown in the App Launcher dashboard.
mfa_configjsonConfigures multi-factor authentication (MFA) settings.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.
options_preflight_bypassbooleanAllows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.
path_cookie_attributebooleanEnables cookie paths to scope an application's JWT to the application path. If disabled, the JWT will scope to the hostname by default
read_service_tokens_from_headerstringAllows matching Access Service Tokens passed HTTP in a single header with this name.
same_site_cookie_attributestringSets the SameSite cookie setting, which provides increased security against CSRF attacks.
scim_configjsonConfiguration for provisioning to this application via SCIM. This is currently in closed beta.
↳ authenticationjsonMultiple authentication schemes
↳ passwordstringPassword used to authenticate with the remote SCIM service.
↳ schemestringThe authentication scheme to use when making SCIM requests to this application. Values: httpbasic, oauthbearertoken, oauth2, access_service_token.
↳ userstringUser name used to authenticate with the remote SCIM service.
↳ tokenstringToken used to authenticate with the remote SCIM service.
↳ authorization_urlstringURL used to generate the auth code used during token generation.
↳ client_idstringClient ID of the Access service token used to authenticate with the remote service.
↳ client_secretstringClient secret of the Access service token used to authenticate with the remote service.
↳ scopesarrayThe authorization scopes to request when generating the token used to authenticate with the remove SCIM service.
↳ token_urlstringURL used to generate the token used to authenticate with the remote SCIM service.
↳ deactivate_on_deletebooleanIf false, propagates DELETE requests to the target application for SCIM resources. If true, sets 'active' to false on the SCIM resource. Note: Some targets do not support DELETE operations.
↳ enabledbooleanWhether SCIM provisioning is turned on for this application.
↳ idp_uidstringThe UID of the IdP to use as the source for SCIM resources to provision to this application.
↳ mappingsarrayA list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.
↳ enabledbooleanWhether or not this mapping is enabled.
↳ filterstringA [SCIM filter expression](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2) that matches resources that should be provisioned to this application.
↳ operationsjsonWhether or not this mapping applies to creates, updates, or deletes.
↳ createbooleanWhether or not this mapping applies to create (POST) operations.
↳ deletebooleanWhether or not this mapping applies to DELETE operations.
↳ updatebooleanWhether or not this mapping applies to update (PATCH/PUT) operations.
↳ schemastringWhich SCIM resource type this mapping applies to.
↳ strictnessstringThe level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target. Values: strict, passthrough.
↳ transform_jsonatastringA [JSONata](https://jsonata.org/) expression that transforms the resource before provisioning it in the application.
↳ remote_uristringThe base URI for the application's SCIM-compatible API.
service_auth_401_redirectbooleanReturns a 401 status code when the request is blocked by a Service Auth policy.
session_durationstringThe amount of time that tokens issued for this application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
skip_interstitialbooleanEnables automatic authentication through cloudflared.
tagsarrayThe tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
use_clientless_isolation_app_launcher_urlbooleanDetermines if users can access this application via a clientless browser isolation URL. This allows users to access private domains without connecting to Gateway. The option requires Clientless Browser Isolation to be set up with policies that allow users of this application.
policiesarraypolicies
↳ approval_groupsarrayAdministrators who can approve a temporary authentication request.
↳ approvals_needednumberThe number of approvals needed to obtain access.
↳ email_addressesarrayA list of emails that can approve the access request.
↳ email_list_uuidstringThe UUID of an re-usable email list.
↳ approval_requiredbooleanRequires the user to request access from an administrator at the start of each session.
↳ connection_rulesjsonThe rules that define how users may connect to targets secured by your application.
↳ rdpjsonThe RDP-specific rules that define clipboard behavior for RDP connections.
↳ allowed_clipboard_local_to_remote_formatsarrayClipboard formats allowed when copying from local machine to remote RDP session.
↳ allowed_clipboard_remote_to_local_formatsarrayClipboard formats allowed when copying from remote RDP session to local machine.
↳ isolation_requiredbooleanRequire this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
↳ mfa_configjsonConfigures multi-factor authentication (MFA) settings.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.
↳ purpose_justification_promptstringA custom message that will appear on the purpose justification screen.
↳ purpose_justification_requiredbooleanRequire users to enter a justification when they log in to the application.
↳ session_durationstringThe amount of time that tokens issued for the application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
↳ created_atstringcreated at
↳ decisionstringThe action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action. Values: allow, deny, non_identity, bypass.
↳ excludearrayRules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ idstringThe UUID of the policy
↳ includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ namestringThe name of the Access policy.
↳ requirearrayRules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
↳ updated_atstringupdated at
↳ account_idstringIdentifier.
↳ precedencenumberThe order of execution for this policy. Must be unique for each policy within an app.
saas_appjsonsaas app
↳ auth_typestringIdentifier of the authentication protocol used for the saas app. Required for OIDC. Values: saml, oidc.
↳ consumer_service_urlstringThe service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
↳ created_atstringcreated at
↳ custom_attributesarraycustom attributes
↳ friendly_namestringThe SAML FriendlyName of the attribute.
↳ namestringThe name of the attribute.
↳ name_formatstringA globally unique name for an identity or service provider. Values: urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified, urn:oasis:names:tc:SAML:2.0:attrname-format:basic, urn:oasis:names:tc:SAML:2.0:attrname-format:uri.
↳ requiredbooleanIf the attribute is required when building a SAML assertion.
↳ sourcejsonsource
↳ namestringThe name of the IdP attribute.
↳ name_by_idparrayA mapping from IdP ID to attribute name.
↳ idp_idstringThe UID of the IdP.
↳ source_namestringThe name of the IdP provided attribute.
↳ default_relay_statestringThe URL that the user will be redirected to after a successful login for IDP initiated logins.
↳ idp_entity_idstringThe unique identifier for your SaaS application.
↳ name_id_formatstringThe format of the name identifier sent to the SaaS application. Values: id, email.
↳ name_id_transform_jsonatastringA [JSONata](https://jsonata.org/) expression that transforms an application's user identities into a NameID value for its SAML assertion. This expression should evaluate to a singular string. The output of this expression can override the name_id_format setting.
↳ public_keystringThe Access public certificate that will be used to verify your identity.
↳ saml_attribute_transform_jsonatastringA [JSONata] (https://jsonata.org/) expression that transforms an application's user identities into attribute assertions in the SAML response.
↳ sp_entity_idstringA globally unique name for an identity or service provider.
↳ sso_endpointstringThe endpoint where your SaaS application will send login requests.
↳ updated_atstringupdated at
↳ access_token_lifetimestringThe lifetime of the OIDC Access Token after creation. Valid units are m,h. Must be greater than or equal to 1m and less than or equal to 24h.
↳ allow_pkce_without_client_secretbooleanIf client secret should be required on the token endpoint when authorization_code_with_pkce grant is used.
↳ app_launcher_urlstringThe URL where this applications tile redirects users
↳ client_idstringThe application client id
↳ client_secretstringThe application client secret, only returned on POST request.
↳ custom_claimsarraycustom claims
↳ namestringThe name of the claim.
↳ requiredbooleanIf the claim is required when building an OIDC token.
↳ scopestringThe scope of the claim. Values: groups, profile, email, openid.
↳ sourcejsonsource
↳ namestringThe name of the IdP claim.
↳ name_by_idpjsonA mapping from IdP ID to claim name.
↳ grant_typesarrayThe OIDC flows supported by this application
↳ group_filter_regexstringA regex to filter Cloudflare groups returned in ID token and userinfo endpoint
↳ hybrid_and_implicit_optionsjsonhybrid and implicit options
↳ return_access_token_from_authorization_endpointbooleanIf an Access Token should be returned from the OIDC Authorization endpoint
↳ return_id_token_from_authorization_endpointbooleanIf an ID Token should be returned from the OIDC Authorization endpoint
↳ redirect_urisarrayThe permitted URL's for Cloudflare to return Authorization codes and Access/ID tokens
↳ refresh_token_optionsjsonrefresh token options
↳ lifetimestringHow long a refresh token will be valid for after creation. Valid units are m,h,d. Must be longer than 1m.
↳ scopesarrayDefine the user information shared with access, "offline_access" scope will be automatically enabled if refresh tokens are enabled
app_launcher_logo_urlstringThe image URL of the logo shown in the App Launcher header.
bg_colorstringThe background color of the App Launcher page.
footer_linksarrayThe links in the App Launcher footer.
↳ namestringThe hypertext in the footer link.
↳ urlstringthe hyperlink in the footer link.
header_bg_colorstringThe background color of the App Launcher header.
landing_page_designjsonThe design of the App Launcher landing page shown to users when they log in.
↳ button_colorstringThe background color of the log in button on the landing page.
↳ button_text_colorstringThe color of the text in the log in button on the landing page.
↳ image_urlstringThe URL of the image shown on the landing page.
↳ messagestringThe message shown on the landing page.
↳ titlestringThe title shown on the landing page.
skip_app_launcher_login_pagebooleanDetermines when to skip the App Launcher landing page.
target_criteriaarraytarget criteria
↳ excludejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ includejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ portnumberThe port that the targets use for the chosen communication protocol. A port cannot be assigned to multiple protocols.
↳ requirejsonSelectors within an include, require, or exclude rule. At least one of target_attributes or tags must be non-empty.
↳ tagsjsonMap of target tag keys to values. Values within a key are OR'd.
↳ target_attributesjsonHostname selector map for include, require, or exclude rules. This is distinct from the deprecated top-level target_attributes field and only supports the hostname key.
↳ hostnamearrayhostname
↳ target_attributesjsonContains a map of target attribute keys to target attribute values.
↳ protocolstringThe communication protocol your application secures. Values: RDP.

Cloudflare Update Access Group

Updates a configured Access group. Replaces the configuration; resend all values to retain.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
groupIdstringYesGroup id
apiKeystringYesCloudflare API token
excludejsonNoJSON array. Rules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules. Fields: group, any_valid_service_token, auth_context, auth_method, azureAD, certificate, common_name, geo, device_posture, email_domain, email_list, email, everyone, external_evaluation, github-organization, gsuite, login_method, ip_list, ip, okta, saml, oidc, service_token, linked_app_token, user_risk_score, cloudflare_account_member.
includejsonYesJSON array. Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules. Fields: group, any_valid_service_token, auth_context, auth_method, azureAD, certificate, common_name, geo, device_posture, email_domain, email_list, email, everyone, external_evaluation, github-organization, gsuite, login_method, ip_list, ip, okta, saml, oidc, service_token, linked_app_token, user_risk_score, cloudflare_account_member.
is_defaultbooleanNoWhether this is the default group
namestringYesThe name of the Access group.
requirejsonNoJSON array. Rules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules. Fields: group, any_valid_service_token, auth_context, auth_method, azureAD, certificate, common_name, geo, device_posture, email_domain, email_list, email, everyone, external_evaluation, github-organization, gsuite, login_method, ip_list, ip, okta, saml, oidc, service_token, linked_app_token, user_risk_score, cloudflare_account_member.

Output

ParameterTypeDescription
created_atstringcreated at
excludearrayRules evaluated with a NOT logical operator. To match a policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
idstringUUID.
includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
is_defaultarrayRules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
namestringThe name of the Access group.
requirearrayRules evaluated with an AND logical operator. To match a policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
updated_atstringupdated at

Cloudflare Update Access Policy

Updates a Cloudflare Access (Zero Trust) policy on an application. Cloudflare does not document merge behavior for this PUT, so treat it as a replace: resend all settings to retain, including exclude, require, approval_groups, connection_rules, and mfa_config; omitted rules or security settings may be dropped and widen access. The change applies to live traffic immediately. Read the current policy with "List Access Policies" first. Requires an API token with Account Access: Apps and Policies Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
approval_groupsjsonNoJSON array. Administrators who can approve a temporary authentication request. Fields: approvals_needed, email_addresses, email_list_uuid.
connection_rulesjsonNoJSON object. The rules that define how users may connect to the targets secured by your application. Fields: rdp, ssh.
mfa_configjsonNoJSON object. Configures multi-factor authentication (MFA) settings for infrastructure applications. Fields: allowed_authenticators, mfa_disabled, session_duration.
accountIdstringYesThe Cloudflare account ID. Access applications are account-scoped
appIdstringYesThe Access application ID that owns the policy
policyIdstringYesThe Access policy ID to update
namestringYesName of the policy
decisionstringYesWhat the policy does when it matches: allow, deny, non_identity, or bypass (skip Access entirely)
includestringYesJSON array of Access rules evaluated with OR logic. Example: [{"email_domain":{"domain":"example.com"}}]
excludestringNoJSON array of Access rules evaluated with NOT logic
requirestringNoJSON array of Access rules evaluated with AND logic
precedencenumberNoEvaluation order of the policy within the application
sessionDurationstringNoHow long a session granted by this policy stays valid, e.g. 24h. Leave it unset on a policy attached to an infrastructure-typed application — Cloudflare rejects those with error 12130
approvalRequiredbooleanNoWhether an approver must grant each access request
isolationRequiredbooleanNoWhether the session must run in a remote isolated browser
purposeJustificationRequiredbooleanNoWhether users must state a reason for access
purposeJustificationPromptstringNoPrompt shown when a justification is required
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
approval_groupsarrayAdministrators who can approve a temporary authentication request.
↳ approvals_needednumberThe number of approvals needed to obtain access.
↳ email_addressesarrayA list of emails that can approve the access request.
↳ email_list_uuidstringThe UUID of an re-usable email list.
approval_requiredbooleanRequires the user to request access from an administrator at the start of each session.
connection_rulesjsonThe rules that define how users may connect to the targets secured by your application.
↳ rdpjsonThe RDP-specific rules that define clipboard behavior for RDP connections.
↳ allowed_clipboard_local_to_remote_formatsarrayClipboard formats allowed when copying from local machine to remote RDP session.
↳ allowed_clipboard_remote_to_local_formatsarrayClipboard formats allowed when copying from remote RDP session to local machine.
↳ sshjsonThe SSH-specific rules that define how users may connect to the targets secured by your application.
↳ allow_email_aliasbooleanEnables using Identity Provider email alias as SSH username.
↳ usernamesarrayContains the Unix usernames that may be used when connecting over SSH.
isolation_requiredbooleanRequire this application to be served in an isolated browser for users matching this policy. 'Client Web Isolation' must be on for the account in order to use this feature.
mfa_configjsonConfigures multi-factor authentication (MFA) settings for infrastructure applications.
↳ allowed_authenticatorsarrayLists the MFA methods that users can authenticate with. For infrastructure applications, supported values are piv_key and ssh_fido2_key.
↳ mfa_disabledbooleanIndicates whether to disable MFA for this resource. This option is available at the application and policy level.
↳ session_durationstringDefines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples: 5m or 24h.
purpose_justification_promptstringA custom message that will appear on the purpose justification screen.
purpose_justification_requiredbooleanRequire users to enter a justification when they log in to the application.
session_durationstringThe amount of time that tokens issued for the application will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.
created_atstringcreated at
decisionstringThe action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action. Values: allow, deny, non_identity, bypass.
excludearrayRules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
idstringThe UUID of the policy
includearrayRules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
namestringThe name of the Access policy.
requirearrayRules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.
↳ groupjsongroup
↳ idstringThe ID of a previously created Access group.
↳ any_valid_service_tokenjsonAn empty object which matches on all service tokens.
↳ auth_contextjsonauth context
↳ ac_idstringThe ACID of an Authentication context.
↳ idstringThe ID of an Authentication context.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ auth_methodjsonauth method
↳ auth_methodstringThe type of authentication method https://datatracker.ietf.org/doc/html/rfc8176#section-2.
↳ azureADjsonazureAD
↳ idstringThe ID of an Azure group.
↳ identity_provider_idstringThe ID of your Azure identity provider.
↳ certificatejsoncertificate
↳ common_namejsoncommon name
↳ common_namestringThe common name to match.
↳ geojsongeo
↳ country_codestringThe country code that should be matched.
↳ device_posturejsondevice posture
↳ account_idstringIdentifier.
↳ integration_uidstringThe ID of a device posture integration.
↳ email_domainjsonemail domain
↳ domainstringThe email domain to match.
↳ email_listjsonemail list
↳ idstringThe ID of a previously created email list.
↳ emailjsonemail
↳ emailstringThe email of the user.
↳ everyonejsonAn empty object which matches on all users.
↳ external_evaluationjsonexternal evaluation
↳ evaluate_urlstringThe API endpoint containing your business logic.
↳ keys_urlstringThe API endpoint containing the key that Access uses to verify that the response came from your API.
↳ github-organizationjsongithub-organization
↳ identity_provider_idstringThe ID of your Github identity provider.
↳ namestringThe name of the organization.
↳ teamstringThe name of the team
↳ gsuitejsongsuite
↳ emailstringThe email of the Google Workspace group.
↳ identity_provider_idstringThe ID of your Google Workspace identity provider.
↳ login_methodjsonlogin method
↳ idstringThe ID of an identity provider.
↳ ip_listjsonip list
↳ idstringThe ID of a previously created IP list.
↳ ipjsonip
↳ ipstringAn IPv4 or IPv6 CIDR block.
↳ oktajsonokta
↳ identity_provider_idstringThe ID of your Okta identity provider.
↳ namestringThe name of the Okta group.
↳ samljsonsaml
↳ attribute_namestringThe name of the SAML attribute.
↳ attribute_valuestringThe SAML attribute value to look for.
↳ identity_provider_idstringThe ID of your SAML identity provider.
↳ oidcjsonoidc
↳ claim_namestringThe name of the OIDC claim.
↳ claim_valuestringThe OIDC claim value to look for.
↳ identity_provider_idstringThe ID of your OIDC identity provider.
↳ service_tokenjsonservice token
↳ token_idstringThe ID of a Service Token.
↳ linked_app_tokenjsonlinked app token
↳ app_uidstringThe ID of an Access OIDC SaaS application
↳ user_risk_scorejsonuser risk score
↳ user_risk_scorearrayA list of risk score levels to match. Values can be low, medium, high, or unscored.
↳ cloudflare_account_memberjsoncloudflare account member
↳ account_idstringIdentifier.
updated_atstringupdated at
account_idstringIdentifier.
precedencenumberThe order of execution for this policy. Must be unique for each policy within an app.

Cloudflare Update Access Service Token

Updates a configured service token. Replaces the configuration; resend all values to retain.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
serviceTokenIdstringYesService token id
apiKeystringYesCloudflare API token
client_secret_versionnumberNoA version number identifying the current client_secret associated with the service token. Incrementing it triggers a rotation; the previous secret will still be accepted until the time indicated by previous_client_secret_expires_at. If the service token was reported as leaked, previous_client_secret_expires_at is not required, may not be in the future, and the previous secret is discarded immediately.
durationstringNoThe duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
enabledbooleanNoWhether the service token is enabled. A disabled service token cannot be used to authenticate; both its current and previous client_secret stop being accepted, but the token itself is preserved and can be re-enabled. A service token reported as leaked is disabled automatically and cannot be re-enabled until its secret is rotated; attempting to do so returns a 409. Defaults to enabled when omitted on create.
namestringNoThe name of the service token.
previous_client_secret_expires_atstringNoThe expiration of the previous client_secret. This can be modified at any point after a rotation. For example, you may extend it further into the future if you need more time to update services with the new secret; or move it into the past to immediately invalidate the previous token in case of compromise. Rotating a service token that was reported as leaked discards the previous secret entirely, so no grace period can be set.

Output

ParameterTypeDescription
client_idstringThe Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.
created_atstringcreated at
durationstringThe duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).
enabledbooleanWhether the service token is enabled.
expires_atstringexpires at
idstringUUID.
last_seen_atstringlast seen at
leak_report_urlstringWhere the leaked client_secret was found, if provided by the reporter. Omitted if the token has not been reported as leaked.
leak_reported_atstringWhen a secret scanning partner reported this service token's client_secret as leaked. A leaked service token is disabled and must be rotated before it can be re-enabled. Cleared once the secret is rotated. Omitted if the token has not been reported as leaked.
leak_reporterstringThe secret scanning partner that reported the leak. Omitted if the token has not been reported as leaked.
namestringThe name of the service token.
updated_atstringupdated at

Cloudflare Update DNS Record

Updates an existing DNS record for a zone.

Inputs and outputs

Input

ParameterTypeRequiredDescription
clearCommentbooleanNoClear the stored DNS record comment
settingsjsonNoJSON object. Settings for the DNS record. Fields: ipv4_only, ipv6_only, flatten_cname.
private_routingbooleanNoEnables private network routing to the origin.
datajsonNoJSON object. Structured record data. The available fields depend on the DNS record type. Fields: flags, tag, value, algorithm, certificate, key_tag, type, protocol, public_key, digest, digest_type, priority, target, altitude, lat_degrees, lat_direction, lat_minutes, lat_seconds, long_degrees, long_direction, long_minutes, long_seconds, precision_horz, precision_vert, size, order, preference, regex, replacement, service, matching_type, selector, usage, port, weight, fingerprint.
include_shadow_metadatabooleanNoWhether to include shadow metadata in the meta field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
zoneIdstringYesThe zone ID containing the DNS record
recordIdstringYesThe DNS record ID to update
typestringNoDNS record type (e.g., "A", "AAAA", "CNAME", "MX", "TXT")
namestringNoDNS record name
contentstringNoDNS record content (e.g., IP address)
ttlnumberNoTime to live in seconds (1 = automatic)
proxiedbooleanNoWhether to enable Cloudflare proxy
prioritynumberNoRecord priority. Cloudflare accepts this top-level field for MX and URI records only; use the data object for structured records such as SRV (priority, weight, port, target)
commentstringNoComment for the DNS record
tagsstringNoComma-separated tags for the DNS record
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
commentstringComments or notes about the DNS record. This field has no effect on DNS responses.
namestringComplete DNS record name, including the zone name, in Punycode.
proxiedbooleanWhether the record is receiving the performance and security benefits of Cloudflare.
settingsjsonSettings for the DNS record.
↳ ipv4_onlybooleanWhen enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
↳ ipv6_onlybooleanWhen enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.
↳ flatten_cnamebooleanIf enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened.
tagsarrayCustom tags for the DNS record. This field has no effect on DNS responses.
ttlnumberTime To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. Values: 1.
contentstringFormatted URI content. See 'data' to set URI properties.
private_routingbooleanEnables private network routing to the origin.
typestringRecord type. Values: A, AAAA, CNAME, MX, NS, OPENPGPKEY, PTR, TXT, CAA, CERT, DNSKEY, DS, HTTPS, LOC, NAPTR, SMIMEA, SRV, SSHFP, SVCB, TLSA, URI.
prioritynumberRequired for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map.
datajsonStructured record data. The available fields depend on the DNS record type.
↳ flagsjsonFlags.
↳ tagstringName of the property controlled by this record (e.g.: issue, issuewild, iodef).
↳ valuestringValue.
↳ algorithmnumberAlgorithm.
↳ certificatestringCertificate.
↳ key_tagnumberKey Tag.
↳ typenumberType.
↳ protocolnumberProtocol.
↳ public_keystringPublic Key.
↳ digeststringDigest.
↳ digest_typenumberDigest Type.
↳ prioritynumberPriority.
↳ targetstringThe record content.
↳ altitudenumberAltitude of location in meters.
↳ lat_degreesnumberDegrees of latitude.
↳ lat_directionstringLatitude direction. Values: N, S.
↳ lat_minutesnumberMinutes of latitude.
↳ lat_secondsnumberSeconds of latitude.
↳ long_degreesnumberDegrees of longitude.
↳ long_directionstringLongitude direction. Values: E, W.
↳ long_minutesnumberMinutes of longitude.
↳ long_secondsnumberSeconds of longitude.
↳ precision_horznumberHorizontal precision of location.
↳ precision_vertnumberVertical precision of location.
↳ sizenumberSize of location in meters.
↳ ordernumberOrder.
↳ preferencenumberPreference.
↳ regexstringRegex.
↳ replacementstringReplacement.
↳ servicestringService.
↳ matching_typenumberMatching Type.
↳ selectornumberSelector.
↳ usagenumberUsage.
↳ portnumberThe port of the service.
↳ weightnumberThe record weight.
↳ fingerprintstringFingerprint.
comment_modified_onstringWhen the record comment was last modified. Omitted if there is no comment.
created_onstringWhen the record was created.
idstringIdentifier.
metajsonExtra Cloudflare-specific metadata about the record.
↳ dead_gluebooleanWhether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it.
↳ is_gluebooleanWhether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records).
↳ shadowed_byarrayIDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
↳ shadowed_records_countnumberNumber of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records).
modified_onstringWhen the record was last modified.
proxiablebooleanWhether the record can be proxied by Cloudflare or not.
tags_modified_onstringWhen the record tags were last modified. Omitted if there are no tags.
zone_idstringLegacy DNS response zone ID when returned by Cloudflare
zone_namestringLegacy DNS response zone name when returned by Cloudflare
lockedbooleanLegacy DNS response lock flag when returned by Cloudflare

Cloudflare Update R2 Bucket Cors

Replaces the Cross-Origin Resource Sharing (CORS) rules for an R2 bucket. Rules specify which origins, methods, and headers are allowed for browser requests to objects in the bucket. Replaces the configuration; resend all values to retain.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
bucketNamestringYesBucket name
apiKeystringYesCloudflare API token
rulesjsonNoJSON array. rules Fields: allowed, exposeHeaders, id, maxAgeSeconds.
jurisdictionstringNoJurisdiction where objects in this bucket are guaranteed to be stored.

Output

ParameterTypeDescription
successbooleanWhether Cloudflare accepted the operation

Cloudflare Update R2 Bucket Lifecycle

Replaces the object lifecycle rules for an R2 bucket. Rules match object-key prefixes and can expire objects, abort incomplete multipart uploads, or transition objects to Infrequent Access storage. Replaces the configuration; resend all values to retain.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
bucketNamestringYesBucket name
apiKeystringYesCloudflare API token
rulesstringYesComplete JSON array of lifecycle rules. Read the current rules first and include every rule to retain. Use [] only to remove all lifecycle rules. Fields: abortMultipartUploadsTransition, conditions, deleteObjectsTransition, enabled, id, storageClassTransitions.
jurisdictionstringNoJurisdiction where objects in this bucket are guaranteed to be stored.

Output

ParameterTypeDescription
successbooleanWhether Cloudflare accepted the operation

Cloudflare Update Rate Limiting Rule

Updates a rate limiting rule in the http_ratelimit phase entry point ruleset of a zone, using the current Rulesets-based rate limiting API. Cloudflare replaces the rule definition rather than merging it, so send the complete rule — every field you omit is reset. Run "List Rate Limiting Rules" first to read the current definition and get the ruleset ID. Requires an API token with Zone WAF Edit.

Inputs and outputs

Input

ParameterTypeRequiredDescription
exposed_credential_checkjsonNoJSON object. Configuration for exposed credential checking. Fields: password_expression, username_expression.
positionjsonNoJSON object. An object configuring where the rule will be placed. Fields: before, after, index.
score_per_periodnumberNoThe score threshold per period for which the action will be executed the first time.
score_response_header_namestringNoA response header name provided by the origin, which contains the score to increment rate limit counter with.
dry_runbooleanNodry run
zoneIdstringYesThe zone ID that owns the rule
rulesetIdstringYesThe http_ratelimit entry point ruleset ID, as returned by "List Rate Limiting Rules"
ruleIdstringYesThe rate limiting rule ID to update
expressionstringYesCloudflare filter expression selecting the requests the rule applies to
characteristicsstringYesComma-separated counting characteristics. cf.colo.id is mandatory. ip.src and cf.unique_visitor_id are mutually exclusive — include at most one.
periodnumberYesCounting window in seconds. Cloudflare accepts only 10, 60, 120, 300, 600, or 3600
requestsPerPeriodnumberYesNumber of requests allowed within the counting period before the action fires
actionstringYesAction applied once the limit is exceeded: block, managed_challenge, js_challenge, challenge, or log. Required because this endpoint replaces the rule rather than merging into it — a defaulted action would silently convert an existing log or challenge rule into a hard block
mitigationTimeoutnumberNoSeconds the action stays applied. Cloudflare accepts only 0, 10, 60, 120, 300, 600, 3600, or 86400
counting_expressionstringNoOptional expression defining which requests are counted
requestsToOriginbooleanNoWhen true, only requests that reach the origin are counted
descriptionstringNoHuman-readable description of the rule
enabledbooleanNoWhether the rule is enabled
refstringNoReference tag that stays stable across rule updates. Because the update replaces the rule, omitting it resets the tag to the rule ID and breaks anything matching on the old value
actionParametersstringNoJSON object of action-specific parameters for the mitigation action, e.g. {"response":{"status_code":429,"content":"{"error":"rate limited"}","content_type":"application/json"}} for a custom block response. Because the update replaces the rule, omitting it resets action_parameters to {} and the rule falls back to Cloudflare's default block page
loggingstringNoJSON logging configuration to preserve, e.g. {"enabled":true}. Omitting it on a rule that had logging configured resets it to the default
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Update Ruleset

Updates the description and rules of a zone ruleset, creating a new version. Read the current rules with "Get Ruleset" before replacing the list. The rules array replaces the complete list: include every existing rule you want to keep; omitted rules are removed. Use "Create Ruleset Rule" to add a single rule without replacing the list.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesZone id
rulesetIdstringYesRuleset id
apiKeystringYesCloudflare API token
descriptionstringNoAn informative description of the ruleset.
rulesjsonNoJSON array replacing the complete rule list. Read "Get Ruleset" first and include every rule to retain; omitted rules are removed, and [] removes all rules. Fields: action, action_parameters, categories, description, enabled, exposed_credential_check, expression, id, last_updated, logging, ratelimit, ref, version.
dry_runbooleanNoValidates the request without persisting changes when set to true. Responses that normally return 200 return result: null; endpoints that normally return 204 continue to return 204.

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Update Ruleset Rule

Updates a rule in a zone ruleset. Cloudflare replaces the rule definition rather than merging it, so you must send every field you want the rule to keep — any field you omit is reset to its default. Read the current rule with "Get Ruleset" first. Requires an API token with Zone WAF Edit (or another matching ruleset Write permission).

Inputs and outputs

Input

ParameterTypeRequiredDescription
exposed_credential_checkjsonNoJSON object. Configuration for exposed credential checking. Fields: password_expression, username_expression.
positionjsonNoJSON object. An object configuring where the rule will be placed. Fields: before, after, index.
dry_runbooleanNodry run
zoneIdstringYesThe zone ID that owns the ruleset
rulesetIdstringYesThe ruleset ID containing the rule
ruleIdstringYesThe rule ID to update
actionstringYesThe action the rule performs, e.g. block, challenge, js_challenge, managed_challenge, log, skip, or execute. Required because this endpoint replaces the rule definition — omitting it resets the stored action
expressionstringYesCloudflare filter expression selecting matching requests. Required because this endpoint replaces the rule definition — omitting it resets the stored expression
descriptionstringNoHuman-readable description of the rule
enabledbooleanNoWhether the rule is enabled
refstringNoReference tag that stays stable across rule updates. Because the update replaces the rule, omitting it resets the tag to the rule ID and breaks anything matching on the old value
actionParametersstringNoJSON object of action-specific parameters, e.g. {"id":"<MANAGED_RULESET_ID>","overrides":{"rules":[{"id":"<RULE_ID>","action":"log","enabled":true,"score_threshold":40}]}}. Required on an execute rule and must be sent on every update: the endpoint replaces the rule, so omitting it resets action_parameters to {} — which unbinds the managed ruleset the rule deploys and every override under it
ratelimitstringNoJSON rate limiting configuration to preserve on a rule in the http_ratelimit phase, e.g. {"characteristics":["cf.colo.id","ip.src"],"period":60,"requests_per_period":100}. Because the update replaces the rule, omitting this on a rate limiting rule stops it rate limiting
loggingstringNoJSON logging configuration to preserve, e.g. {"enabled":true}. Omitting it on a rule that had logging configured resets it to the default
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
descriptionstringAn informative description of the ruleset.
idstringThe unique ID of the ruleset.
last_updatedstringThe timestamp of when the ruleset was last modified.
namestringThe human-readable name of the ruleset.
versionstringThe version of the ruleset.
kindstringThe kind of the ruleset. Values: managed, custom, root, zone.
phasestringThe phase of the ruleset.
rulesarrayThe list of rules in the ruleset.
↳ actionstringThe action to perform when the rule matches.
↳ action_parametersjsonThe parameters configuring the rule's action.
↳ responsejsonThe response to show when the block is applied.
↳ contentstringThe content to return.
↳ content_typestringThe type of the content to return.
↳ status_codenumberThe status code to return.
↳ algorithmsarrayCustom order for compression algorithms.
↳ namestringName of the compression algorithm to enable. Values: none, auto, default, gzip, brotli, zstd.
↳ idstringThe ID of the ruleset to execute.
↳ matched_datajsonThe configuration to use for matched data logging.
↳ public_keystringThe public key to encrypt matched data logs with.
↳ overridesjsonA set of overrides to apply to the target ruleset.
↳ actionstringAn action to override all rules with. This option has lower precedence than rule and category overrides.
↳ categoriesarrayA list of category-level overrides. This option has the second-highest precedence after rule-level overrides.
↳ actionstringThe action to override rules in the category with.
↳ categorystringThe name of the category to override.
↳ enabledbooleanWhether to enable execution of rules in the category.
↳ sensitivity_levelstringThe sensitivity level to use for rules in the category. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ enabledbooleanWhether to enable execution of all rules. This option has lower precedence than rule and category overrides.
↳ rulesarrayA list of rule-level overrides. This option has the highest precedence.
↳ actionstringThe action to override the rule with.
↳ enabledbooleanWhether to enable execution of the rule.
↳ idstringThe ID of the rule to override.
↳ score_thresholdnumberThe score threshold to use for the rule.
↳ sensitivity_levelstringThe sensitivity level to use for the rule. This option is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ sensitivity_levelstringA sensitivity level to set for all rules. This option has lower precedence than rule and category overrides and is only applicable for DDoS phases. Values: default, medium, low, eoff.
↳ cookie_fieldsarrayThe cookie fields to log.
↳ namestringThe name of the cookie.
↳ raw_response_fieldsarrayThe raw response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ request_fieldsarrayThe raw request fields to log.
↳ namestringThe name of the header.
↳ response_fieldsarrayThe transformed response fields to log.
↳ namestringThe name of the response header.
↳ preserve_duplicatesbooleanWhether to log duplicate values of the same header.
↳ transformed_request_fieldsarrayThe transformed request fields to log.
↳ namestringThe name of the header.
↳ from_listjsonA redirect based on a bulk list lookup.
↳ keystringAn expression that evaluates to the list lookup key.
↳ namestringThe name of the list to match against.
↳ from_valuejsonA redirect based on the request properties.
↳ preserve_query_stringbooleanWhether to keep the query string of the original request.
↳ status_codenumberThe status code to use for the redirect. Values: 301, 302, 303, 307, 308.
↳ target_urljsonA URL to redirect the request to.
↳ expressionstringAn expression that evaluates to a URL to redirect the request to.
↳ valuestringA URL to redirect the request to.
↳ headersjsonA map of headers to rewrite.
↳ urijsonA URI query rewrite.
↳ pathjsonA URI path rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI path to.
↳ valuestringA value to rewrite the URI path to.
↳ queryjsonA URI query rewrite.
↳ expressionstringAn expression that evaluates to a value to rewrite the URI query to.
↳ valuestringA value to rewrite the URI query to.
↳ originbooleanWhether to propagate the rewritten URI to origin.
↳ host_headerstringA value to rewrite the HTTP host header to.
↳ originjsonAn origin to route to.
↳ hoststringA resolved host to route to.
↳ portnumberA destination port to route to.
↳ snijsonA Server Name Indication (SNI) override.
↳ valuestringA value to override the SNI to.
↳ incrementnumberA delta to change the score by, which can be either positive or negative.
↳ content_typestringThe content type header to set with the error response. Values: application/json, text/html, text/plain, text/xml.
↳ status_codenumberThe status code to use for the error.
↳ contentstringThe response content.
↳ asset_namestringThe name of a custom asset to serve as the error response.
↳ immutablejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ max-agejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ must-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ must-understandjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-cachejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ no-storejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ no-transformjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ privatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ qualifiersarrayOptional list of header names to qualify the directive (e.g., for "private" or "no-cache" directives).
↳ proxy-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ publicjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ s-maxagejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-if-errorjsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ stale-while-revalidatejsonRemove the directive.
↳ cloudflare_onlybooleanWhether the directive should only be applied to the Cloudflare CDN cache.
↳ operationstringThe operation to perform on the cache-control directive. Values: set, remove.
↳ valuenumberThe duration value in seconds for the directive.
↳ additional_cacheable_portsarrayA list of additional ports that caching should be enabled on.
↳ browser_ttljsonHow long client browsers should cache the response. Cloudflare cache purge will not purge content cached on client browsers, so high browser TTLs may lead to stale content.
↳ defaultnumberThe browser TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe browser TTL mode. Values: respect_origin, bypass_by_default, override_origin, bypass.
↳ cachebooleanWhether the request's response from the origin is eligible for caching. Caching itself will still depend on the cache control header and your other caching configurations.
↳ cache_keyjsonWhich components of the request are included in or excluded from the cache key Cloudflare uses to store the response in cache.
↳ cache_by_device_typebooleanWhether to separate cached content based on the visitor's device type.
↳ cache_deception_armorbooleanWhether to protect from web cache deception attacks, while allowing static assets to be cached.
↳ custom_keyjsonWhich components of the request are included or excluded from the cache key.
↳ cookiejsonWhich cookies to include in the cache key.
↳ check_presencearrayA list of cookies to check for the presence of. The presence of these cookies is included in the cache key.
↳ includearrayA list of cookies to include in the cache key.
↳ headerjsonWhich headers to include in the cache key.
↳ check_presencearrayA list of headers to check for the presence of. The presence of these headers is included in the cache key.
↳ containsjsonA mapping of header names to a list of values. If a header is present in the request and contains any of the values provided, its value is included in the cache key.
↳ exclude_originbooleanWhether to exclude the origin header in the cache key.
↳ includearrayA list of headers to include in the cache key.
↳ hostjsonHow to use the host in the cache key.
↳ resolvedbooleanWhether to use the resolved host in the cache key.
↳ query_stringjsonWhich query string parameters to include in or exclude from the cache key.
↳ excludejsonWhich query string parameters to exclude from the cache key.
↳ allbooleanWhether to exclude all query string parameters from the cache key. Values: True.
↳ listarrayA list of query string parameters to exclude from the cache key.
↳ includejsonWhich query string parameters to include in the cache key.
↳ allbooleanWhether to include all query string parameters in the cache key. Values: True.
↳ listarrayA list of query string parameters to include in the cache key.
↳ userjsonHow to use characteristics of the request user agent in the cache key.
↳ device_typebooleanWhether to use the user agent's device type in the cache key.
↳ geobooleanWhether to use the user agents's country in the cache key.
↳ langbooleanWhether to use the user agent's language in the cache key.
↳ ignore_query_strings_orderbooleanWhether to treat requests with the same query parameters the same, regardless of the order those query parameters are in.
↳ cache_reservejsonSettings to determine whether the request's response from origin is eligible for Cache Reserve (requires a Cache Reserve add-on plan).
↳ eligiblebooleanWhether Cache Reserve is enabled. If this is true and a request meets eligibility criteria, Cloudflare will write the resource to Cache Reserve.
↳ minimum_file_sizenumberThe minimum file size eligible for storage in Cache Reserve.
↳ edge_ttljsonHow long the Cloudflare edge network should cache the response.
↳ defaultnumberThe edge TTL (in seconds) if you choose the "override_origin" mode.
↳ modestringThe edge TTL mode. Values: respect_origin, bypass_by_default, override_origin.
↳ status_code_ttlarrayA list of TTLs to apply to specific status codes or status code ranges.
↳ status_codenumberA single status code to apply the TTL to.
↳ status_code_rangejsonA range of status codes to apply the TTL to.
↳ fromnumberThe lower bound of the range.
↳ tonumberThe upper bound of the range.
↳ valuenumberThe time to cache the response for (in seconds). A value of 0 is equivalent to setting the cache control header with the value "no-cache". A value of -1 is equivalent to setting the cache control header with the value of "no-store".
↳ origin_cache_controlbooleanWhether Cloudflare will aim to strictly adhere to RFC 7234.
↳ origin_error_page_passthrubooleanWhether to generate Cloudflare error pages for issues from the origin server.
↳ origin_range_requestsjsonControls whether Cloudflare fetches a large asset from the origin as a series of range requests instead of one whole-body request.
↳ modestringWhether to use range requests. default is the behaviour the zone gets without this rule. Values: on, off, default.
↳ read_timeoutnumberA timeout value between two successive read operations to use for your origin server. Historically, the timeout value between two read options from Cloudflare to an origin server is 100 seconds. If you are attempting to reduce HTTP 524 errors because of timeouts from an origin server, try increasing this timeout value.
↳ respect_strong_etagsbooleanWhether Cloudflare should respect strong ETag (entity tag) headers. If false, Cloudflare converts strong ETag headers to weak ETag headers.
↳ serve_stalejsonWhen to serve stale content from cache.
↳ disable_stale_while_updatingbooleanWhether Cloudflare should disable serving stale content while getting the latest content from the origin.
↳ shared_dictionaryjsonConfiguration for shared dictionary compression. When set, Cloudflare injects Use-As-Dictionary headers on matching cacheable responses.
↳ match_patternstringURL pattern for the Use-As-Dictionary match field. This pattern specifies which URLs can use this response as a dictionary.
↳ strip_etagsbooleanWhether to strip ETag headers from the origin response before caching.
↳ strip_last_modifiedbooleanWhether to strip Last-Modified headers from the origin response before caching.
↳ strip_set_cookiebooleanWhether to strip Set-Cookie headers from the origin response before caching.
↳ varyjsonControls how cached responses vary based on request headers. default is required by the API and applies to any Vary response header that does not have a per-header override.
↳ defaultjsonControls how response Vary headers without a per-header override contribute to the cache key.
↳ actionstringHow the header value is treated when building the cache key. Values: bypass, passthrough, normalize.
↳ headersjsonA mapping of lowercase request header names to their vary configuration.
↳ operationstringThe operation to perform on the cache tags. Values: add, remove, set.
↳ valuesarrayA list of cache tag values.
↳ expressionstringAn expression that evaluates to an array of cache tag values.
↳ automatic_https_rewritesbooleanWhether to enable Automatic HTTPS Rewrites.
↳ autominifyjsonWhich file extensions to minify automatically.
↳ cssbooleanWhether to minify CSS files.
↳ htmlbooleanWhether to minify HTML files.
↳ jsbooleanWhether to minify JavaScript files.
↳ bicbooleanWhether to enable Browser Integrity Check (BIC).
↳ content_converterbooleanWhether to enable content conversion (e.g., HTML to Markdown).
↳ disable_appsbooleanWhether to disable Cloudflare Apps. Values: True.
↳ disable_pay_per_crawlbooleanWhether to disable Pay Per Crawl. Values: True.
↳ disable_rumbooleanWhether to disable Real User Monitoring (RUM). Values: True.
↳ disable_zarazbooleanWhether to disable Zaraz. Values: True.
↳ email_obfuscationbooleanWhether to enable Email Obfuscation.
↳ fontsbooleanWhether to enable Cloudflare Fonts.
↳ hotlink_protectionbooleanWhether to enable Hotlink Protection.
↳ miragebooleanWhether to enable Mirage.
↳ opportunistic_encryptionbooleanWhether to enable Opportunistic Encryption.
↳ polishstringThe Polish level to configure. Values: off, lossless, lossy, webp.
↳ redirects_for_ai_trainingbooleanWhether to redirect verified AI training crawlers to canonical URLs found in the HTML response.
↳ request_body_bufferingstringThe request body buffering mode. Values: none, standard, full.
↳ response_body_bufferingstringThe response body buffering mode. Values: none, standard.
↳ rocket_loaderbooleanWhether to enable Rocket Loader.
↳ security_levelstringThe Security Level to configure. Values: off, essentially_off, low, medium, high, under_attack.
↳ server_side_excludesbooleanWhether to enable Server-Side Excludes.
↳ sslstringThe SSL level to configure. Values: off, flexible, full, strict, origin_pull.
↳ sxgbooleanWhether to enable Signed Exchanges (SXG).
↳ webmcp_enabledbooleanWhether to serve the WebMCP bridge script, which exposes the page's tools to browser AI agents.
↳ webmcp_packsarrayBundled WebMCP tool packs to activate for matching requests. An empty array disables all packs. Omitting this parameter leaves the pack selection unchanged. Does not enable the WebMCP bridge itself.
↳ phasestringA phase to skip the execution of. This option is only compatible with the products option. Values: current.
↳ phasesarrayA list of phases to skip the execution of. This option is incompatible with the rulesets option.
↳ productsarrayA list of legacy security products to skip the execution of.
↳ rulesjsonA mapping of ruleset IDs to a list of rule IDs in that ruleset to skip the execution of. This option is incompatible with the ruleset option.
↳ rulesetstringA ruleset to skip the execution of. This option is incompatible with the rulesets option. Values: current.
↳ rulesetsarrayA list of ruleset IDs to skip the execution of. This option is incompatible with the ruleset and phases options.
↳ link_mazejsonEnables the link maze transformation on the response.
↳ categoriesarrayThe categories of the rule.
↳ descriptionstringAn informative description of the rule.
↳ enabledbooleanWhether the rule should be executed.
↳ exposed_credential_checkjsonConfiguration for exposed credential checking.
↳ password_expressionstringAn expression that selects the password used in the credentials check.
↳ username_expressionstringAn expression that selects the user ID used in the credentials check.
↳ expressionstringThe expression defining which traffic will match the rule.
↳ idstringThe unique ID of the rule.
↳ last_updatedstringThe timestamp of when the rule was last modified.
↳ loggingjsonAn object configuring the rule's logging behavior.
↳ enabledbooleanWhether to generate a log when the rule matches.
↳ ratelimitjsonAn object configuring the rule's rate limit behavior.
↳ characteristicsarrayCharacteristics of the request on which the rate limit counter will be incremented.
↳ counting_expressionstringAn expression that defines when the rate limit counter should be incremented. It defaults to the same as the rule's expression.
↳ mitigation_timeoutnumberPeriod of time in seconds after which the action will be disabled following its first execution.
↳ periodnumberPeriod in seconds over which the counter is being incremented.
↳ requests_per_periodnumberThe threshold of requests per period after which the action will be executed for the first time.
↳ requests_to_originbooleanWhether counting is only performed when an origin is reached.
↳ score_per_periodnumberThe score threshold per period for which the action will be executed the first time.
↳ score_response_header_namestringA response header name provided by the origin, which contains the score to increment rate limit counter with.
↳ refstringThe reference of the rule (the rule's ID by default).
↳ versionstringThe version of the rule.

Cloudflare Update Tunnel

Updates the name or secret of an existing Cloudflare Tunnel.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
tunnelIdstringYesTunnel id
apiKeystringYesCloudflare API token
namestringNoA user-friendly name for a tunnel.
tunnel_secretstringNoSets the password required to run a locally-managed tunnel. Must be at least 32 bytes and encoded as a base64 string.

Output

ParameterTypeDescription
account_tagstringCloudflare account ID
config_srcstringIndicates if this is a locally or remotely configured tunnel. If local, manage the tunnel using a YAML file on the origin machine. If cloudflare, manage the tunnel on the Zero Trust dashboard. Values: local, cloudflare.
connectionsarrayThe Cloudflare Tunnel connections between your origin and Cloudflare's edge.
↳ client_idstringUUID of the Cloudflare Tunnel connector.
↳ client_versionstringThe cloudflared version used to establish this connection.
↳ colo_namestringThe Cloudflare data center used for this connection.
↳ idstringUUID of the Cloudflare Tunnel connection.
↳ is_pending_reconnectbooleanCloudflare continues to track connections for several minutes after they disconnect. This is an optimization to improve latency and reliability of reconnecting. If true, the connection has disconnected but is still being tracked. If false, the connection is actively serving traffic.
↳ opened_atstringTimestamp of when the connection was established.
↳ origin_ipstringThe public IP address of the host running cloudflared.
↳ uuidstringUUID of the Cloudflare Tunnel connection.
conns_active_atstringTimestamp of when the tunnel established at least one connection to Cloudflare's edge. If null, the tunnel is inactive.
conns_inactive_atstringTimestamp of when the tunnel became inactive (no connections to Cloudflare's edge). If null, the tunnel is active.
created_atstringTimestamp of when the resource was created.
deleted_atstringTimestamp of when the resource was deleted. If null, the resource has not been deleted.
idstringUUID of the tunnel.
metadatajsonMetadata associated with the tunnel.
namestringA user-friendly name for a tunnel.
remote_configbooleanIf true, the tunnel can be configured remotely from the Zero Trust dashboard. If false, the tunnel must be configured locally on the origin machine.
statusstringThe status of the tunnel.
tun_typestringThe type of tunnel. Values: cfd_tunnel, warp_connector, warp, magic, ip_sec, gre, cni.

Cloudflare Update Tunnel Configuration

Replaces the configuration for a remotely managed Cloudflare Tunnel, including its ingress rules and origin request settings. Replaces the configuration; resend all values to retain.

Inputs and outputs

Input

ParameterTypeRequiredDescription
accountIdstringYesAccount id
tunnelIdstringYesTunnel id
apiKeystringYesCloudflare API token
configjsonNoJSON object. The tunnel configuration and ingress rules. Fields: ingress, originRequest, warp-routing.

Output

ParameterTypeDescription
account_idstringIdentifier.
configjsonThe tunnel configuration and ingress rules.
↳ ingressarrayList of public hostname definitions. At least one ingress rule needs to be defined for the tunnel.
↳ hostnamestringPublic hostname for this service.
↳ originRequestjsonConfiguration parameters for the public hostname specific connection settings between cloudflared and origin server.
↳ accessjsonFor all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.
↳ audTagarrayAccess applications that are allowed to reach this hostname for this Tunnel. Audience tags can be identified in the dashboard or via the List Access policies API.
↳ requiredbooleanDeny traffic that has not fulfilled Access authorization.
↳ teamNamestringteamName
↳ caPoolstringPath to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.
↳ connectTimeoutnumberTimeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.
↳ disableChunkedEncodingbooleanDisables chunked transfer encoding. Useful if you are running a WSGI server.
↳ http2OriginbooleanAttempt to connect to origin using HTTP2. Origin must be configured as https.
↳ httpHostHeaderstringSets the HTTP Host header on requests sent to the local service.
↳ keepAliveConnectionsnumberMaximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.
↳ keepAliveTimeoutnumberTimeout after which an idle keepalive connection can be discarded.
↳ matchSNItoHostbooleanAuto configure the Hostname on the origin server certificate.
↳ noHappyEyeballsbooleanDisable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.
↳ noTLSVerifybooleanDisables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.
↳ originServerNamestringHostname that cloudflared should expect from your origin server certificate.
↳ proxyTypestringcloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5 proxy.
↳ tcpKeepAlivenumberThe timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.
↳ tlsTimeoutnumberTimeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.
↳ pathstringRequests with this path route to this public hostname.
↳ servicestringProtocol and address of destination server. Supported protocols: http://, https://, unix://, tcp://, ssh://, rdp://, unix+tls://, smb://. Alternatively can return a HTTP status code http_status:[code] e.g. 'http_status:404'.
↳ originRequestjsonConfiguration parameters for the public hostname specific connection settings between cloudflared and origin server.
↳ accessjsonFor all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.
↳ audTagarrayAccess applications that are allowed to reach this hostname for this Tunnel. Audience tags can be identified in the dashboard or via the List Access policies API.
↳ requiredbooleanDeny traffic that has not fulfilled Access authorization.
↳ teamNamestringteamName
↳ caPoolstringPath to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.
↳ connectTimeoutnumberTimeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.
↳ disableChunkedEncodingbooleanDisables chunked transfer encoding. Useful if you are running a WSGI server.
↳ http2OriginbooleanAttempt to connect to origin using HTTP2. Origin must be configured as https.
↳ httpHostHeaderstringSets the HTTP Host header on requests sent to the local service.
↳ keepAliveConnectionsnumberMaximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.
↳ keepAliveTimeoutnumberTimeout after which an idle keepalive connection can be discarded.
↳ matchSNItoHostbooleanAuto configure the Hostname on the origin server certificate.
↳ noHappyEyeballsbooleanDisable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.
↳ noTLSVerifybooleanDisables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.
↳ originServerNamestringHostname that cloudflared should expect from your origin server certificate.
↳ proxyTypestringcloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5 proxy.
↳ tcpKeepAlivenumberThe timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.
↳ tlsTimeoutnumberTimeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.
↳ warp-routingjsonEnable private network access from WARP users to private network routes. This is enabled if the tunnel has an assigned route.
↳ enabledbooleanenabled
created_atstringcreated at
sourcestringIndicates if this is a locally or remotely configured tunnel. If local, manage the tunnel using a YAML file on the origin machine. If cloudflare, manage the tunnel's configuration on the Zero Trust dashboard. Values: local, cloudflare.
tunnel_idstringUUID of the tunnel.
versionnumberThe version of the Tunnel Configuration.

Cloudflare Update Worker Route

Replaces the URL pattern or Worker associated with a Worker route. Replaces the configuration; resend all values to retain.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesZone id
routeIdstringYesRoute id
apiKeystringYesCloudflare API token
patternstringYesPattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).
scriptstringNoName of the script to run if the route matches.

Output

ParameterTypeDescription
idstringIdentifier.
patternstringPattern to match incoming requests against. [Learn more](https://developers.cloudflare.com/workers/configuration/routing/routes/#matching-behavior).
scriptstringName of the script to run if the route matches.

Cloudflare Update Zone

Edits a zone. Only one zone property can be changed at a time.

Inputs and outputs

Input

ParameterTypeRequiredDescription
zoneIdstringYesZone id
apiKeystringYesCloudflare API token
pausedbooleanNoIndicates whether the zone is only using Cloudflare DNS services. A true value means the zone will not receive security or performance benefits.
planjsonNoJSON object. (Deprecated) Please use the /zones/\{zone_id\}/subscription API to update a zone's plan. Changing this value will create/cancel associated subscriptions. To view available plans for this zone, see Zone Plans. Fields: id.
typestringNoA full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. This parameter is only available to Enterprise customers or if it has been explicitly enabled on a zone. Allowed values: full, partial, secondary, internal.
vanity_name_serversjsonNoJSON array. An array of domains used for custom name servers. This is only available for Business and Enterprise plans.

Output

ParameterTypeDescription
accountjsonThe account the zone belongs to.
↳ idstringIdentifier
↳ namestringThe name of the account.
activated_onstringThe last time proof of ownership was detected and the zone was made active.
cname_suffixstringAllows the customer to use a custom apex. Tenants Only Configuration.
created_onstringWhen the zone was created.
development_modenumberThe interval (in seconds) from when development mode expires (positive integer) or last expired (negative integer) for the domain. If development mode has never been enabled, this value is 0.
idstringIdentifier
metajsonMetadata about the zone.
↳ cdn_onlybooleanThe zone is only configured for CDN.
↳ custom_certificate_quotanumberNumber of Custom Certificates the zone can have.
↳ dns_onlybooleanThe zone is only configured for DNS.
↳ foundation_dnsbooleanThe zone is setup with Foundation DNS.
↳ page_rule_quotanumberNumber of Page Rules a zone can have.
↳ phishing_detectedbooleanThe zone has been flagged for phishing.
↳ stepnumberstep
modified_onstringWhen the zone was last modified.
namestringThe domain name. Per [RFC 1035](https://datatracker.ietf.org/doc/html/rfc1035#section-2.3.4) the overall zone name can be up to 253 characters, with each segment ("label") not exceeding 63 characters.
name_serversarrayThe name servers Cloudflare assigns to a zone.
original_dnshoststringDNS host at the time of switching to Cloudflare.
original_name_serversarrayOriginal name servers before moving to Cloudflare.
original_registrarstringRegistrar for the domain at the time of switching to Cloudflare.
ownerjsonThe owner of the zone.
↳ idstringIdentifier
↳ namestringName of the owner.
↳ typestringThe type of owner.
pausedbooleanIndicates whether the zone is only using Cloudflare DNS services. A true value means the zone will not receive security or performance benefits.
permissionsarrayLegacy permissions based on legacy user membership information.
planjsonA Zones subscription information.
↳ can_subscribebooleanStates if the subscription can be activated.
↳ currencystringThe denomination of the customer.
↳ externally_managedbooleanIf this Zone is managed by another company.
↳ frequencystringHow often the customer is billed.
↳ idstringIdentifier
↳ is_subscribedbooleanStates if the subscription active.
↳ legacy_discountbooleanIf the legacy discount applies to this Zone.
↳ legacy_idstringThe legacy name of the plan.
↳ namestringName of the owner.
↳ pricenumberHow much the customer is paying.
statusstringThe zone status on Cloudflare. Values: initializing, pending, active, moved.
tenantjsonThe root organizational unit that this zone belongs to (such as a tenant or organization).
↳ idstringIdentifier
↳ namestringThe name of the Tenant account.
tenant_unitjsonThe immediate parent organizational unit that this zone belongs to (such as under a tenant or sub-organization).
↳ idstringIdentifier
typestringA full zone implies that DNS is hosted with Cloudflare. A partial zone is typically a partner-hosted zone or a CNAME setup. Values: full, partial, secondary, internal.
vanity_name_serversarrayAn array of domains used for custom name servers. This is only available for Business and Enterprise plans.
verification_keystringVerification key for partial zone setup.

Cloudflare Update Zone Setting

Updates a specific zone setting such as SSL mode, security level, cache level, or other configuration.

Inputs and outputs

Input

ParameterTypeRequiredDescription
enabledbooleanNoEnrollment value for ssl_recommender; this setting uses enabled instead of value
zoneIdstringYesThe zone ID to update settings for
settingIdstringYesSetting to update (e.g., "ssl", "security_level", "cache_level", "always_use_https", "browser_cache_ttl", "http3", "min_tls_version", "ciphers")
valuestringNoRequired except for ssl_recommender. New value as a string, or a JSON string for complex values (e.g., "full" for SSL, "medium" for security_level, "aggressive" for cache_level, ["ECDHE-RSA-AES128-GCM-SHA256"] for ciphers)
apiKeystringYesCloudflare API Token

Output

ParameterTypeDescription
idstringSetting identifier (e.g., ssl, cache_level, security_level)
valuestringUpdated setting value as a string. Simple values returned as-is (e.g., "full", "on"). SSL Recommender returns its enabled flag. Complex values are JSON-stringified.
editablebooleanWhether the setting can be modified for the current zone plan
modified_onstringISO 8601 timestamp when the setting was last modified
time_remainingnumberDevelopment mode countdown, in seconds. Cloudflare documents this only on the zones_development_mode setting, where it is the interval from when development mode expires (positive) or last expired (negative)