Skip to content
Start here

Add an Access application

zero_trust.access.applications.create(ApplicationCreateParams**kwargs) -> ApplicationCreateResponse
POST/{accounts_or_zones}/{account_or_zone_id}/access/apps

Adds a new application to Access.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Access: Apps and Policies Write
ParametersExpand Collapse
domain: str

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
account_id: Optional[str]

The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.

zone_id: Optional[str]

The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.

allow_authenticate_via_warp: Optional[bool]

When 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_iframe: Optional[bool]

Enables loading application content in an iFrame.

allowed_idps: Optional[SequenceNotStr[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

app_launcher_visible: Optional[bool]

Displays the application in the App Launcher.

auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

cors_headers: Optional[CORSHeadersParam]
allow_all_headers: Optional[bool]

Allows all HTTP request headers.

allow_all_methods: Optional[bool]

Allows all HTTP request methods.

allow_all_origins: Optional[bool]

Allows all origins.

allow_credentials: Optional[bool]

When set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.

allowed_headers: Optional[List[AllowedHeaders]]

Allowed HTTP request headers.

allowed_methods: Optional[List[AllowedMethods]]

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: Optional[List[AllowedOrigins]]

Allowed origins.

max_age: Optional[float]

The maximum number of seconds the results of a preflight request can be cached.

maximum86400
minimum-1
custom_deny_message: Optional[str]

The custom error message shown to a user when they are denied access to the application.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[SequenceNotStr[str]]

The custom pages that will be displayed when applicable for this application

destinations: Optional[Iterable[SelfHostedApplicationDestination]]

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.

One of the following:
class SelfHostedApplicationDestinationPublicDestination:

A public hostname that Access will secure. Public destinations support sub-domain and path. Wildcard '*' can be used in the definition.

type: Optional[Literal["public"]]
uri: Optional[str]

The URI of the destination. Public destinations' URIs can include a domain and path with wildcards.

class SelfHostedApplicationDestinationPrivateDestination:
cidr: Optional[str]

The CIDR range of the destination. Single IPs will be computed as /32.

hostname: Optional[str]

The hostname of the destination. Matches a valid SNI served by an HTTPS origin.

l4_protocol: Optional[Literal["tcp", "udp"]]

The L4 protocol of the destination. When omitted, both UDP and TCP traffic will match.

One of the following:
"tcp"
"udp"
port_range: Optional[str]

The port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.

type: Optional[Literal["private"]]
vnet_id: Optional[str]

The VNET ID to match the destination. When omitted, all VNETs will match.

class SelfHostedApplicationDestinationViaMcpServerPortalDestination:

A MCP server id configured in ai-controls. Access will secure the MCP server if accessed through a MCP portal.

mcp_server_id: Optional[str]

The MCP server id configured in ai-controls.

type: Optional[Literal["via_mcp_server_portal"]]
logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

mfa_config: Optional[SelfHostedApplicationMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the application.

oauth_configuration: Optional[SelfHostedApplicationOAuthConfiguration]

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 (Resource Indicators for OAuth 2.0). This feature is currently in beta.

dynamic_client_registration: Optional[SelfHostedApplicationOAuthConfigurationDynamicClientRegistration]

Settings for OAuth dynamic client registration.

allow_any_on_localhost: Optional[bool]

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: Optional[bool]

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: Optional[SequenceNotStr[str]]

The URIs that are allowed as redirect URIs for dynamically registered clients. Must use the https protocol. Paths may end in /* to match all sub-paths.

enabled: Optional[bool]

Whether dynamic client registration is enabled.

enabled: Optional[bool]

Whether 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.

grant: Optional[SelfHostedApplicationOAuthConfigurationGrant]

Settings for OAuth grant behavior.

access_token_lifetime: Optional[str]

The 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_duration: Optional[str]

The 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.

options_preflight_bypass: Optional[bool]

Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.

policies: Optional[SequenceNotStr[SelfHostedApplicationPolicy]]

The policies that Access applies to the application, in ascending order of precedence. Items can reference existing policies or create new policies exclusive to the application.

One of the following:
class SelfHostedApplicationPolicyAccessAppPolicyLink:

A JSON that links a reusable policy to an application.

id: Optional[str]

The UUID of the policy

maxLength36
precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

str

The UUID of the policy

class SelfHostedApplicationPolicyUnionMember2:
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[Iterable[ApprovalGroupParam]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[SelfHostedApplicationPolicyUnionMember2ConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[SelfHostedApplicationPolicyUnionMember2ConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

isolation_required: Optional[bool]

Require 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_config: Optional[SelfHostedApplicationPolicyUnionMember2MfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

session_duration: Optional[str]

The 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.

read_service_tokens_from_header: Optional[str]

Allows 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": "88bf3b6d86161464f6509f7219099e57.access.example.com", "cf-access-client-secret": "bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5" }

scim_config: Optional[SelfHostedApplicationSCIMConfig]

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

idp_uid: str

The UID of the IdP to use as the source for SCIM resources to provision to this application.

remote_uri: str

The base URI for the application's SCIM-compatible API.

authentication: Optional[SelfHostedApplicationSCIMConfigAuthentication]

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class SelfHostedApplicationSCIMConfigAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

Iterable[SelfHostedApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthentication]

Multiple authentication schemes

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class SelfHostedApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

deactivate_on_delete: Optional[bool]

If 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.

enabled: Optional[bool]

Whether SCIM provisioning is turned on for this application.

mappings: Optional[Iterable[SCIMConfigMappingParam]]

A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.

schema: str

Which SCIM resource type this mapping applies to.

enabled: Optional[bool]

Whether or not this mapping is enabled.

filter: Optional[str]

A SCIM filter expression that matches resources that should be provisioned to this application.

operations: Optional[Operations]

Whether or not this mapping applies to creates, updates, or deletes.

create: Optional[bool]

Whether or not this mapping applies to create (POST) operations.

delete: Optional[bool]

Whether or not this mapping applies to DELETE operations.

update: Optional[bool]

Whether or not this mapping applies to update (PATCH/PUT) operations.

strictness: Optional[Literal["strict", "passthrough"]]

The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.

One of the following:
"strict"
"passthrough"
transform_jsonata: Optional[str]

A JSONata expression that transforms the resource before provisioning it in the application.

Deprecatedself_hosted_domains: Optional[SequenceNotStr[SelfHostedDomains]]

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.

service_auth_401_redirect: Optional[bool]

Returns a 401 status code when the request is blocked by a Service Auth policy.

session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

skip_interstitial: Optional[bool]

Enables automatic authentication through cloudflared.

tags: Optional[SequenceNotStr[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

use_clientless_isolation_app_launcher_url: Optional[bool]

Determines 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.

ReturnsExpand Collapse
One of the following:
class SelfHostedApplication:
domain: str

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allow_authenticate_via_warp: Optional[bool]

When 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_iframe: Optional[bool]

Enables loading application content in an iFrame.

allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

app_launcher_visible: Optional[bool]

Displays the application in the App Launcher.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

cors_headers: Optional[CORSHeaders]
allow_all_headers: Optional[bool]

Allows all HTTP request headers.

allow_all_methods: Optional[bool]

Allows all HTTP request methods.

allow_all_origins: Optional[bool]

Allows all origins.

allow_credentials: Optional[bool]

When set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.

allowed_headers: Optional[List[AllowedHeaders]]

Allowed HTTP request headers.

allowed_methods: Optional[List[AllowedMethods]]

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: Optional[List[AllowedOrigins]]

Allowed origins.

max_age: Optional[float]

The maximum number of seconds the results of a preflight request can be cached.

maximum86400
minimum-1
custom_deny_message: Optional[str]

The custom error message shown to a user when they are denied access to the application.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

destinations: Optional[List[SelfHostedApplicationDestination]]

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.

One of the following:
class SelfHostedApplicationDestinationPublicDestination:

A public hostname that Access will secure. Public destinations support sub-domain and path. Wildcard '*' can be used in the definition.

type: Optional[Literal["public"]]
uri: Optional[str]

The URI of the destination. Public destinations' URIs can include a domain and path with wildcards.

class SelfHostedApplicationDestinationPrivateDestination:
cidr: Optional[str]

The CIDR range of the destination. Single IPs will be computed as /32.

hostname: Optional[str]

The hostname of the destination. Matches a valid SNI served by an HTTPS origin.

l4_protocol: Optional[Literal["tcp", "udp"]]

The L4 protocol of the destination. When omitted, both UDP and TCP traffic will match.

One of the following:
"tcp"
"udp"
port_range: Optional[str]

The port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.

type: Optional[Literal["private"]]
vnet_id: Optional[str]

The VNET ID to match the destination. When omitted, all VNETs will match.

class SelfHostedApplicationDestinationViaMcpServerPortalDestination:

A MCP server id configured in ai-controls. Access will secure the MCP server if accessed through a MCP portal.

mcp_server_id: Optional[str]

The MCP server id configured in ai-controls.

type: Optional[Literal["via_mcp_server_portal"]]
logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

mfa_config: Optional[SelfHostedApplicationMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the application.

oauth_configuration: Optional[SelfHostedApplicationOAuthConfiguration]

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 (Resource Indicators for OAuth 2.0). This feature is currently in beta.

dynamic_client_registration: Optional[SelfHostedApplicationOAuthConfigurationDynamicClientRegistration]

Settings for OAuth dynamic client registration.

allow_any_on_localhost: Optional[bool]

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: Optional[bool]

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: Optional[List[str]]

The URIs that are allowed as redirect URIs for dynamically registered clients. Must use the https protocol. Paths may end in /* to match all sub-paths.

enabled: Optional[bool]

Whether dynamic client registration is enabled.

enabled: Optional[bool]

Whether 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.

grant: Optional[SelfHostedApplicationOAuthConfigurationGrant]

Settings for OAuth grant behavior.

access_token_lifetime: Optional[str]

The 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_duration: Optional[str]

The 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.

options_preflight_bypass: Optional[bool]

Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.

policies: Optional[List[SelfHostedApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[SelfHostedApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[SelfHostedApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[SelfHostedApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
read_service_tokens_from_header: Optional[str]

Allows 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": "88bf3b6d86161464f6509f7219099e57.access.example.com", "cf-access-client-secret": "bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5" }

scim_config: Optional[SelfHostedApplicationSCIMConfig]

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

idp_uid: str

The UID of the IdP to use as the source for SCIM resources to provision to this application.

remote_uri: str

The base URI for the application's SCIM-compatible API.

authentication: Optional[SelfHostedApplicationSCIMConfigAuthentication]

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class SelfHostedApplicationSCIMConfigAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

List[SelfHostedApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthentication]

Multiple authentication schemes

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class SelfHostedApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

deactivate_on_delete: Optional[bool]

If 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.

enabled: Optional[bool]

Whether SCIM provisioning is turned on for this application.

mappings: Optional[List[SCIMConfigMapping]]

A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.

schema: str

Which SCIM resource type this mapping applies to.

enabled: Optional[bool]

Whether or not this mapping is enabled.

filter: Optional[str]

A SCIM filter expression that matches resources that should be provisioned to this application.

operations: Optional[Operations]

Whether or not this mapping applies to creates, updates, or deletes.

create: Optional[bool]

Whether or not this mapping applies to create (POST) operations.

delete: Optional[bool]

Whether or not this mapping applies to DELETE operations.

update: Optional[bool]

Whether or not this mapping applies to update (PATCH/PUT) operations.

strictness: Optional[Literal["strict", "passthrough"]]

The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.

One of the following:
"strict"
"passthrough"
transform_jsonata: Optional[str]

A JSONata expression that transforms the resource before provisioning it in the application.

Deprecatedself_hosted_domains: Optional[List[SelfHostedDomains]]

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.

service_auth_401_redirect: Optional[bool]

Returns a 401 status code when the request is blocked by a Service Auth policy.

session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

skip_interstitial: Optional[bool]

Enables automatic authentication through cloudflared.

tags: Optional[List[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

use_clientless_isolation_app_launcher_url: Optional[bool]

Determines 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.

class SaaSApplication:
id: Optional[str]

UUID.

maxLength36
allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

app_launcher_visible: Optional[bool]

Displays the application in the App Launcher.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

name: Optional[str]

The name of the application.

policies: Optional[List[SaaSApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[SaaSApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[SaaSApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[SaaSApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
saas_app: Optional[SaaSApplicationSaaSApp]
One of the following:
class SAMLSaaSApp:
auth_type: Optional[Literal["saml", "oidc"]]

Optional identifier indicating the authentication protocol used for the saas app. Required for OIDC. Default if unset is "saml"

One of the following:
"saml"
"oidc"
consumer_service_url: Optional[str]

The service provider's endpoint that is responsible for receiving and parsing a SAML assertion.

custom_attributes: Optional[List[CustomAttribute]]
friendly_name: Optional[str]

The SAML FriendlyName of the attribute.

name: Optional[str]

The name of the attribute.

name_format: Optional[Literal["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"]]

A globally unique name for an identity or service provider.

One of the following:
"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"
required: Optional[bool]

If the attribute is required when building a SAML assertion.

source: Optional[CustomAttributeSource]
name: Optional[str]

The name of the IdP attribute.

name_by_idp: Optional[List[CustomAttributeSourceNameByIdP]]

A mapping from IdP ID to attribute name.

idp_id: Optional[str]

The UID of the IdP.

source_name: Optional[str]

The name of the IdP provided attribute.

default_relay_state: Optional[str]

The URL that the user will be redirected to after a successful login for IDP initiated logins.

idp_entity_id: Optional[str]

The unique identifier for your SaaS application.

name_id_format: Optional[SaaSAppNameIDFormat]

The format of the name identifier sent to the SaaS application.

One of the following:
"id"
"email"
name_id_transform_jsonata: Optional[str]

A JSONata 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_key: Optional[str]

The Access public certificate that will be used to verify your identity.

saml_attribute_transform_jsonata: Optional[str]

A [JSONata] (https://jsonata.org/) expression that transforms an application's user identities into attribute assertions in the SAML response. The expression can transform id, email, name, and groups values. It can also transform fields listed in the saml_attributes or oidc_fields of the identity provider used to authenticate. The output of this expression must be a JSON object.

sp_entity_id: Optional[str]

A globally unique name for an identity or service provider.

sso_endpoint: Optional[str]

The endpoint where your SaaS application will send login requests.

class OIDCSaaSApp:
access_token_lifetime: Optional[str]

The 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_secret: Optional[bool]

If client secret should be required on the token endpoint when authorization_code_with_pkce grant is used.

app_launcher_url: Optional[str]

The URL where this applications tile redirects users

auth_type: Optional[Literal["saml", "oidc"]]

Identifier of the authentication protocol used for the saas app. Required for OIDC.

One of the following:
"saml"
"oidc"
client_id: Optional[str]

The application client id

client_secret: Optional[str]

The application client secret, only returned on POST request.

custom_claims: Optional[List[CustomClaim]]
name: Optional[str]

The name of the claim.

required: Optional[bool]

If the claim is required when building an OIDC token.

scope: Optional[Literal["groups", "profile", "email", "openid"]]

The scope of the claim.

One of the following:
"groups"
"profile"
"email"
"openid"
source: Optional[CustomClaimSource]
name: Optional[str]

The name of the IdP claim.

name_by_idp: Optional[Dict[str, str]]

A mapping from IdP ID to claim name.

grant_types: Optional[List[Literal["authorization_code", "authorization_code_with_pkce", "refresh_tokens", 2 more]]]

The OIDC flows supported by this application

One of the following:
"authorization_code"
"authorization_code_with_pkce"
"refresh_tokens"
"hybrid"
"implicit"
group_filter_regex: Optional[str]

A regex to filter Cloudflare groups returned in ID token and userinfo endpoint

hybrid_and_implicit_options: Optional[HybridAndImplicitOptions]
return_access_token_from_authorization_endpoint: Optional[bool]

If an Access Token should be returned from the OIDC Authorization endpoint

return_id_token_from_authorization_endpoint: Optional[bool]

If an ID Token should be returned from the OIDC Authorization endpoint

public_key: Optional[str]

The Access public certificate that will be used to verify your identity.

redirect_uris: Optional[List[str]]

The permitted URL's for Cloudflare to return Authorization codes and Access/ID tokens

refresh_token_options: Optional[RefreshTokenOptions]
lifetime: Optional[str]

How long a refresh token will be valid for after creation. Valid units are m,h,d. Must be longer than 1m.

scopes: Optional[List[Literal["openid", "groups", "email", "profile"]]]

Define the user information shared with access, "offline_access" scope will be automatically enabled if refresh tokens are enabled

One of the following:
"openid"
"groups"
"email"
"profile"
scim_config: Optional[SaaSApplicationSCIMConfig]

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

idp_uid: str

The UID of the IdP to use as the source for SCIM resources to provision to this application.

remote_uri: str

The base URI for the application's SCIM-compatible API.

authentication: Optional[SaaSApplicationSCIMConfigAuthentication]

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class SaaSApplicationSCIMConfigAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

List[SaaSApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthentication]

Multiple authentication schemes

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class SaaSApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

deactivate_on_delete: Optional[bool]

If 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.

enabled: Optional[bool]

Whether SCIM provisioning is turned on for this application.

mappings: Optional[List[SCIMConfigMapping]]

A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.

schema: str

Which SCIM resource type this mapping applies to.

enabled: Optional[bool]

Whether or not this mapping is enabled.

filter: Optional[str]

A SCIM filter expression that matches resources that should be provisioned to this application.

operations: Optional[Operations]

Whether or not this mapping applies to creates, updates, or deletes.

create: Optional[bool]

Whether or not this mapping applies to create (POST) operations.

delete: Optional[bool]

Whether or not this mapping applies to DELETE operations.

update: Optional[bool]

Whether or not this mapping applies to update (PATCH/PUT) operations.

strictness: Optional[Literal["strict", "passthrough"]]

The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.

One of the following:
"strict"
"passthrough"
transform_jsonata: Optional[str]

A JSONata expression that transforms the resource before provisioning it in the application.

tags: Optional[List[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

type: Optional[ApplicationType]

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
class BrowserSSHApplication:
domain: str

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

type: Literal["self_hosted", "saas", "ssh", 11 more]

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allow_authenticate_via_warp: Optional[bool]

When 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_iframe: Optional[bool]

Enables loading application content in an iFrame.

allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

app_launcher_visible: Optional[bool]

Displays the application in the App Launcher.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

cors_headers: Optional[CORSHeaders]
allow_all_headers: Optional[bool]

Allows all HTTP request headers.

allow_all_methods: Optional[bool]

Allows all HTTP request methods.

allow_all_origins: Optional[bool]

Allows all origins.

allow_credentials: Optional[bool]

When set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.

allowed_headers: Optional[List[AllowedHeaders]]

Allowed HTTP request headers.

allowed_methods: Optional[List[AllowedMethods]]

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: Optional[List[AllowedOrigins]]

Allowed origins.

max_age: Optional[float]

The maximum number of seconds the results of a preflight request can be cached.

maximum86400
minimum-1
custom_deny_message: Optional[str]

The custom error message shown to a user when they are denied access to the application.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

destinations: Optional[List[BrowserSSHApplicationDestination]]

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.

One of the following:
class BrowserSSHApplicationDestinationPublicDestination:

A public hostname that Access will secure. Public destinations support sub-domain and path. Wildcard '*' can be used in the definition.

type: Optional[Literal["public"]]
uri: Optional[str]

The URI of the destination. Public destinations' URIs can include a domain and path with wildcards.

class BrowserSSHApplicationDestinationPrivateDestination:
cidr: Optional[str]

The CIDR range of the destination. Single IPs will be computed as /32.

hostname: Optional[str]

The hostname of the destination. Matches a valid SNI served by an HTTPS origin.

l4_protocol: Optional[Literal["tcp", "udp"]]

The L4 protocol of the destination. When omitted, both UDP and TCP traffic will match.

One of the following:
"tcp"
"udp"
port_range: Optional[str]

The port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.

type: Optional[Literal["private"]]
vnet_id: Optional[str]

The VNET ID to match the destination. When omitted, all VNETs will match.

class BrowserSSHApplicationDestinationViaMcpServerPortalDestination:

A MCP server id configured in ai-controls. Access will secure the MCP server if accessed through a MCP portal.

mcp_server_id: Optional[str]

The MCP server id configured in ai-controls.

type: Optional[Literal["via_mcp_server_portal"]]
logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

mfa_config: Optional[BrowserSSHApplicationMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the application.

oauth_configuration: Optional[BrowserSSHApplicationOAuthConfiguration]

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 (Resource Indicators for OAuth 2.0). This feature is currently in beta.

dynamic_client_registration: Optional[BrowserSSHApplicationOAuthConfigurationDynamicClientRegistration]

Settings for OAuth dynamic client registration.

allow_any_on_localhost: Optional[bool]

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: Optional[bool]

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: Optional[List[str]]

The URIs that are allowed as redirect URIs for dynamically registered clients. Must use the https protocol. Paths may end in /* to match all sub-paths.

enabled: Optional[bool]

Whether dynamic client registration is enabled.

enabled: Optional[bool]

Whether 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.

grant: Optional[BrowserSSHApplicationOAuthConfigurationGrant]

Settings for OAuth grant behavior.

access_token_lifetime: Optional[str]

The 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_duration: Optional[str]

The 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.

options_preflight_bypass: Optional[bool]

Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.

policies: Optional[List[BrowserSSHApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[BrowserSSHApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[BrowserSSHApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[BrowserSSHApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
read_service_tokens_from_header: Optional[str]

Allows 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": "88bf3b6d86161464f6509f7219099e57.access.example.com", "cf-access-client-secret": "bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5" }

scim_config: Optional[BrowserSSHApplicationSCIMConfig]

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

idp_uid: str

The UID of the IdP to use as the source for SCIM resources to provision to this application.

remote_uri: str

The base URI for the application's SCIM-compatible API.

authentication: Optional[BrowserSSHApplicationSCIMConfigAuthentication]

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class BrowserSSHApplicationSCIMConfigAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

List[BrowserSSHApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthentication]

Multiple authentication schemes

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class BrowserSSHApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

deactivate_on_delete: Optional[bool]

If 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.

enabled: Optional[bool]

Whether SCIM provisioning is turned on for this application.

mappings: Optional[List[SCIMConfigMapping]]

A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.

schema: str

Which SCIM resource type this mapping applies to.

enabled: Optional[bool]

Whether or not this mapping is enabled.

filter: Optional[str]

A SCIM filter expression that matches resources that should be provisioned to this application.

operations: Optional[Operations]

Whether or not this mapping applies to creates, updates, or deletes.

create: Optional[bool]

Whether or not this mapping applies to create (POST) operations.

delete: Optional[bool]

Whether or not this mapping applies to DELETE operations.

update: Optional[bool]

Whether or not this mapping applies to update (PATCH/PUT) operations.

strictness: Optional[Literal["strict", "passthrough"]]

The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.

One of the following:
"strict"
"passthrough"
transform_jsonata: Optional[str]

A JSONata expression that transforms the resource before provisioning it in the application.

Deprecatedself_hosted_domains: Optional[List[SelfHostedDomains]]

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.

service_auth_401_redirect: Optional[bool]

Returns a 401 status code when the request is blocked by a Service Auth policy.

session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

skip_interstitial: Optional[bool]

Enables automatic authentication through cloudflared.

tags: Optional[List[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

use_clientless_isolation_app_launcher_url: Optional[bool]

Determines 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.

class BrowserVNCApplication:
domain: str

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

type: Literal["self_hosted", "saas", "ssh", 11 more]

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allow_authenticate_via_warp: Optional[bool]

When 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_iframe: Optional[bool]

Enables loading application content in an iFrame.

allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

app_launcher_visible: Optional[bool]

Displays the application in the App Launcher.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

cors_headers: Optional[CORSHeaders]
allow_all_headers: Optional[bool]

Allows all HTTP request headers.

allow_all_methods: Optional[bool]

Allows all HTTP request methods.

allow_all_origins: Optional[bool]

Allows all origins.

allow_credentials: Optional[bool]

When set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.

allowed_headers: Optional[List[AllowedHeaders]]

Allowed HTTP request headers.

allowed_methods: Optional[List[AllowedMethods]]

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: Optional[List[AllowedOrigins]]

Allowed origins.

max_age: Optional[float]

The maximum number of seconds the results of a preflight request can be cached.

maximum86400
minimum-1
custom_deny_message: Optional[str]

The custom error message shown to a user when they are denied access to the application.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

destinations: Optional[List[BrowserVNCApplicationDestination]]

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.

One of the following:
class BrowserVNCApplicationDestinationPublicDestination:

A public hostname that Access will secure. Public destinations support sub-domain and path. Wildcard '*' can be used in the definition.

type: Optional[Literal["public"]]
uri: Optional[str]

The URI of the destination. Public destinations' URIs can include a domain and path with wildcards.

class BrowserVNCApplicationDestinationPrivateDestination:
cidr: Optional[str]

The CIDR range of the destination. Single IPs will be computed as /32.

hostname: Optional[str]

The hostname of the destination. Matches a valid SNI served by an HTTPS origin.

l4_protocol: Optional[Literal["tcp", "udp"]]

The L4 protocol of the destination. When omitted, both UDP and TCP traffic will match.

One of the following:
"tcp"
"udp"
port_range: Optional[str]

The port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.

type: Optional[Literal["private"]]
vnet_id: Optional[str]

The VNET ID to match the destination. When omitted, all VNETs will match.

class BrowserVNCApplicationDestinationViaMcpServerPortalDestination:

A MCP server id configured in ai-controls. Access will secure the MCP server if accessed through a MCP portal.

mcp_server_id: Optional[str]

The MCP server id configured in ai-controls.

type: Optional[Literal["via_mcp_server_portal"]]
logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

mfa_config: Optional[BrowserVNCApplicationMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the application.

oauth_configuration: Optional[BrowserVNCApplicationOAuthConfiguration]

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 (Resource Indicators for OAuth 2.0). This feature is currently in beta.

dynamic_client_registration: Optional[BrowserVNCApplicationOAuthConfigurationDynamicClientRegistration]

Settings for OAuth dynamic client registration.

allow_any_on_localhost: Optional[bool]

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: Optional[bool]

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: Optional[List[str]]

The URIs that are allowed as redirect URIs for dynamically registered clients. Must use the https protocol. Paths may end in /* to match all sub-paths.

enabled: Optional[bool]

Whether dynamic client registration is enabled.

enabled: Optional[bool]

Whether 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.

grant: Optional[BrowserVNCApplicationOAuthConfigurationGrant]

Settings for OAuth grant behavior.

access_token_lifetime: Optional[str]

The 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_duration: Optional[str]

The 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.

options_preflight_bypass: Optional[bool]

Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.

policies: Optional[List[BrowserVNCApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[BrowserVNCApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[BrowserVNCApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[BrowserVNCApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
read_service_tokens_from_header: Optional[str]

Allows 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": "88bf3b6d86161464f6509f7219099e57.access.example.com", "cf-access-client-secret": "bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5" }

scim_config: Optional[BrowserVNCApplicationSCIMConfig]

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

idp_uid: str

The UID of the IdP to use as the source for SCIM resources to provision to this application.

remote_uri: str

The base URI for the application's SCIM-compatible API.

authentication: Optional[BrowserVNCApplicationSCIMConfigAuthentication]

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class BrowserVNCApplicationSCIMConfigAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

List[BrowserVNCApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthentication]

Multiple authentication schemes

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class BrowserVNCApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

deactivate_on_delete: Optional[bool]

If 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.

enabled: Optional[bool]

Whether SCIM provisioning is turned on for this application.

mappings: Optional[List[SCIMConfigMapping]]

A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.

schema: str

Which SCIM resource type this mapping applies to.

enabled: Optional[bool]

Whether or not this mapping is enabled.

filter: Optional[str]

A SCIM filter expression that matches resources that should be provisioned to this application.

operations: Optional[Operations]

Whether or not this mapping applies to creates, updates, or deletes.

create: Optional[bool]

Whether or not this mapping applies to create (POST) operations.

delete: Optional[bool]

Whether or not this mapping applies to DELETE operations.

update: Optional[bool]

Whether or not this mapping applies to update (PATCH/PUT) operations.

strictness: Optional[Literal["strict", "passthrough"]]

The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.

One of the following:
"strict"
"passthrough"
transform_jsonata: Optional[str]

A JSONata expression that transforms the resource before provisioning it in the application.

Deprecatedself_hosted_domains: Optional[List[SelfHostedDomains]]

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.

service_auth_401_redirect: Optional[bool]

Returns a 401 status code when the request is blocked by a Service Auth policy.

session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

skip_interstitial: Optional[bool]

Enables automatic authentication through cloudflared.

tags: Optional[List[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

use_clientless_isolation_app_launcher_url: Optional[bool]

Determines 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.

class AppLauncherApplication:
type: Literal["self_hosted", "saas", "ssh", 11 more]

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

app_launcher_logo_url: Optional[str]

The image URL of the logo shown in the App Launcher header.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

bg_color: Optional[str]

The background color of the App Launcher page.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

domain: Optional[str]

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

header_bg_color: Optional[str]

The background color of the App Launcher header.

landing_page_design: Optional[AppLauncherApplicationLandingPageDesign]

The design of the App Launcher landing page shown to users when they log in.

button_color: Optional[str]

The background color of the log in button on the landing page.

button_text_color: Optional[str]

The color of the text in the log in button on the landing page.

image_url: Optional[str]

The URL of the image shown on the landing page.

message: Optional[str]

The message shown on the landing page.

title: Optional[str]

The title shown on the landing page.

name: Optional[str]

The name of the application.

policies: Optional[List[AppLauncherApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[AppLauncherApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[AppLauncherApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[AppLauncherApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

skip_app_launcher_login_page: Optional[bool]

Determines when to skip the App Launcher landing page.

class DeviceEnrollmentPermissionsApplication:

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

domain: Optional[str]

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

name: Optional[str]

The name of the application.

policies: Optional[List[DeviceEnrollmentPermissionsApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[DeviceEnrollmentPermissionsApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[DeviceEnrollmentPermissionsApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[DeviceEnrollmentPermissionsApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

class BrowserIsolationPermissionsApplication:

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

domain: Optional[str]

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

name: Optional[str]

The name of the application.

policies: Optional[List[BrowserIsolationPermissionsApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[BrowserIsolationPermissionsApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[BrowserIsolationPermissionsApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[BrowserIsolationPermissionsApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

class GatewayIdentityProxyEndpointApplication:

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

domain: Optional[str]

The proxy endpoint domain in the format: 10 alphanumeric characters followed by .proxy.cloudflare-gateway.com

name: Optional[str]

The name of the application.

policies: Optional[List[GatewayIdentityProxyEndpointApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[GatewayIdentityProxyEndpointApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[GatewayIdentityProxyEndpointApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[GatewayIdentityProxyEndpointApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

class BookmarkApplication:
id: Optional[str]

UUID.

maxLength36
app_launcher_visible: Optional[bool]

Displays the application in the App Launcher.

aud: Optional[str]

Audience tag.

maxLength64
domain: Optional[str]

The URL or domain of the bookmark.

logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

name: Optional[str]

The name of the application.

policies: Optional[List[BookmarkApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[BookmarkApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[BookmarkApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[BookmarkApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
tags: Optional[List[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

type: Optional[ApplicationType]

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
class InfrastructureApplication:
target_criteria: List[InfrastructureApplicationTargetCriterion]
port: int

The port that the targets use for the chosen communication protocol. A port cannot be assigned to multiple protocols.

protocol: Literal["SSH"]

The communication protocol your application secures.

target_attributes: Dict[str, List[str]]

Contains a map of target attribute keys to target attribute values.

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
aud: Optional[str]

Audience tag.

maxLength64
name: Optional[str]

The name of the application.

policies: Optional[List[InfrastructureApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
connection_rules: Optional[InfrastructureApplicationPolicyConnectionRules]

The rules that define how users may connect to the targets secured by your application.

ssh: Optional[InfrastructureApplicationPolicyConnectionRulesSSH]

The SSH-specific rules that define how users may connect to the targets secured by your application.

usernames: List[str]

Contains the Unix usernames that may be used when connecting over SSH.

allow_email_alias: Optional[bool]

Enables using Identity Provider email alias as SSH username.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
name: Optional[str]

The name of the Access policy.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
updated_at: Optional[datetime]
formatdate-time
class BrowserRDPApplication:
domain: str

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

target_criteria: List[BrowserRDPApplicationTargetCriterion]
port: int

The port that the targets use for the chosen communication protocol. A port cannot be assigned to multiple protocols.

protocol: Literal["RDP"]

The communication protocol your application secures.

target_attributes: Dict[str, List[str]]

Contains a map of target attribute keys to target attribute values.

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allow_authenticate_via_warp: Optional[bool]

When 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_iframe: Optional[bool]

Enables loading application content in an iFrame.

allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

app_launcher_visible: Optional[bool]

Displays the application in the App Launcher.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

cors_headers: Optional[CORSHeaders]
allow_all_headers: Optional[bool]

Allows all HTTP request headers.

allow_all_methods: Optional[bool]

Allows all HTTP request methods.

allow_all_origins: Optional[bool]

Allows all origins.

allow_credentials: Optional[bool]

When set to true, includes credentials (cookies, authorization headers, or TLS client certificates) with requests.

allowed_headers: Optional[List[AllowedHeaders]]

Allowed HTTP request headers.

allowed_methods: Optional[List[AllowedMethods]]

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: Optional[List[AllowedOrigins]]

Allowed origins.

max_age: Optional[float]

The maximum number of seconds the results of a preflight request can be cached.

maximum86400
minimum-1
custom_deny_message: Optional[str]

The custom error message shown to a user when they are denied access to the application.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

destinations: Optional[List[BrowserRDPApplicationDestination]]

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.

One of the following:
class BrowserRDPApplicationDestinationPublicDestination:

A public hostname that Access will secure. Public destinations support sub-domain and path. Wildcard '*' can be used in the definition.

type: Optional[Literal["public"]]
uri: Optional[str]

The URI of the destination. Public destinations' URIs can include a domain and path with wildcards.

class BrowserRDPApplicationDestinationPrivateDestination:
cidr: Optional[str]

The CIDR range of the destination. Single IPs will be computed as /32.

hostname: Optional[str]

The hostname of the destination. Matches a valid SNI served by an HTTPS origin.

l4_protocol: Optional[Literal["tcp", "udp"]]

The L4 protocol of the destination. When omitted, both UDP and TCP traffic will match.

One of the following:
"tcp"
"udp"
port_range: Optional[str]

The port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.

type: Optional[Literal["private"]]
vnet_id: Optional[str]

The VNET ID to match the destination. When omitted, all VNETs will match.

class BrowserRDPApplicationDestinationViaMcpServerPortalDestination:

A MCP server id configured in ai-controls. Access will secure the MCP server if accessed through a MCP portal.

mcp_server_id: Optional[str]

The MCP server id configured in ai-controls.

type: Optional[Literal["via_mcp_server_portal"]]
logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

mfa_config: Optional[BrowserRDPApplicationMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the application.

oauth_configuration: Optional[BrowserRDPApplicationOAuthConfiguration]

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 (Resource Indicators for OAuth 2.0). This feature is currently in beta.

dynamic_client_registration: Optional[BrowserRDPApplicationOAuthConfigurationDynamicClientRegistration]

Settings for OAuth dynamic client registration.

allow_any_on_localhost: Optional[bool]

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: Optional[bool]

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: Optional[List[str]]

The URIs that are allowed as redirect URIs for dynamically registered clients. Must use the https protocol. Paths may end in /* to match all sub-paths.

enabled: Optional[bool]

Whether dynamic client registration is enabled.

enabled: Optional[bool]

Whether 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.

grant: Optional[BrowserRDPApplicationOAuthConfigurationGrant]

Settings for OAuth grant behavior.

access_token_lifetime: Optional[str]

The 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_duration: Optional[str]

The 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.

options_preflight_bypass: Optional[bool]

Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.

policies: Optional[List[BrowserRDPApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[BrowserRDPApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[BrowserRDPApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[BrowserRDPApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
read_service_tokens_from_header: Optional[str]

Allows 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": "88bf3b6d86161464f6509f7219099e57.access.example.com", "cf-access-client-secret": "bdd31cbc4dec990953e39163fbbb194c93313ca9f0a6e420346af9d326b1d2a5" }

scim_config: Optional[BrowserRDPApplicationSCIMConfig]

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

idp_uid: str

The UID of the IdP to use as the source for SCIM resources to provision to this application.

remote_uri: str

The base URI for the application's SCIM-compatible API.

authentication: Optional[BrowserRDPApplicationSCIMConfigAuthentication]

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class BrowserRDPApplicationSCIMConfigAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

List[BrowserRDPApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthentication]

Multiple authentication schemes

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class BrowserRDPApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

deactivate_on_delete: Optional[bool]

If 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.

enabled: Optional[bool]

Whether SCIM provisioning is turned on for this application.

mappings: Optional[List[SCIMConfigMapping]]

A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.

schema: str

Which SCIM resource type this mapping applies to.

enabled: Optional[bool]

Whether or not this mapping is enabled.

filter: Optional[str]

A SCIM filter expression that matches resources that should be provisioned to this application.

operations: Optional[Operations]

Whether or not this mapping applies to creates, updates, or deletes.

create: Optional[bool]

Whether or not this mapping applies to create (POST) operations.

delete: Optional[bool]

Whether or not this mapping applies to DELETE operations.

update: Optional[bool]

Whether or not this mapping applies to update (PATCH/PUT) operations.

strictness: Optional[Literal["strict", "passthrough"]]

The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.

One of the following:
"strict"
"passthrough"
transform_jsonata: Optional[str]

A JSONata expression that transforms the resource before provisioning it in the application.

Deprecatedself_hosted_domains: Optional[List[SelfHostedDomains]]

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.

service_auth_401_redirect: Optional[bool]

Returns a 401 status code when the request is blocked by a Service Auth policy.

session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

skip_interstitial: Optional[bool]

Enables automatic authentication through cloudflared.

tags: Optional[List[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

use_clientless_isolation_app_launcher_url: Optional[bool]

Determines 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.

class McpServerApplication:

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allow_authenticate_via_warp: Optional[bool]

When 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.

allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

custom_deny_message: Optional[str]

The custom error message shown to a user when they are denied access to the application.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

destinations: Optional[List[McpServerApplicationDestination]]

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.

One of the following:
class McpServerApplicationDestinationPublicDestination:

A public hostname that Access will secure. Public destinations support sub-domain and path. Wildcard '*' can be used in the definition.

type: Optional[Literal["public"]]
uri: Optional[str]

The URI of the destination. Public destinations' URIs can include a domain and path with wildcards.

class McpServerApplicationDestinationPrivateDestination:
cidr: Optional[str]

The CIDR range of the destination. Single IPs will be computed as /32.

hostname: Optional[str]

The hostname of the destination. Matches a valid SNI served by an HTTPS origin.

l4_protocol: Optional[Literal["tcp", "udp"]]

The L4 protocol of the destination. When omitted, both UDP and TCP traffic will match.

One of the following:
"tcp"
"udp"
port_range: Optional[str]

The port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.

type: Optional[Literal["private"]]
vnet_id: Optional[str]

The VNET ID to match the destination. When omitted, all VNETs will match.

class McpServerApplicationDestinationViaMcpServerPortalDestination:

A MCP server id configured in ai-controls. Access will secure the MCP server if accessed through a MCP portal.

mcp_server_id: Optional[str]

The MCP server id configured in ai-controls.

type: Optional[Literal["via_mcp_server_portal"]]
logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

name: Optional[str]

The name of the application.

oauth_configuration: Optional[McpServerApplicationOAuthConfiguration]

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 (Resource Indicators for OAuth 2.0). This feature is currently in beta.

dynamic_client_registration: Optional[McpServerApplicationOAuthConfigurationDynamicClientRegistration]

Settings for OAuth dynamic client registration.

allow_any_on_localhost: Optional[bool]

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: Optional[bool]

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: Optional[List[str]]

The URIs that are allowed as redirect URIs for dynamically registered clients. Must use the https protocol. Paths may end in /* to match all sub-paths.

enabled: Optional[bool]

Whether dynamic client registration is enabled.

enabled: Optional[bool]

Whether 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.

grant: Optional[McpServerApplicationOAuthConfigurationGrant]

Settings for OAuth grant behavior.

access_token_lifetime: Optional[str]

The 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_duration: Optional[str]

The 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.

options_preflight_bypass: Optional[bool]

Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.

policies: Optional[List[McpServerApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[McpServerApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[McpServerApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[McpServerApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
scim_config: Optional[McpServerApplicationSCIMConfig]

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

idp_uid: str

The UID of the IdP to use as the source for SCIM resources to provision to this application.

remote_uri: str

The base URI for the application's SCIM-compatible API.

authentication: Optional[McpServerApplicationSCIMConfigAuthentication]

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class McpServerApplicationSCIMConfigAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

List[McpServerApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthentication]

Multiple authentication schemes

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class McpServerApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

deactivate_on_delete: Optional[bool]

If 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.

enabled: Optional[bool]

Whether SCIM provisioning is turned on for this application.

mappings: Optional[List[SCIMConfigMapping]]

A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.

schema: str

Which SCIM resource type this mapping applies to.

enabled: Optional[bool]

Whether or not this mapping is enabled.

filter: Optional[str]

A SCIM filter expression that matches resources that should be provisioned to this application.

operations: Optional[Operations]

Whether or not this mapping applies to creates, updates, or deletes.

create: Optional[bool]

Whether or not this mapping applies to create (POST) operations.

delete: Optional[bool]

Whether or not this mapping applies to DELETE operations.

update: Optional[bool]

Whether or not this mapping applies to update (PATCH/PUT) operations.

strictness: Optional[Literal["strict", "passthrough"]]

The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.

One of the following:
"strict"
"passthrough"
transform_jsonata: Optional[str]

A JSONata expression that transforms the resource before provisioning it in the application.

session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

tags: Optional[List[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

class McpServerPortalApplication:

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
"infrastructure"
"rdp"
"mcp"
"mcp_portal"
"proxy_endpoint"
id: Optional[str]

UUID.

maxLength36
allow_authenticate_via_warp: Optional[bool]

When 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.

allowed_idps: Optional[List[AllowedIdPs]]

The identity providers your users can select when connecting to this application. Defaults to all IdPs configured in your account.

aud: Optional[str]

Audience tag.

maxLength64
auto_redirect_to_identity: Optional[bool]

When set to true, users skip the identity provider selection step during login. You must specify only one identity provider in allowed_idps.

custom_deny_message: Optional[str]

The custom error message shown to a user when they are denied access to the application.

custom_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing identity-based rules.

custom_non_identity_deny_url: Optional[str]

The custom URL a user is redirected to when they are denied access to the application when failing non-identity rules.

custom_pages: Optional[List[str]]

The custom pages that will be displayed when applicable for this application

destinations: Optional[List[McpServerPortalApplicationDestination]]

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.

One of the following:
class McpServerPortalApplicationDestinationPublicDestination:

A public hostname that Access will secure. Public destinations support sub-domain and path. Wildcard '*' can be used in the definition.

type: Optional[Literal["public"]]
uri: Optional[str]

The URI of the destination. Public destinations' URIs can include a domain and path with wildcards.

class McpServerPortalApplicationDestinationPrivateDestination:
cidr: Optional[str]

The CIDR range of the destination. Single IPs will be computed as /32.

hostname: Optional[str]

The hostname of the destination. Matches a valid SNI served by an HTTPS origin.

l4_protocol: Optional[Literal["tcp", "udp"]]

The L4 protocol of the destination. When omitted, both UDP and TCP traffic will match.

One of the following:
"tcp"
"udp"
port_range: Optional[str]

The port range of the destination. Can be a single port or a range of ports. When omitted, all ports will match.

type: Optional[Literal["private"]]
vnet_id: Optional[str]

The VNET ID to match the destination. When omitted, all VNETs will match.

class McpServerPortalApplicationDestinationViaMcpServerPortalDestination:

A MCP server id configured in ai-controls. Access will secure the MCP server if accessed through a MCP portal.

mcp_server_id: Optional[str]

The MCP server id configured in ai-controls.

type: Optional[Literal["via_mcp_server_portal"]]
domain: Optional[str]

The primary hostname and path secured by Access. This domain will be displayed if the app is visible in the App Launcher.

logo_url: Optional[str]

The image URL for the logo shown in the App Launcher dashboard.

name: Optional[str]

The name of the application.

oauth_configuration: Optional[McpServerPortalApplicationOAuthConfiguration]

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 (Resource Indicators for OAuth 2.0). This feature is currently in beta.

dynamic_client_registration: Optional[McpServerPortalApplicationOAuthConfigurationDynamicClientRegistration]

Settings for OAuth dynamic client registration.

allow_any_on_localhost: Optional[bool]

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: Optional[bool]

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: Optional[List[str]]

The URIs that are allowed as redirect URIs for dynamically registered clients. Must use the https protocol. Paths may end in /* to match all sub-paths.

enabled: Optional[bool]

Whether dynamic client registration is enabled.

enabled: Optional[bool]

Whether 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.

grant: Optional[McpServerPortalApplicationOAuthConfigurationGrant]

Settings for OAuth grant behavior.

access_token_lifetime: Optional[str]

The 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_duration: Optional[str]

The 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.

options_preflight_bypass: Optional[bool]

Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set.

policies: Optional[List[McpServerPortalApplicationPolicy]]
id: Optional[str]

The UUID of the policy

maxLength36
approval_groups: Optional[List[ApprovalGroup]]

Administrators who can approve a temporary authentication request.

approvals_needed: float

The number of approvals needed to obtain access.

minimum0
email_addresses: Optional[List[str]]

A list of emails that can approve the access request.

email_list_uuid: Optional[str]

The UUID of an re-usable email list.

approval_required: Optional[bool]

Requires the user to request access from an administrator at the start of each session.

connection_rules: Optional[McpServerPortalApplicationPolicyConnectionRules]

The rules that define how users may connect to targets secured by your application.

rdp: Optional[McpServerPortalApplicationPolicyConnectionRulesRDP]

The RDP-specific rules that define clipboard behavior for RDP connections.

allowed_clipboard_local_to_remote_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from local machine to remote RDP session.

allowed_clipboard_remote_to_local_formats: Optional[List[Literal["text"]]]

Clipboard formats allowed when copying from remote RDP session to local machine.

created_at: Optional[datetime]
formatdate-time
decision: Optional[Decision]

The action Access will take if a user matches this policy. Infrastructure application policies can only use the Allow action.

One of the following:
"allow"
"deny"
"non_identity"
"bypass"
exclude: Optional[List[AccessRule]]

Rules evaluated with a NOT logical operator. To match the policy, a user cannot meet any of the Exclude rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
include: Optional[List[AccessRule]]

Rules evaluated with an OR logical operator. A user needs to meet only one of the Include rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
isolation_required: Optional[bool]

Require 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_config: Optional[McpServerPortalApplicationPolicyMfaConfig]

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: Optional[List[Literal["totp", "biometrics", "security_key"]]]

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: Optional[bool]

Indicates whether to disable MFA for this resource. This option is available at the application and policy level.

session_duration: Optional[str]

Defines the duration of an MFA session. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days). Examples:5m or 24h.

name: Optional[str]

The name of the Access policy.

precedence: Optional[int]

The order of execution for this policy. Must be unique for each policy within an app.

purpose_justification_prompt: Optional[str]

A custom message that will appear on the purpose justification screen.

purpose_justification_required: Optional[bool]

Require users to enter a justification when they log in to the application.

require: Optional[List[AccessRule]]

Rules evaluated with an AND logical operator. To match the policy, a user must meet all of the Require rules.

One of the following:
class GroupRule:

Matches an Access group.

group: Group
id: str

The ID of a previously created Access group.

class AnyValidServiceTokenRule:

Matches any valid Access Service Token

any_valid_service_token: AnyValidServiceToken

An empty object which matches on all service tokens.

class AccessAuthContextRule:

Matches an Azure Authentication Context. Requires an Azure identity provider.

auth_context: AccessAuthContextRuleAuthContext
id: str

The ID of an Authentication context.

ac_id: str

The ACID of an Authentication context.

identity_provider_id: str

The ID of your Azure identity provider.

class AuthenticationMethodRule:

Enforce different MFA options

auth_method: AuthMethod
auth_method: str
class AzureGroupRule:

Matches an Azure group. Requires an Azure identity provider.

azure_ad: AzureAD
id: str

The ID of an Azure group.

identity_provider_id: str

The ID of your Azure identity provider.

class CertificateRule:

Matches any valid client certificate.

certificate: Certificate
class AccessCommonNameRule:

Matches a specific common name.

common_name: AccessCommonNameRuleCommonName
common_name: str

The common name to match.

class CountryRule:

Matches a specific country

geo: Geo
country_code: str

The country code that should be matched.

class AccessDevicePostureRule:

Enforces a device posture rule has run successfully

device_posture: DevicePosture
integration_uid: str

The ID of a device posture integration.

class DomainRule:

Match an entire email domain.

email_domain: EmailDomain
domain: str

The email domain to match.

class EmailListRule:

Matches an email address from a list.

email_list: EmailList
id: str

The ID of a previously created email list.

class EmailRule:

Matches a specific email.

email: Email
email: str

The email of the user.

formatemail
class EveryoneRule:

Matches everyone.

everyone: Everyone

An empty object which matches on all users.

class ExternalEvaluationRule:

Create Allow or Block policies which evaluate the user based on custom criteria.

external_evaluation: ExternalEvaluation
evaluate_url: str

The API endpoint containing your business logic.

keys_url: str

The API endpoint containing the key that Access uses to verify that the response came from your API.

class GitHubOrganizationRule:

Matches a Github organization. Requires a Github identity provider.

github_organization: GitHubOrganization
identity_provider_id: str

The ID of your Github identity provider.

name: str

The name of the organization.

team: Optional[str]

The name of the team

class GSuiteGroupRule:

Matches a group in Google Workspace. Requires a Google Workspace identity provider.

gsuite: GSuite
email: str

The email of the Google Workspace group.

identity_provider_id: str

The ID of your Google Workspace identity provider.

class AccessLoginMethodRule:

Matches a specific identity provider id.

login_method: AccessLoginMethodRuleLoginMethod
id: str

The ID of an identity provider.

class IPListRule:

Matches an IP address from a list.

ip_list: IPList
id: str

The ID of a previously created IP list.

class IPRule:

Matches an IP address block.

ip: IP
ip: str

An IPv4 or IPv6 CIDR block.

class OktaGroupRule:

Matches an Okta group. Requires an Okta identity provider.

okta: Okta
identity_provider_id: str

The ID of your Okta identity provider.

name: str

The name of the Okta group.

class SAMLGroupRule:

Matches a SAML group. Requires a SAML identity provider.

saml: SAML
attribute_name: str

The name of the SAML attribute.

attribute_value: str

The SAML attribute value to look for.

identity_provider_id: str

The ID of your SAML identity provider.

class AccessOIDCClaimRule:

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: AccessOIDCClaimRuleOIDC
claim_name: str

The name of the OIDC claim.

claim_value: str

The OIDC claim value to look for.

identity_provider_id: str

The ID of your OIDC identity provider.

class ServiceTokenRule:

Matches a specific Access Service Token

service_token: ServiceToken
token_id: str

The ID of a Service Token.

class AccessLinkedAppTokenRule:

Matches OAuth 2.0 access tokens issued by the specified Access OIDC SaaS application. Only compatible with non_identity and bypass decisions.

linked_app_token: AccessLinkedAppTokenRuleLinkedAppToken
app_uid: str

The ID of an Access OIDC SaaS application

class AccessUserRiskScoreRule:

Matches a user's risk score.

user_risk_score: AccessUserRiskScoreRuleUserRiskScore
user_risk_score: List[Literal["low", "medium", "high", "unscored"]]

A list of risk score levels to match. Values can be low, medium, high, or unscored.

One of the following:
"low"
"medium"
"high"
"unscored"
session_duration: Optional[str]

The 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.

updated_at: Optional[datetime]
formatdate-time
scim_config: Optional[McpServerPortalApplicationSCIMConfig]

Configuration for provisioning to this application via SCIM. This is currently in closed beta.

idp_uid: str

The UID of the IdP to use as the source for SCIM resources to provision to this application.

remote_uri: str

The base URI for the application's SCIM-compatible API.

authentication: Optional[McpServerPortalApplicationSCIMConfigAuthentication]

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class McpServerPortalApplicationSCIMConfigAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

List[McpServerPortalApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthentication]

Multiple authentication schemes

One of the following:
class SCIMConfigAuthenticationHTTPBasic:

Attributes for configuring HTTP Basic authentication scheme for SCIM provisioning to an application.

password: str

Password used to authenticate with the remote SCIM service.

scheme: Literal["httpbasic"]

The authentication scheme to use when making SCIM requests to this application.

user: str

User name used to authenticate with the remote SCIM service.

class SCIMConfigAuthenticationOAuthBearerToken:

Attributes for configuring OAuth Bearer Token authentication scheme for SCIM provisioning to an application.

token: str

Token used to authenticate with the remote SCIM service.

scheme: Literal["oauthbearertoken"]

The authentication scheme to use when making SCIM requests to this application.

class SCIMConfigAuthenticationOauth2:

Attributes for configuring OAuth 2 authentication scheme for SCIM provisioning to an application.

authorization_url: str

URL used to generate the auth code used during token generation.

client_id: str

Client ID used to authenticate when generating a token for authenticating with the remote SCIM service.

client_secret: str

Secret used to authenticate when generating a token for authenticating with the remove SCIM service.

scheme: Literal["oauth2"]

The authentication scheme to use when making SCIM requests to this application.

token_url: str

URL used to generate the token used to authenticate with the remote SCIM service.

scopes: Optional[List[str]]

The authorization scopes to request when generating the token used to authenticate with the remove SCIM service.

class McpServerPortalApplicationSCIMConfigAuthenticationAccessSCIMConfigMultiAuthenticationAccessSCIMConfigAuthenticationAccessServiceToken:

Attributes for configuring Access Service Token authentication scheme for SCIM provisioning to an application.

client_id: str

Client ID of the Access service token used to authenticate with the remote service.

client_secret: str

Client secret of the Access service token used to authenticate with the remote service.

scheme: Literal["access_service_token"]

The authentication scheme to use when making SCIM requests to this application.

deactivate_on_delete: Optional[bool]

If 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.

enabled: Optional[bool]

Whether SCIM provisioning is turned on for this application.

mappings: Optional[List[SCIMConfigMapping]]

A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.

schema: str

Which SCIM resource type this mapping applies to.

enabled: Optional[bool]

Whether or not this mapping is enabled.

filter: Optional[str]

A SCIM filter expression that matches resources that should be provisioned to this application.

operations: Optional[Operations]

Whether or not this mapping applies to creates, updates, or deletes.

create: Optional[bool]

Whether or not this mapping applies to create (POST) operations.

delete: Optional[bool]

Whether or not this mapping applies to DELETE operations.

update: Optional[bool]

Whether or not this mapping applies to update (PATCH/PUT) operations.

strictness: Optional[Literal["strict", "passthrough"]]

The level of adherence to outbound resource schemas when provisioning to this mapping. ‘Strict’ removes unknown values, while ‘passthrough’ passes unknown values to the target.

One of the following:
"strict"
"passthrough"
transform_jsonata: Optional[str]

A JSONata expression that transforms the resource before provisioning it in the application.

session_duration: Optional[str]

The 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. Note: unsupported for infrastructure type applications.

tags: Optional[List[str]]

The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.

Add an Access application

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
application = client.zero_trust.access.applications.create(
    domain="test.example.com/admin",
    type="self_hosted",
    account_id="account_id",
)
print(application)
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "domain": "test.example.com/admin",
    "type": "self_hosted",
    "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
    "allow_authenticate_via_warp": true,
    "allow_iframe": true,
    "allowed_idps": [
      "699d98642c564d2e855e9661899b7252"
    ],
    "app_launcher_visible": true,
    "aud": "737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe3893",
    "auto_redirect_to_identity": true,
    "cors_headers": {
      "allow_all_headers": true,
      "allow_all_methods": true,
      "allow_all_origins": true,
      "allow_credentials": true,
      "allowed_headers": [
        "string"
      ],
      "allowed_methods": [
        "GET"
      ],
      "allowed_origins": [
        "https://example.com"
      ],
      "max_age": -1
    },
    "created_at": "2014-01-01T05:20:00.12345Z",
    "custom_deny_message": "custom_deny_message",
    "custom_deny_url": "custom_deny_url",
    "custom_non_identity_deny_url": "custom_non_identity_deny_url",
    "custom_pages": [
      "699d98642c564d2e855e9661899b7252"
    ],
    "destinations": [
      {
        "type": "public",
        "uri": "test.example.com/admin"
      },
      {
        "type": "public",
        "uri": "test.anotherexample.com/staff"
      },
      {
        "cidr": "10.5.0.0/24",
        "hostname": "hostname",
        "l4_protocol": "tcp",
        "port_range": "80-90",
        "type": "private",
        "vnet_id": "vnet_id"
      },
      {
        "cidr": "10.5.0.3/32",
        "hostname": "hostname",
        "l4_protocol": "tcp",
        "port_range": "80",
        "type": "private",
        "vnet_id": "vnet_id"
      },
      {
        "cidr": "cidr",
        "hostname": "private-sni.example.com",
        "l4_protocol": "tcp",
        "port_range": "port_range",
        "type": "private",
        "vnet_id": "vnet_id"
      },
      {
        "mcp_server_id": "mcp-server-1",
        "type": "via_mcp_server_portal"
      }
    ],
    "enable_binding_cookie": true,
    "http_only_cookie_attribute": true,
    "logo_url": "https://www.cloudflare.com/img/logo-web-badges/cf-logo-on-white-bg.svg",
    "mfa_config": {
      "allowed_authenticators": [
        "totp",
        "biometrics",
        "security_key"
      ],
      "mfa_disabled": false,
      "session_duration": "24h"
    },
    "name": "Admin Site",
    "oauth_configuration": {
      "dynamic_client_registration": {
        "allow_any_on_localhost": true,
        "allow_any_on_loopback": true,
        "allowed_uris": [
          "https://example.com/callback"
        ],
        "enabled": true
      },
      "enabled": true,
      "grant": {
        "access_token_lifetime": "5m",
        "session_duration": "24h"
      }
    },
    "options_preflight_bypass": true,
    "path_cookie_attribute": true,
    "policies": [
      {
        "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
        "approval_groups": [
          {
            "approvals_needed": 1,
            "email_addresses": [
              "test1@cloudflare.com",
              "test2@cloudflare.com"
            ],
            "email_list_uuid": "email_list_uuid"
          },
          {
            "approvals_needed": 3,
            "email_addresses": [
              "test@cloudflare.com",
              "test2@cloudflare.com"
            ],
            "email_list_uuid": "597147a1-976b-4ef2-9af0-81d5d007fc34"
          }
        ],
        "approval_required": true,
        "connection_rules": {
          "rdp": {
            "allowed_clipboard_local_to_remote_formats": [
              "text"
            ],
            "allowed_clipboard_remote_to_local_formats": [
              "text"
            ]
          }
        },
        "created_at": "2014-01-01T05:20:00.12345Z",
        "decision": "allow",
        "exclude": [
          {
            "group": {
              "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
            }
          }
        ],
        "include": [
          {
            "group": {
              "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
            }
          }
        ],
        "isolation_required": false,
        "mfa_config": {
          "allowed_authenticators": [
            "totp",
            "biometrics",
            "security_key"
          ],
          "mfa_disabled": false,
          "session_duration": "24h"
        },
        "name": "Allow devs",
        "precedence": 0,
        "purpose_justification_prompt": "Please enter a justification for entering this protected domain.",
        "purpose_justification_required": true,
        "require": [
          {
            "group": {
              "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
            }
          }
        ],
        "session_duration": "24h",
        "updated_at": "2014-01-01T05:20:00.12345Z"
      }
    ],
    "read_service_tokens_from_header": "Authorization",
    "same_site_cookie_attribute": "strict",
    "scim_config": {
      "idp_uid": "idp_uid",
      "remote_uri": "remote_uri",
      "authentication": {
        "password": "password",
        "scheme": "httpbasic",
        "user": "user"
      },
      "deactivate_on_delete": true,
      "enabled": true,
      "mappings": [
        {
          "schema": "urn:ietf:params:scim:schemas:core:2.0:User",
          "enabled": true,
          "filter": "title pr or userType eq \"Intern\"",
          "operations": {
            "create": true,
            "delete": true,
            "update": true
          },
          "strictness": "strict",
          "transform_jsonata": "$merge([$, {'userName': $substringBefore($.userName, '@') & '+test@' & $substringAfter($.userName, '@')}])"
        }
      ]
    },
    "self_hosted_domains": [
      "test.example.com/admin",
      "test.anotherexample.com/staff"
    ],
    "service_auth_401_redirect": true,
    "session_duration": "24h",
    "skip_interstitial": true,
    "tags": [
      "engineers"
    ],
    "updated_at": "2014-01-01T05:20:00.12345Z",
    "use_clientless_isolation_app_launcher_url": false
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "domain": "test.example.com/admin",
    "type": "self_hosted",
    "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
    "allow_authenticate_via_warp": true,
    "allow_iframe": true,
    "allowed_idps": [
      "699d98642c564d2e855e9661899b7252"
    ],
    "app_launcher_visible": true,
    "aud": "737646a56ab1df6ec9bddc7e5ca84eaf3b0768850f3ffb5d74f1534911fe3893",
    "auto_redirect_to_identity": true,
    "cors_headers": {
      "allow_all_headers": true,
      "allow_all_methods": true,
      "allow_all_origins": true,
      "allow_credentials": true,
      "allowed_headers": [
        "string"
      ],
      "allowed_methods": [
        "GET"
      ],
      "allowed_origins": [
        "https://example.com"
      ],
      "max_age": -1
    },
    "created_at": "2014-01-01T05:20:00.12345Z",
    "custom_deny_message": "custom_deny_message",
    "custom_deny_url": "custom_deny_url",
    "custom_non_identity_deny_url": "custom_non_identity_deny_url",
    "custom_pages": [
      "699d98642c564d2e855e9661899b7252"
    ],
    "destinations": [
      {
        "type": "public",
        "uri": "test.example.com/admin"
      },
      {
        "type": "public",
        "uri": "test.anotherexample.com/staff"
      },
      {
        "cidr": "10.5.0.0/24",
        "hostname": "hostname",
        "l4_protocol": "tcp",
        "port_range": "80-90",
        "type": "private",
        "vnet_id": "vnet_id"
      },
      {
        "cidr": "10.5.0.3/32",
        "hostname": "hostname",
        "l4_protocol": "tcp",
        "port_range": "80",
        "type": "private",
        "vnet_id": "vnet_id"
      },
      {
        "cidr": "cidr",
        "hostname": "private-sni.example.com",
        "l4_protocol": "tcp",
        "port_range": "port_range",
        "type": "private",
        "vnet_id": "vnet_id"
      },
      {
        "mcp_server_id": "mcp-server-1",
        "type": "via_mcp_server_portal"
      }
    ],
    "enable_binding_cookie": true,
    "http_only_cookie_attribute": true,
    "logo_url": "https://www.cloudflare.com/img/logo-web-badges/cf-logo-on-white-bg.svg",
    "mfa_config": {
      "allowed_authenticators": [
        "totp",
        "biometrics",
        "security_key"
      ],
      "mfa_disabled": false,
      "session_duration": "24h"
    },
    "name": "Admin Site",
    "oauth_configuration": {
      "dynamic_client_registration": {
        "allow_any_on_localhost": true,
        "allow_any_on_loopback": true,
        "allowed_uris": [
          "https://example.com/callback"
        ],
        "enabled": true
      },
      "enabled": true,
      "grant": {
        "access_token_lifetime": "5m",
        "session_duration": "24h"
      }
    },
    "options_preflight_bypass": true,
    "path_cookie_attribute": true,
    "policies": [
      {
        "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
        "approval_groups": [
          {
            "approvals_needed": 1,
            "email_addresses": [
              "test1@cloudflare.com",
              "test2@cloudflare.com"
            ],
            "email_list_uuid": "email_list_uuid"
          },
          {
            "approvals_needed": 3,
            "email_addresses": [
              "test@cloudflare.com",
              "test2@cloudflare.com"
            ],
            "email_list_uuid": "597147a1-976b-4ef2-9af0-81d5d007fc34"
          }
        ],
        "approval_required": true,
        "connection_rules": {
          "rdp": {
            "allowed_clipboard_local_to_remote_formats": [
              "text"
            ],
            "allowed_clipboard_remote_to_local_formats": [
              "text"
            ]
          }
        },
        "created_at": "2014-01-01T05:20:00.12345Z",
        "decision": "allow",
        "exclude": [
          {
            "group": {
              "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
            }
          }
        ],
        "include": [
          {
            "group": {
              "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
            }
          }
        ],
        "isolation_required": false,
        "mfa_config": {
          "allowed_authenticators": [
            "totp",
            "biometrics",
            "security_key"
          ],
          "mfa_disabled": false,
          "session_duration": "24h"
        },
        "name": "Allow devs",
        "precedence": 0,
        "purpose_justification_prompt": "Please enter a justification for entering this protected domain.",
        "purpose_justification_required": true,
        "require": [
          {
            "group": {
              "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f"
            }
          }
        ],
        "session_duration": "24h",
        "updated_at": "2014-01-01T05:20:00.12345Z"
      }
    ],
    "read_service_tokens_from_header": "Authorization",
    "same_site_cookie_attribute": "strict",
    "scim_config": {
      "idp_uid": "idp_uid",
      "remote_uri": "remote_uri",
      "authentication": {
        "password": "password",
        "scheme": "httpbasic",
        "user": "user"
      },
      "deactivate_on_delete": true,
      "enabled": true,
      "mappings": [
        {
          "schema": "urn:ietf:params:scim:schemas:core:2.0:User",
          "enabled": true,
          "filter": "title pr or userType eq \"Intern\"",
          "operations": {
            "create": true,
            "delete": true,
            "update": true
          },
          "strictness": "strict",
          "transform_jsonata": "$merge([$, {'userName': $substringBefore($.userName, '@') & '+test@' & $substringAfter($.userName, '@')}])"
        }
      ]
    },
    "self_hosted_domains": [
      "test.example.com/admin",
      "test.anotherexample.com/staff"
    ],
    "service_auth_401_redirect": true,
    "session_duration": "24h",
    "skip_interstitial": true,
    "tags": [
      "engineers"
    ],
    "updated_at": "2014-01-01T05:20:00.12345Z",
    "use_clientless_isolation_app_launcher_url": false
  }
}