Skip to content
Start here

Zero Trust

Zero TrustDevices

List devices (deprecated)
Deprecated
GET/accounts/{account_id}/devices
Get device (deprecated)
Deprecated
GET/accounts/{account_id}/devices/{device_id}
ModelsExpand Collapse
Device object { id, created, deleted, 17 more }
id: optional string

Registration ID. Equal to Device ID except for accounts which enabled multi-user mode.

maxLength36
created: optional string

When the device was created.

formatdate-time
deleted: optional boolean

True if the device was deleted.

device_type: optional "windows" or "mac" or "linux" or 3 more
One of the following:
"windows"
"mac"
"linux"
"android"
"ios"
"chromeos"
ip: optional string

IPv4 or IPv6 address.

key: optional string

The device’s public key.

last_seen: optional string

When the device last connected to Cloudflare services.

formatdate-time
mac_address: optional string

The device mac address.

manufacturer: optional string

The device manufacturer name.

model: optional string

The device model name.

name: optional string

The device name.

os_distro_name: optional string

The Linux distro name.

os_distro_revision: optional string

The Linux distro revision.

os_version: optional string

The operating system version.

os_version_extra: optional string

Additional operating system version details. For Windows, the UBR (Update Build Revision). For Mac or iOS, the Product Version Extra. For Linux, the distribution name and version.

revoked_at: optional string

When the device was revoked.

formatdate-time
serial_number: optional string

The device serial number.

updated: optional string

When the device was updated.

formatdate-time
user: optional object { id, email, name }
id: optional string

UUID.

maxLength36
email: optional string

The contact email address of the user.

maxLength90
name: optional string

The enrolled device user’s name.

version: optional string

The WARP client version.

DeviceGetResponse object { id, account, created, 16 more }
id: optional string

Registration ID. Equal to Device ID except for accounts which enabled multi-user mode.

maxLength36
account: optional object { id, account_type, name }
Deprecatedid: optional string
Deprecatedaccount_type: optional string
name: optional string

The name of the enrolled account.

created: optional string

When the device was created.

formatdate-time
deleted: optional boolean

True if the device was deleted.

device_type: optional string
Deprecatedgateway_device_id: optional string
ip: optional string

IPv4 or IPv6 address.

key: optional string

The device’s public key.

key_type: optional string

Type of the key.

last_seen: optional string

When the device last connected to Cloudflare services.

formatdate-time
mac_address: optional string

The device mac address.

model: optional string

The device model name.

name: optional string

The device name.

os_version: optional string

The operating system version.

serial_number: optional string

The device serial number.

tunnel_type: optional string

Type of the tunnel connection used.

updated: optional string

When the device was updated.

formatdate-time
user: optional object { id, email, name }
id: optional string

UUID.

maxLength36
email: optional string

The contact email address of the user.

maxLength90
name: optional string

The enrolled device user’s name.

version: optional string

The WARP client version.

Zero TrustDevicesDevices

List devices
GET/accounts/{account_id}/devices/physical-devices
Get device
GET/accounts/{account_id}/devices/physical-devices/{device_id}
Delete device
DELETE/accounts/{account_id}/devices/physical-devices/{device_id}
Revoke device registrations
POST/accounts/{account_id}/devices/physical-devices/{device_id}/revoke
ModelsExpand Collapse
DeviceListResponse object { id, active_registrations, created_at, 16 more }

A WARP Device.

id: string

The unique ID of the device.

active_registrations: number

The number of active registrations for the device. Active registrations are those which haven’t been revoked or deleted.

created_at: string

The RFC3339 timestamp when the device was created.

last_seen_at: string

The RFC3339 timestamp when the device was last seen.

name: string

The name of the device.

updated_at: string

The RFC3339 timestamp when the device was last updated.

client_version: optional string

Version of the WARP client.

deleted_at: optional string

The RFC3339 timestamp when the device was deleted.

device_type: optional string

The device operating system.

hardware_id: optional string

A string that uniquely identifies the hardware or virtual machine (VM).

last_seen_registration: optional object { policy }

The last seen registration for the device.

policy: optional object { id, default, deleted, 2 more }

A summary of the device profile evaluated for the registration.

id: string

The ID of the device settings profile.

default: boolean

Whether the device settings profile is the default profile for the account.

deleted: boolean

Whether the device settings profile was deleted.

name: string

The name of the device settings profile.

updated_at: string

The RFC3339 timestamp of when the device settings profile last changed for the registration.

last_seen_user: optional object { id, email, name }

The last user to use the WARP device.

id: optional string

UUID.

maxLength36
email: optional string

The contact email address of the user.

maxLength90
name: optional string

The enrolled device user’s name.

mac_address: optional string

The device MAC address.

manufacturer: optional string

The device manufacturer.

model: optional string

The model name of the device.

os_version: optional string

The device operating system version number.

os_version_extra: optional string

Additional operating system version details. For Windows, the UBR (Update Build Revision). For Mac or iOS, the Product Version Extra. For Linux, the distribution name and version.

serial_number: optional string

The device serial number.

DeviceGetResponse object { id, active_registrations, created_at, 16 more }

A WARP Device.

id: string

The unique ID of the device.

active_registrations: number

The number of active registrations for the device. Active registrations are those which haven’t been revoked or deleted.

created_at: string

The RFC3339 timestamp when the device was created.

last_seen_at: string

The RFC3339 timestamp when the device was last seen.

name: string

The name of the device.

updated_at: string

The RFC3339 timestamp when the device was last updated.

client_version: optional string

Version of the WARP client.

deleted_at: optional string

The RFC3339 timestamp when the device was deleted.

device_type: optional string

The device operating system.

hardware_id: optional string

A string that uniquely identifies the hardware or virtual machine (VM).

last_seen_registration: optional object { policy }

The last seen registration for the device.

policy: optional object { id, default, deleted, 2 more }

A summary of the device profile evaluated for the registration.

id: string

The ID of the device settings profile.

default: boolean

Whether the device settings profile is the default profile for the account.

deleted: boolean

Whether the device settings profile was deleted.

name: string

The name of the device settings profile.

updated_at: string

The RFC3339 timestamp of when the device settings profile last changed for the registration.

last_seen_user: optional object { id, email, name }

The last user to use the WARP device.

id: optional string

UUID.

maxLength36
email: optional string

The contact email address of the user.

maxLength90
name: optional string

The enrolled device user’s name.

mac_address: optional string

The device MAC address.

manufacturer: optional string

The device manufacturer.

model: optional string

The model name of the device.

os_version: optional string

The device operating system version number.

os_version_extra: optional string

Additional operating system version details. For Windows, the UBR (Update Build Revision). For Mac or iOS, the Product Version Extra. For Linux, the distribution name and version.

serial_number: optional string

The device serial number.

DeviceDeleteResponse = unknown
DeviceRevokeResponse = unknown

Zero TrustDevicesResilience

Zero TrustDevicesResilienceGlobal WARP Override

Retrieve Global WARP override state
GET/accounts/{account_id}/devices/resilience/disconnect
Set Global WARP override state
POST/accounts/{account_id}/devices/resilience/disconnect
ModelsExpand Collapse
GlobalWARPOverrideGetResponse object { disconnect, timestamp }
disconnect: optional boolean

Disconnects all devices on the account using Global WARP override.

timestamp: optional string

When the Global WARP override state was updated.

formatdate-time
GlobalWARPOverrideCreateResponse object { disconnect, timestamp }
disconnect: optional boolean

Disconnects all devices on the account using Global WARP override.

timestamp: optional string

When the Global WARP override state was updated.

formatdate-time

Zero TrustDevicesRegistrations

List registrations
GET/accounts/{account_id}/devices/registrations
Get registration
GET/accounts/{account_id}/devices/registrations/{registration_id}
Delete registration
DELETE/accounts/{account_id}/devices/registrations/{registration_id}
Delete registrations
DELETE/accounts/{account_id}/devices/registrations
Revoke registrations
POST/accounts/{account_id}/devices/registrations/revoke
Unrevoke registrations
POST/accounts/{account_id}/devices/registrations/unrevoke
ModelsExpand Collapse
RegistrationListResponse object { id, created_at, device, 11 more }

A WARP configuration tied to a single user. Multiple registrations can be created from a single WARP device.

id: string

The ID of the registration.

created_at: string

The RFC3339 timestamp when the registration was created.

device: object { id, name, client_version }

Device details embedded inside of a registration.

id: string

The ID of the device.

name: string

The name of the device.

client_version: optional string

Version of the WARP client.

key: string

The public key used to connect to the Cloudflare network.

last_seen_at: string

The RFC3339 timestamp when the registration was last seen.

updated_at: string

The RFC3339 timestamp when the registration was last updated.

deleted_at: optional string

The RFC3339 timestamp when the registration was deleted.

key_type: optional string

The type of encryption key used by the WARP client for the active key. Currently ‘curve25519’ for WireGuard and ‘secp256r1’ for MASQUE.

policy: optional object { id, default, deleted, 2 more }

The device settings profile assigned to this registration.

id: string

The ID of the device settings profile.

default: boolean

Whether the device settings profile is the default profile for the account.

deleted: boolean

Whether the device settings profile was deleted.

name: string

The name of the device settings profile.

updated_at: string

The RFC3339 timestamp of when the device settings profile last changed for the registration.

revoked_at: optional string

The RFC3339 timestamp when the registration was revoked.

tunnel_type: optional string

Type of the tunnel - wireguard or masque.

user: optional object { id, email, name }
id: optional string

UUID.

maxLength36
email: optional string

The contact email address of the user.

maxLength90
name: optional string

The enrolled device user’s name.

virtual_ipv4: optional string

The virtual IPv4 address assigned to the network interface of the tunnel for this registration.

virtual_ipv6: optional string

The virtual IPv6 address assigned to the network interface of the tunnel for this registration.

RegistrationGetResponse object { id, created_at, device, 11 more }

A WARP configuration tied to a single user. Multiple registrations can be created from a single WARP device.

id: string

The ID of the registration.

created_at: string

The RFC3339 timestamp when the registration was created.

device: object { id, name, client_version }

Device details embedded inside of a registration.

id: string

The ID of the device.

name: string

The name of the device.

client_version: optional string

Version of the WARP client.

key: string

The public key used to connect to the Cloudflare network.

last_seen_at: string

The RFC3339 timestamp when the registration was last seen.

updated_at: string

The RFC3339 timestamp when the registration was last updated.

deleted_at: optional string

The RFC3339 timestamp when the registration was deleted.

key_type: optional string

The type of encryption key used by the WARP client for the active key. Currently ‘curve25519’ for WireGuard and ‘secp256r1’ for MASQUE.

policy: optional object { id, default, deleted, 2 more }

The device settings profile assigned to this registration.

id: string

The ID of the device settings profile.

default: boolean

Whether the device settings profile is the default profile for the account.

deleted: boolean

Whether the device settings profile was deleted.

name: string

The name of the device settings profile.

updated_at: string

The RFC3339 timestamp of when the device settings profile last changed for the registration.

revoked_at: optional string

The RFC3339 timestamp when the registration was revoked.

tunnel_type: optional string

Type of the tunnel - wireguard or masque.

user: optional object { id, email, name }
id: optional string

UUID.

maxLength36
email: optional string

The contact email address of the user.

maxLength90
name: optional string

The enrolled device user’s name.

virtual_ipv4: optional string

The virtual IPv4 address assigned to the network interface of the tunnel for this registration.

virtual_ipv6: optional string

The virtual IPv6 address assigned to the network interface of the tunnel for this registration.

RegistrationDeleteResponse = unknown
RegistrationBulkDeleteResponse = unknown
RegistrationRevokeResponse = unknown
RegistrationUnrevokeResponse = unknown

Zero TrustDevicesDEX Tests

List Device DEX tests
GET/accounts/{account_id}/dex/devices/dex_tests
Get Device DEX test
GET/accounts/{account_id}/dex/devices/dex_tests/{dex_test_id}
Create Device DEX test
POST/accounts/{account_id}/dex/devices/dex_tests
Update Device DEX test
PUT/accounts/{account_id}/dex/devices/dex_tests/{dex_test_id}
Delete Device DEX test
DELETE/accounts/{account_id}/dex/devices/dex_tests/{dex_test_id}
ModelsExpand Collapse
SchemaData object { host, kind, method }

The configuration object which contains the details for the WARP client to conduct the test.

host: string

The desired endpoint to test.

kind: "http" or "traceroute"

The type of test.

One of the following:
"http"
"traceroute"
method: optional "GET"

The HTTP request method type.

SchemaHTTP object { data, enabled, interval, 7 more }
data: SchemaData { host, kind, method }

The configuration object which contains the details for the WARP client to conduct the test.

enabled: boolean

Determines whether or not the test is active.

interval: string

How often the test will run.

name: string

The name of the DEX test. Must be unique.

created: optional string

Date the test was created, in RFC 3339 format.

formatdate-time
description: optional string

Additional details about the test.

target_policies: optional array of object { id, default, name }

DEX rules targeted by this test

id: string

The id of the DEX rule.

maxLength36
default: optional boolean

Whether the DEX rule is the account default.

name: optional string

The name of the DEX rule.

targeted: optional boolean
test_id: optional string

The unique identifier for the test.

maxLength32
updated: optional string

Date the test was last updated, in RFC 3339 format.

formatdate-time
DEXTestDeleteResponse object { dex_tests }
dex_tests: optional array of SchemaHTTP { data, enabled, interval, 7 more }
data: SchemaData { host, kind, method }

The configuration object which contains the details for the WARP client to conduct the test.

enabled: boolean

Determines whether or not the test is active.

interval: string

How often the test will run.

name: string

The name of the DEX test. Must be unique.

created: optional string

Date the test was created, in RFC 3339 format.

formatdate-time
description: optional string

Additional details about the test.

target_policies: optional array of object { id, default, name }

DEX rules targeted by this test

id: string

The id of the DEX rule.

maxLength36
default: optional boolean

Whether the DEX rule is the account default.

name: optional string

The name of the DEX rule.

targeted: optional boolean
test_id: optional string

The unique identifier for the test.

maxLength32
updated: optional string

Date the test was last updated, in RFC 3339 format.

formatdate-time

Zero TrustDevicesIP Profiles

List IP profiles
GET/accounts/{account_id}/devices/ip-profiles
Get IP profile
GET/accounts/{account_id}/devices/ip-profiles/{profile_id}
Create IP profile
POST/accounts/{account_id}/devices/ip-profiles
Update IP profile
PATCH/accounts/{account_id}/devices/ip-profiles/{profile_id}
Delete IP profile
DELETE/accounts/{account_id}/devices/ip-profiles/{profile_id}
ModelsExpand Collapse
IPProfile object { id, created_at, description, 6 more }
id: string

The ID of the Device IP profile.

created_at: string

The RFC3339Nano timestamp when the Device IP profile was created.

description: string

An optional description of the Device IP profile.

enabled: boolean

Whether the Device IP profile is enabled.

match: string

The wirefilter expression to match registrations. Available values: “identity.name”, “identity.email”, “identity.groups.id”, “identity.groups.name”, “identity.groups.email”, “identity.saml_attributes”.

maxLength10000
name: string

A user-friendly name for the Device IP profile.

precedence: number

The precedence of the Device IP profile. Lower values indicate higher precedence. Device IP profile will be evaluated in ascending order of this field.

subnet_id: string

The ID of the Subnet.

updated_at: string

The RFC3339Nano timestamp when the Device IP profile was last updated.

IPProfileDeleteResponse object { id }
id: optional string

ID of the deleted Device IP profile.

Zero TrustDevicesDeployment Groups

List deployment groups
GET/accounts/{account_id}/devices/deployment-groups
Get deployment group
GET/accounts/{account_id}/devices/deployment-groups/{group_id}
Create deployment group
POST/accounts/{account_id}/devices/deployment-groups
Update deployment group
PATCH/accounts/{account_id}/devices/deployment-groups/{group_id}
Delete deployment group
DELETE/accounts/{account_id}/devices/deployment-groups/{group_id}
ModelsExpand Collapse
DeploymentGroup object { id, created_at, name, 3 more }
id: string

The ID of the deployment group.

created_at: string

The RFC3339Nano timestamp when the deployment group was created.

name: string

A user-friendly name for the deployment group.

maxLength255
minLength1
updated_at: string

The RFC3339Nano timestamp when the deployment group was last updated.

version_config: array of object { target_environment, version }

Contains version configurations for different target environments.

target_environment: string

The target environment for the client version (e.g., windows, macos).

version: string

The specific client version to deploy.

policy_ids: optional array of string

Contains a list of policy IDs assigned to this deployment group.

DeploymentGroupDeleteResponse object { id }
id: optional string

The ID of a deleted deployment group.

Zero TrustDevicesNetworks

List your device managed networks
GET/accounts/{account_id}/devices/networks
Get device managed network details
GET/accounts/{account_id}/devices/networks/{network_id}
Create a device managed network
POST/accounts/{account_id}/devices/networks
Update a device managed network
PUT/accounts/{account_id}/devices/networks/{network_id}
Delete a device managed network
DELETE/accounts/{account_id}/devices/networks/{network_id}
ModelsExpand Collapse
DeviceNetwork object { config, name, network_id, type }
config: optional object { tls_sockaddr, sha256 }

The configuration object containing information for the WARP client to detect the managed network.

tls_sockaddr: string

A network address of the form “host:port” that the WARP client will use to detect the presence of a TLS host.

sha256: optional string

The SHA-256 hash of the TLS certificate presented by the host found at tls_sockaddr. If absent, regular certificate verification (trusted roots, valid timestamp, etc) will be used to validate the certificate.

name: optional string

The name of the device managed network. This name must be unique.

network_id: optional string

API UUID.

maxLength36
type: optional "tls"

The type of device managed network.

Zero TrustDevicesFleet Status

Get the latest status of a device.
GET/accounts/{account_id}/dex/devices/{device_id}/fleet-status/live
ModelsExpand Collapse
FleetStatusGetResponse object { colo, deviceId, mode, 40 more }
colo: string

Cloudflare colo airport code.

deviceId: string

Device identifier (UUID v4)

mode: string

The mode under which the WARP client is run.

platform: string

Operating system.

status: string

Network status.

timestamp: string
version: string

WARP client version.

alwaysOn: optional boolean
batteryCharging: optional boolean
batteryCycles: optional number
formatint64
batteryPct: optional number
formatfloat
connectionType: optional string
cpuPct: optional number
formatfloat
cpuPctByApp: optional array of object { cpu_pct, name }
cpu_pct: optional number

CPU usage percentage, on a scale of 0 to 100.

formatfloat
maximum100
minimum0
name: optional string

Application name.

deviceIpv4: optional object { address, asn, aso, 4 more }
address: optional string
asn: optional number
aso: optional string
location: optional object { city, country_iso, state_iso, zip }
city: optional string
country_iso: optional string
state_iso: optional string
zip: optional string
name: optional string
netmask: optional string
version: optional number

IP version (1 for IPv4, 2 for IPv6, 0 if unknown).

deviceIpv6: optional object { address, asn, aso, 4 more }
address: optional string
asn: optional number
aso: optional string
location: optional object { city, country_iso, state_iso, zip }
city: optional string
country_iso: optional string
state_iso: optional string
zip: optional string
name: optional string
netmask: optional string
version: optional number

IP version (1 for IPv4, 2 for IPv6, 0 if unknown).

deviceName: optional string

Device identifier (human readable).

DeprecateddeviceRegistration: optional string

Use registrationId instead.

Deprecated: use registrationId. Device registration identifier (UUID).

diskReadBps: optional number
formatint64
diskUsagePct: optional number
formatfloat
diskWriteBps: optional number
formatint64
dohSubdomain: optional string
estimatedLossPct: optional number
formatfloat
firewallEnabled: optional boolean
gatewayIpv4: optional object { address, asn, aso, 4 more }
address: optional string
asn: optional number
aso: optional string
location: optional object { city, country_iso, state_iso, zip }
city: optional string
country_iso: optional string
state_iso: optional string
zip: optional string
name: optional string
netmask: optional string
version: optional number

IP version (1 for IPv4, 2 for IPv6, 0 if unknown).

gatewayIpv6: optional object { address, asn, aso, 4 more }
address: optional string
asn: optional number
aso: optional string
location: optional object { city, country_iso, state_iso, zip }
city: optional string
country_iso: optional string
state_iso: optional string
zip: optional string
name: optional string
netmask: optional string
version: optional number

IP version (1 for IPv4, 2 for IPv6, 0 if unknown).

handshakeLatencyMs: optional number
formatint64
ispIpv4: optional object { address, asn, aso, 4 more }
address: optional string
asn: optional number
aso: optional string
location: optional object { city, country_iso, state_iso, zip }
city: optional string
country_iso: optional string
state_iso: optional string
zip: optional string
name: optional string
netmask: optional string
version: optional number

IP version (1 for IPv4, 2 for IPv6, 0 if unknown).

ispIpv6: optional object { address, asn, aso, 4 more }
address: optional string
asn: optional number
aso: optional string
location: optional object { city, country_iso, state_iso, zip }
city: optional string
country_iso: optional string
state_iso: optional string
zip: optional string
name: optional string
netmask: optional string
version: optional number

IP version (1 for IPv4, 2 for IPv6, 0 if unknown).

metal: optional string
networkRcvdBps: optional number
formatint64
networkSentBps: optional number
formatint64
networkSsid: optional string
personEmail: optional string

User contact email address

ramAvailableKb: optional number
formatint64
ramUsedPct: optional number
formatfloat
ramUsedPctByApp: optional array of object { name, ram_used_pct }
name: optional string

Application name.

ram_used_pct: optional number

RAM usage percentage, on a scale of 0 to 100.

formatfloat
maximum100
minimum0
registrationId: optional string

Device registration identifier (UUID v4). On multi-user devices, this uniquely identifies a user’s registration on the device.

rtt: optional object { minRttUs, rttUs, rttVarUs }

Round-trip time statistics for the WARP tunnel.

minRttUs: optional object { downstream, upstream }

Minimum round-trip time in microseconds.

downstream: optional number
upstream: optional number
rttUs: optional object { downstream, upstream }

Round-trip time in microseconds.

downstream: optional number
upstream: optional number
rttVarUs: optional object { downstream, upstream }

Round-trip time variance in microseconds.

downstream: optional number
upstream: optional number
switchLocked: optional boolean
tunnelStats: optional object { bytesLost, bytesReceived, bytesRetransmitted, 6 more }

WARP tunnel packet and byte counters.

bytesLost: optional object { downstream, upstream }

Number of bytes lost, split by direction.

downstream: optional number
upstream: optional number
bytesReceived: optional object { downstream, upstream }

Number of bytes received, split by direction.

downstream: optional number
upstream: optional number
bytesRetransmitted: optional object { downstream, upstream }

Number of bytes retransmitted, split by direction.

downstream: optional number
upstream: optional number
bytesSent: optional object { downstream, upstream }

Number of bytes sent, split by direction.

downstream: optional number
upstream: optional number
packetsLost: optional object { downstream, upstream }

Number of packets lost, split by direction.

downstream: optional number
upstream: optional number
packetsReceived: optional object { downstream, upstream }

Number of packets received, split by direction.

downstream: optional number
upstream: optional number
packetsRetransmitted: optional object { downstream, upstream }

Number of packets retransmitted, split by direction.

downstream: optional number
upstream: optional number
packetsSent: optional object { downstream, upstream }

Number of packets sent, split by direction.

downstream: optional number
upstream: optional number
statsWindowMs: optional number

The measurement window duration in milliseconds.

tunnelType: optional string
wifiStrengthDbm: optional number
formatint64

Zero TrustDevicesPolicies

ModelsExpand Collapse
DevicePolicyCertificates object { enabled }
enabled: boolean

The current status of the device policy certificate provisioning feature for WARP clients.

FallbackDomain object { suffix, description, dns_server }
suffix: string

The domain suffix to match when resolving locally.

description: optional string

A description of the fallback domain, displayed in the client UI.

maxLength100
dns_server: optional array of string

A list of IP addresses to handle domain resolution.

FallbackDomainPolicy = array of FallbackDomain { suffix, description, dns_server }
suffix: string

The domain suffix to match when resolving locally.

description: optional string

A description of the fallback domain, displayed in the client UI.

maxLength100
dns_server: optional array of string

A list of IP addresses to handle domain resolution.

SettingsPolicy object { allow_mode_switch, allow_updates, allowed_to_leave, 27 more }
allow_mode_switch: optional boolean

Whether to allow the user to switch WARP between modes.

allow_updates: optional boolean

Whether to receive update notifications when a new version of the client is available.

allowed_to_leave: optional boolean

Whether to allow devices to leave the organization.

auto_connect: optional number

The amount of time in seconds to reconnect after having been disabled.

captive_portal: optional number

Turn on the captive portal after the specified amount of time.

default: optional boolean

Whether the policy is the default policy for an account.

description: optional string

A description of the policy.

maxLength500
disable_auto_fallback: optional boolean

If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers unless this policy option is set to true.

dns_search_suffixes: optional array of object { suffix, description }

List of DNS search suffixes to apply to clients. Suffixes are evaluated in order. Use an empty array to clear.

suffix: string

The DNS search suffix to append when resolving short hostnames.

description: optional string

A description of the DNS search suffix.

enabled: optional boolean

Whether the policy will be applied to matching devices.

exclude: optional array of SplitTunnelExclude

List of routes excluded in the WARP client’s tunnel.

One of the following:
TeamsDevicesExcludeSplitTunnelWithAddress object { address, description }
address: string

The address in CIDR format to exclude from the tunnel. If address is present, host must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
TeamsDevicesExcludeSplitTunnelWithHost object { host, description }
host: string

The domain name to exclude from the tunnel. If host is present, address must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
exclude_office_ips: optional boolean

Whether to add Microsoft IPs to Split Tunnel exclusions.

fallback_domains: optional array of FallbackDomain { suffix, description, dns_server }
suffix: string

The domain suffix to match when resolving locally.

description: optional string

A description of the fallback domain, displayed in the client UI.

maxLength100
dns_server: optional array of string

A list of IP addresses to handle domain resolution.

gateway_unique_id: optional string
global_acceleration: optional object { api_endpoints, enabled, masque_endpoints, wireguard_endpoints }

Global Acceleration settings for China. When configured, WARP clients connect to the Global Accelerator addresses instead of the default ones. Please contact your account representative to enable this feature on your account. See https://developers.cloudflare.com/china-network/concepts/global-acceleration/.

api_endpoints: array of string

IP:port entries for the API endpoints.

enabled: boolean

Global acceleration settings are used only when “enabled”.

masque_endpoints: array of string

IP:port entries for the MASQUE tunnel endpoints. Either wireguard_endpoints or masque_endpoints must be provided.

wireguard_endpoints: array of string

IP:port entries for the WireGuard tunnel endpoints. Either wireguard_endpoints or masque_endpoints must be provided.

include: optional array of SplitTunnelInclude

List of routes included in the WARP client’s tunnel.

One of the following:
TeamsDevicesIncludeSplitTunnelWithAddress object { address, description }
address: string

The address in CIDR format to include in the tunnel. If address is present, host must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
TeamsDevicesIncludeSplitTunnelWithHost object { host, description }
host: string

The domain name to include in the tunnel. If host is present, address must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
lan_allow_minutes: optional number

The amount of time in minutes a user is allowed access to their LAN. A value of 0 will allow LAN access until the next WARP reconnection, such as a reboot or a laptop waking from sleep. Note that this field is omitted from the response if null or unset.

lan_allow_subnet_size: optional number

The size of the subnet for the local access network. Note that this field is omitted from the response if null or unset.

match: optional string

The wirefilter expression to match devices. Available values: “identity.email”, “identity.groups.id”, “identity.groups.name”, “identity.groups.email”, “identity.service_token_uuid”, “identity.saml_attributes”, “network”, “os.name”, “os.version”.

maxLength500
name: optional string

The name of the device settings profile.

maxLength100
policy_id: optional string
maxLength36
precedence: optional number

The precedence of the policy. Lower values indicate higher precedence. Policies will be evaluated in ascending order of this field.

register_interface_ip_with_dns: optional boolean

Determines if the operating system will register WARP’s local interface IP with your on-premises DNS server.

sccm_vpn_boundary_support: optional boolean

Determines whether the WARP client indicates to SCCM that it is inside a VPN boundary. (Windows only).

service_mode_v2: optional object { mode, port }
mode: optional string

The mode to run the WARP client under.

port: optional number

The port number when used with proxy mode.

support_url: optional string

The URL to launch when the Send Feedback button is clicked.

switch_locked: optional boolean

Whether to allow the user to turn off the WARP switch and disconnect the client.

target_tests: optional array of object { id, name }
id: optional string

The id of the DEX test targeting this policy.

name: optional string

The name of the DEX test targeting this policy.

tunnel_protocol: optional string

Determines which tunnel protocol to use.

virtual_networks: optional object { allowed, default }

Virtual network access settings for the device.

allowed: array of string

List of virtual network IDs the device is allowed to access. When virtual_networks is set, at least one entry is required.

default: string

The default virtual network ID. Must be included in the allowed list.

formatuuid
SplitTunnelExclude = object { address, description } or object { host, description }
One of the following:
TeamsDevicesExcludeSplitTunnelWithAddress object { address, description }
address: string

The address in CIDR format to exclude from the tunnel. If address is present, host must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
TeamsDevicesExcludeSplitTunnelWithHost object { host, description }
host: string

The domain name to exclude from the tunnel. If host is present, address must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
SplitTunnelInclude = object { address, description } or object { host, description }
One of the following:
TeamsDevicesIncludeSplitTunnelWithAddress object { address, description }
address: string

The address in CIDR format to include in the tunnel. If address is present, host must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
TeamsDevicesIncludeSplitTunnelWithHost object { host, description }
host: string

The domain name to include in the tunnel. If host is present, address must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100

Zero TrustDevicesPoliciesDefault

Get the default device settings profile
GET/accounts/{account_id}/devices/policy
Update the default device settings profile
PATCH/accounts/{account_id}/devices/policy
ModelsExpand Collapse
DefaultGetResponse object { allow_mode_switch, allow_updates, allowed_to_leave, 20 more }
allow_mode_switch: optional boolean

Whether to allow the user to switch WARP between modes.

allow_updates: optional boolean

Whether to receive update notifications when a new version of the client is available.

allowed_to_leave: optional boolean

Whether to allow devices to leave the organization.

auto_connect: optional number

The amount of time in seconds to reconnect after having been disabled.

captive_portal: optional number

Turn on the captive portal after the specified amount of time.

default: optional boolean

Whether the policy will be applied to matching devices.

disable_auto_fallback: optional boolean

If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers unless this policy option is set to true.

dns_search_suffixes: optional array of object { suffix, description }

List of DNS search suffixes to apply to clients. Suffixes are evaluated in order. Use an empty array to clear.

suffix: string

The DNS search suffix to append when resolving short hostnames.

description: optional string

A description of the DNS search suffix.

enabled: optional boolean

Whether the policy will be applied to matching devices.

exclude: optional array of SplitTunnelExclude

List of routes excluded in the WARP client’s tunnel.

One of the following:
TeamsDevicesExcludeSplitTunnelWithAddress object { address, description }
address: string

The address in CIDR format to exclude from the tunnel. If address is present, host must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
TeamsDevicesExcludeSplitTunnelWithHost object { host, description }
host: string

The domain name to exclude from the tunnel. If host is present, address must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
exclude_office_ips: optional boolean

Whether to add Microsoft IPs to Split Tunnel exclusions.

fallback_domains: optional array of FallbackDomain { suffix, description, dns_server }
suffix: string

The domain suffix to match when resolving locally.

description: optional string

A description of the fallback domain, displayed in the client UI.

maxLength100
dns_server: optional array of string

A list of IP addresses to handle domain resolution.

gateway_unique_id: optional string
global_acceleration: optional object { api_endpoints, enabled, masque_endpoints, wireguard_endpoints }

Global Acceleration settings for China. When configured, WARP clients connect to the Global Accelerator addresses instead of the default ones. Please contact your account representative to enable this feature on your account. See https://developers.cloudflare.com/china-network/concepts/global-acceleration/.

api_endpoints: array of string

IP:port entries for the API endpoints.

enabled: boolean

Global acceleration settings are used only when “enabled”.

masque_endpoints: array of string

IP:port entries for the MASQUE tunnel endpoints. Either wireguard_endpoints or masque_endpoints must be provided.

wireguard_endpoints: array of string

IP:port entries for the WireGuard tunnel endpoints. Either wireguard_endpoints or masque_endpoints must be provided.

include: optional array of SplitTunnelInclude

List of routes included in the WARP client’s tunnel.

One of the following:
TeamsDevicesIncludeSplitTunnelWithAddress object { address, description }
address: string

The address in CIDR format to include in the tunnel. If address is present, host must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
TeamsDevicesIncludeSplitTunnelWithHost object { host, description }
host: string

The domain name to include in the tunnel. If host is present, address must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
policy_id: optional string
maxLength36
register_interface_ip_with_dns: optional boolean

Determines if the operating system will register WARP’s local interface IP with your on-premises DNS server.

sccm_vpn_boundary_support: optional boolean

Determines whether the WARP client indicates to SCCM that it is inside a VPN boundary. (Windows only).

service_mode_v2: optional object { mode, port }
mode: optional string

The mode to run the WARP client under.

port: optional number

The port number when used with proxy mode.

support_url: optional string

The URL to launch when the Send Feedback button is clicked.

switch_locked: optional boolean

Whether to allow the user to turn off the WARP switch and disconnect the client.

tunnel_protocol: optional string

Determines which tunnel protocol to use.

virtual_networks: optional object { allowed, default }

Virtual network access settings for the device.

allowed: array of string

List of virtual network IDs the device is allowed to access. When virtual_networks is set, at least one entry is required.

default: string

The default virtual network ID. Must be included in the allowed list.

formatuuid
DefaultEditResponse object { allow_mode_switch, allow_updates, allowed_to_leave, 20 more }
allow_mode_switch: optional boolean

Whether to allow the user to switch WARP between modes.

allow_updates: optional boolean

Whether to receive update notifications when a new version of the client is available.

allowed_to_leave: optional boolean

Whether to allow devices to leave the organization.

auto_connect: optional number

The amount of time in seconds to reconnect after having been disabled.

captive_portal: optional number

Turn on the captive portal after the specified amount of time.

default: optional boolean

Whether the policy will be applied to matching devices.

disable_auto_fallback: optional boolean

If the dns_server field of a fallback domain is not present, the client will fall back to a best guess of the default/system DNS resolvers unless this policy option is set to true.

dns_search_suffixes: optional array of object { suffix, description }

List of DNS search suffixes to apply to clients. Suffixes are evaluated in order. Use an empty array to clear.

suffix: string

The DNS search suffix to append when resolving short hostnames.

description: optional string

A description of the DNS search suffix.

enabled: optional boolean

Whether the policy will be applied to matching devices.

exclude: optional array of SplitTunnelExclude

List of routes excluded in the WARP client’s tunnel.

One of the following:
TeamsDevicesExcludeSplitTunnelWithAddress object { address, description }
address: string

The address in CIDR format to exclude from the tunnel. If address is present, host must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
TeamsDevicesExcludeSplitTunnelWithHost object { host, description }
host: string

The domain name to exclude from the tunnel. If host is present, address must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
exclude_office_ips: optional boolean

Whether to add Microsoft IPs to Split Tunnel exclusions.

fallback_domains: optional array of FallbackDomain { suffix, description, dns_server }
suffix: string

The domain suffix to match when resolving locally.

description: optional string

A description of the fallback domain, displayed in the client UI.

maxLength100
dns_server: optional array of string

A list of IP addresses to handle domain resolution.

gateway_unique_id: optional string
global_acceleration: optional object { api_endpoints, enabled, masque_endpoints, wireguard_endpoints }

Global Acceleration settings for China. When configured, WARP clients connect to the Global Accelerator addresses instead of the default ones. Please contact your account representative to enable this feature on your account. See https://developers.cloudflare.com/china-network/concepts/global-acceleration/.

api_endpoints: array of string

IP:port entries for the API endpoints.

enabled: boolean

Global acceleration settings are used only when “enabled”.

masque_endpoints: array of string

IP:port entries for the MASQUE tunnel endpoints. Either wireguard_endpoints or masque_endpoints must be provided.

wireguard_endpoints: array of string

IP:port entries for the WireGuard tunnel endpoints. Either wireguard_endpoints or masque_endpoints must be provided.

include: optional array of SplitTunnelInclude

List of routes included in the WARP client’s tunnel.

One of the following:
TeamsDevicesIncludeSplitTunnelWithAddress object { address, description }
address: string

The address in CIDR format to include in the tunnel. If address is present, host must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
TeamsDevicesIncludeSplitTunnelWithHost object { host, description }
host: string

The domain name to include in the tunnel. If host is present, address must not be present.

description: optional string

A description of the Split Tunnel item, displayed in the client UI.

maxLength100
policy_id: optional string
maxLength36
register_interface_ip_with_dns: optional boolean

Determines if the operating system will register WARP’s local interface IP with your on-premises DNS server.

sccm_vpn_boundary_support: optional boolean

Determines whether the WARP client indicates to SCCM that it is inside a VPN boundary. (Windows only).

service_mode_v2: optional object { mode, port }
mode: optional string

The mode to run the WARP client under.

port: optional number

The port number when used with proxy mode.

support_url: optional string

The URL to launch when the Send Feedback button is clicked.

switch_locked: optional boolean

Whether to allow the user to turn off the WARP switch and disconnect the client.

tunnel_protocol: optional string

Determines which tunnel protocol to use.

virtual_networks: optional object { allowed, default }

Virtual network access settings for the device.

allowed: array of string

List of virtual network IDs the device is allowed to access. When virtual_networks is set, at least one entry is required.

default: string

The default virtual network ID. Must be included in the allowed list.

formatuuid

Zero TrustDevicesPoliciesDefaultExcludes

Get the Split Tunnel exclude list
GET/accounts/{account_id}/devices/policy/exclude
Set the Split Tunnel exclude list
PUT/accounts/{account_id}/devices/policy/exclude

Zero TrustDevicesPoliciesDefaultIncludes

Get the Split Tunnel include list
GET/accounts/{account_id}/devices/policy/include
Set the Split Tunnel include list
PUT/accounts/{account_id}/devices/policy/include

Zero TrustDevicesPoliciesDefaultFallback Domains

Get your Local Domain Fallback list
GET/accounts/{account_id}/devices/policy/fallback_domains
Set your Local Domain Fallback list
PUT/accounts/{account_id}/devices/policy/fallback_domains

Zero TrustDevicesPoliciesDefaultCertificates

Get device certificate provisioning status
GET/zones/{zone_id}/devices/policy/certificates
Update device certificate provisioning status
PATCH/zones/{zone_id}/devices/policy/certificates

Zero TrustDevicesPoliciesCustom

List device settings profiles
GET/accounts/{account_id}/devices/policies
Get device settings profile by ID
GET/accounts/{account_id}/devices/policy/{policy_id}
Create a device settings profile
POST/accounts/{account_id}/devices/policy
Update a device settings profile
PATCH/accounts/{account_id}/devices/policy/{policy_id}
Delete a device settings profile
DELETE/accounts/{account_id}/devices/policy/{policy_id}

Zero TrustDevicesPoliciesCustomExcludes

Get the Split Tunnel exclude list for a device settings profile
GET/accounts/{account_id}/devices/policy/{policy_id}/exclude
Set the Split Tunnel exclude list for a device settings profile
PUT/accounts/{account_id}/devices/policy/{policy_id}/exclude

Zero TrustDevicesPoliciesCustomIncludes

Get the Split Tunnel include list for a device settings profile
GET/accounts/{account_id}/devices/policy/{policy_id}/include
Set the Split Tunnel include list for a device settings profile
PUT/accounts/{account_id}/devices/policy/{policy_id}/include

Zero TrustDevicesPoliciesCustomFallback Domains

Get the Local Domain Fallback list for a device settings profile
GET/accounts/{account_id}/devices/policy/{policy_id}/fallback_domains
Set the Local Domain Fallback list for a device settings profile
PUT/accounts/{account_id}/devices/policy/{policy_id}/fallback_domains

Zero TrustDevicesPosture

List device posture rules
GET/accounts/{account_id}/devices/posture
Get device posture rule details
GET/accounts/{account_id}/devices/posture/{rule_id}
Create a device posture rule
POST/accounts/{account_id}/devices/posture
Update a device posture rule
PUT/accounts/{account_id}/devices/posture/{rule_id}
Delete a device posture rule
DELETE/accounts/{account_id}/devices/posture/{rule_id}
ModelsExpand Collapse
CarbonblackInput = string
ClientCertificateInput object { certificate_id, cn }
certificate_id: string

UUID of Cloudflare managed certificate.

maxLength36
cn: string

Common Name that is protected by the certificate.

CrowdstrikeInput object { connection_id, last_seen, operator, 6 more }
connection_id: string

Posture Integration ID.

last_seen: optional string

For more details on last seen, please refer to the Crowdstrike documentation.

operator: optional "<" or "<=" or ">" or 2 more

Operator.

One of the following:
"<"
"<="
">"
">="
"=="
os: optional string

Os Version.

overall: optional string

Overall.

sensor_config: optional string

SensorConfig.

state: optional "online" or "offline" or "unknown"

For more details on state, please refer to the Crowdstrike documentation.

One of the following:
"online"
"offline"
"unknown"
version: optional string

Version.

versionOperator: optional "<" or "<=" or ">" or 2 more

Version Operator.

One of the following:
"<"
"<="
">"
">="
"=="
DeviceInput = FileInput { operating_system, path, exists, 2 more } or UniqueClientIDInput { id, operating_system } or DomainJoinedInput { operating_system, domain } or 17 more

The value to be checked against.

One of the following:
FileInput object { operating_system, path, exists, 2 more }
operating_system: "windows" or "linux" or "mac"

Operating system.

One of the following:
"windows"
"linux"
"mac"
path: string

File path.

exists: optional boolean

Whether or not file exists.

sha256: optional string

SHA-256.

thumbprint: optional string

Signing certificate thumbprint.

UniqueClientIDInput object { id, operating_system }
id: string

List ID.

operating_system: "android" or "ios" or "chromeos"

Operating System.

One of the following:
"android"
"ios"
"chromeos"
DomainJoinedInput object { operating_system, domain }
operating_system: "windows"

Operating System.

domain: optional string

Domain.

OSVersionInput object { operating_system, operator, version, 3 more }
operating_system: "windows"

Operating System.

operator: "<" or "<=" or ">" or 2 more

Operator.

One of the following:
"<"
"<="
">"
">="
"=="
version: string

Version of OS.

os_distro_name: optional string

Operating System Distribution Name (linux only).

os_distro_revision: optional string

Version of OS Distribution (linux only).

os_version_extra: optional string

Additional operating system version details. For Windows, the UBR (Update Build Revision). For Mac or iOS, the Product Version Extra. For Linux, the distribution name and version.

FirewallInput object { enabled, operating_system }
enabled: boolean

Enabled.

operating_system: "windows" or "mac"

Operating System.

One of the following:
"windows"
"mac"
SentineloneInput object { operating_system, path, sha256, thumbprint }
operating_system: "windows" or "linux" or "mac"

Operating system.

One of the following:
"windows"
"linux"
"mac"
path: string

File path.

sha256: optional string

SHA-256.

thumbprint: optional string

Signing certificate thumbprint.

TeamsDevicesCarbonblackInputRequest object { operating_system, path, sha256, thumbprint }
operating_system: "windows" or "linux" or "mac"

Operating system.

One of the following:
"windows"
"linux"
"mac"
path: string

File path.

sha256: optional string

SHA-256.

thumbprint: optional string

Signing certificate thumbprint.

TeamsDevicesAccessSerialNumberListInputRequest object { id }
id: string

UUID of Access List.

maxLength36
DiskEncryptionInput object { checkDisks, requireAll }
checkDisks: optional array of CarbonblackInput

List of volume names to be checked for encryption.

requireAll: optional boolean

Whether to check all disks for encryption.

TeamsDevicesApplicationInputRequest object { operating_system, path, sha256, thumbprint }
operating_system: "windows" or "linux" or "mac"

Operating system.

One of the following:
"windows"
"linux"
"mac"
path: string

Path for the application.

sha256: optional string

SHA-256.

thumbprint: optional string

Signing certificate thumbprint.

ClientCertificateInput object { certificate_id, cn }
certificate_id: string

UUID of Cloudflare managed certificate.

maxLength36
cn: string

Common Name that is protected by the certificate.

TeamsDevicesClientCertificateV2InputRequest object { certificate_id, check_private_key, operating_system, 4 more }
certificate_id: string

UUID of Cloudflare managed certificate.

maxLength36
check_private_key: boolean

Confirm the certificate was not imported from another device. We recommend keeping this enabled unless the certificate was deployed without a private key.

operating_system: "windows" or "linux" or "mac"

Operating system.

One of the following:
"windows"
"linux"
"mac"
cn: optional string

Certificate Common Name. This may include one or more variables in the ${ } notation. Only ${serial_number} and ${hostname} are valid variables.

extended_key_usage: optional array of "clientAuth" or "emailProtection"

List of values indicating purposes for which the certificate public key can be used.

One of the following:
"clientAuth"
"emailProtection"
locations: optional object { paths, trust_stores }
paths: optional array of string

List of paths to check for client certificate on linux.

trust_stores: optional array of "system" or "user"

List of trust stores to check for client certificate.

One of the following:
"system"
"user"
subject_alternative_names: optional array of string

List of certificate Subject Alternative Names.

TeamsDevicesAntivirusInputRequest object { update_window_days }
update_window_days: optional number

Number of days that the antivirus should be updated within.

WorkspaceOneInput object { compliance_status, connection_id }
compliance_status: "compliant" or "noncompliant" or "unknown"

Compliance Status.

One of the following:
"compliant"
"noncompliant"
"unknown"
connection_id: string

Posture Integration ID.

CrowdstrikeInput object { connection_id, last_seen, operator, 6 more }
connection_id: string

Posture Integration ID.

last_seen: optional string

For more details on last seen, please refer to the Crowdstrike documentation.

operator: optional "<" or "<=" or ">" or 2 more

Operator.

One of the following:
"<"
"<="
">"
">="
"=="
os: optional string

Os Version.

overall: optional string

Overall.

sensor_config: optional string

SensorConfig.

state: optional "online" or "offline" or "unknown"

For more details on state, please refer to the Crowdstrike documentation.

One of the following:
"online"
"offline"
"unknown"
version: optional string

Version.

versionOperator: optional "<" or "<=" or ">" or 2 more

Version Operator.

One of the following:
"<"
"<="
">"
">="
"=="
IntuneInput object { compliance_status, connection_id }
compliance_status: "compliant" or "noncompliant" or "unknown" or 3 more

Compliance Status.

One of the following:
"compliant"
"noncompliant"
"unknown"
"notapplicable"
"ingraceperiod"
"error"
connection_id: string

Posture Integration ID.

KolideInput object { connection_id, auth_state, countOperator, issue_count }
connection_id: string

Posture Integration ID.

auth_state: optional array of "Good" or "Notified" or "Will Block" or "Blocked"

The set of Kolide device authentication states that pass the posture check. Device must match one of the specified states.

One of the following:
"Good"
"Notified"
"Will Block"
"Blocked"
countOperator: optional "<" or "<=" or ">" or 2 more

Count Operator.

One of the following:
"<"
"<="
">"
">="
"=="
issue_count: optional string

The Number of Issues.

TaniumInput object { connection_id, eid_last_seen, operator, 3 more }
connection_id: string

Posture Integration ID.

eid_last_seen: optional string

For more details on eid last seen, refer to the Tanium documentation.

operator: optional "<" or "<=" or ">" or 2 more

Operator to evaluate risk_level or eid_last_seen.

One of the following:
"<"
"<="
">"
">="
"=="
risk_level: optional "low" or "medium" or "high" or "critical"

For more details on risk level, refer to the Tanium documentation.

One of the following:
"low"
"medium"
"high"
"critical"
scoreOperator: optional "<" or "<=" or ">" or 2 more

Score Operator.

One of the following:
"<"
"<="
">"
">="
"=="
total_score: optional number

For more details on total score, refer to the Tanium documentation.

SentineloneS2sInput object { connection_id, active_threats, infected, 4 more }
connection_id: string

Posture Integration ID.

active_threats: optional number

The Number of active threats.

infected: optional boolean

Whether device is infected.

is_active: optional boolean

Whether device is active.

network_status: optional "connected" or "disconnected" or "disconnecting" or "connecting"

Network status of device.

One of the following:
"connected"
"disconnected"
"disconnecting"
"connecting"
operational_state: optional "na" or "partially_disabled" or "auto_fully_disabled" or 4 more

Agent operational state.

One of the following:
"na"
"partially_disabled"
"auto_fully_disabled"
"fully_disabled"
"auto_partially_disabled"
"disabled_error"
"db_corruption"
operator: optional "<" or "<=" or ">" or 2 more

Operator.

One of the following:
"<"
"<="
">"
">="
"=="
TeamsDevicesCustomS2sInputRequest object { connection_id, operator, score }
connection_id: string

Posture Integration ID.

operator: "<" or "<=" or ">" or 2 more

Operator.

One of the following:
"<"
"<="
">"
">="
"=="
score: number

A value between 0-100 assigned to devices set by the 3rd party posture provider.

DeviceMatch object { platform }
platform: optional "windows" or "mac" or "linux" or 3 more
One of the following:
"windows"
"mac"
"linux"
"android"
"ios"
"chromeos"
DevicePostureRule object { id, description, enabled, 6 more }
id: optional string

API UUID.

maxLength36
description: optional string

The description of the device posture rule.

enabled: optional boolean

Whether the rule is enabled. This is a computed, read-only value. It is false for deprecated Kolide posture rules that still use the issue_count input, and true otherwise.

expiration: optional string

Sets the expiration time for a posture check result. If empty, the result remains valid until it is overwritten by new data from the WARP client.

input: optional DeviceInput

The value to be checked against.

match: optional array of DeviceMatch { platform }

The conditions that the client must match to run the rule.

platform: optional "windows" or "mac" or "linux" or 3 more
One of the following:
"windows"
"mac"
"linux"
"android"
"ios"
"chromeos"
name: optional string

The name of the device posture rule.

schedule: optional string

Polling frequency for the WARP client posture check. Default: 5m (poll every five minutes). Minimum: 1m.

type: optional "file" or "application" or "tanium" or 20 more

The type of device posture rule.

One of the following:
"file"
"application"
"tanium"
"gateway"
"warp"
"disk_encryption"
"serial_number"
"sentinelone"
"carbonblack"
"firewall"
"os_version"
"domain_joined"
"client_certificate"
"client_certificate_v2"
"antivirus"
"unique_client_id"
"kolide"
"tanium_s2s"
"crowdstrike_s2s"
"intune"
"workspace_one"
"sentinelone_s2s"
"custom_s2s"
DiskEncryptionInput object { checkDisks, requireAll }
checkDisks: optional array of CarbonblackInput

List of volume names to be checked for encryption.

requireAll: optional boolean

Whether to check all disks for encryption.

DomainJoinedInput object { operating_system, domain }
operating_system: "windows"

Operating System.

domain: optional string

Domain.

FileInput object { operating_system, path, exists, 2 more }
operating_system: "windows" or "linux" or "mac"

Operating system.

One of the following:
"windows"
"linux"
"mac"
path: string

File path.

exists: optional boolean

Whether or not file exists.

sha256: optional string

SHA-256.

thumbprint: optional string

Signing certificate thumbprint.

FirewallInput object { enabled, operating_system }
enabled: boolean

Enabled.

operating_system: "windows" or "mac"

Operating System.

One of the following:
"windows"
"mac"
IntuneInput object { compliance_status, connection_id }
compliance_status: "compliant" or "noncompliant" or "unknown" or 3 more

Compliance Status.

One of the following:
"compliant"
"noncompliant"
"unknown"
"notapplicable"
"ingraceperiod"
"error"
connection_id: string

Posture Integration ID.

KolideInput object { connection_id, auth_state, countOperator, issue_count }
connection_id: string

Posture Integration ID.

auth_state: optional array of "Good" or "Notified" or "Will Block" or "Blocked"

The set of Kolide device authentication states that pass the posture check. Device must match one of the specified states.

One of the following:
"Good"
"Notified"
"Will Block"
"Blocked"
countOperator: optional "<" or "<=" or ">" or 2 more

Count Operator.

One of the following:
"<"
"<="
">"
">="
"=="
issue_count: optional string

The Number of Issues.

OSVersionInput object { operating_system, operator, version, 3 more }
operating_system: "windows"

Operating System.

operator: "<" or "<=" or ">" or 2 more

Operator.

One of the following:
"<"
"<="
">"
">="
"=="
version: string

Version of OS.

os_distro_name: optional string

Operating System Distribution Name (linux only).

os_distro_revision: optional string

Version of OS Distribution (linux only).

os_version_extra: optional string

Additional operating system version details. For Windows, the UBR (Update Build Revision). For Mac or iOS, the Product Version Extra. For Linux, the distribution name and version.

SentineloneInput object { operating_system, path, sha256, thumbprint }
operating_system: "windows" or "linux" or "mac"

Operating system.

One of the following:
"windows"
"linux"
"mac"
path: string

File path.

sha256: optional string

SHA-256.

thumbprint: optional string

Signing certificate thumbprint.

SentineloneS2sInput object { connection_id, active_threats, infected, 4 more }
connection_id: string

Posture Integration ID.

active_threats: optional number

The Number of active threats.

infected: optional boolean

Whether device is infected.

is_active: optional boolean

Whether device is active.

network_status: optional "connected" or "disconnected" or "disconnecting" or "connecting"

Network status of device.

One of the following:
"connected"
"disconnected"
"disconnecting"
"connecting"
operational_state: optional "na" or "partially_disabled" or "auto_fully_disabled" or 4 more

Agent operational state.

One of the following:
"na"
"partially_disabled"
"auto_fully_disabled"
"fully_disabled"
"auto_partially_disabled"
"disabled_error"
"db_corruption"
operator: optional "<" or "<=" or ">" or 2 more

Operator.

One of the following:
"<"
"<="
">"
">="
"=="
TaniumInput object { connection_id, eid_last_seen, operator, 3 more }
connection_id: string

Posture Integration ID.

eid_last_seen: optional string

For more details on eid last seen, refer to the Tanium documentation.

operator: optional "<" or "<=" or ">" or 2 more

Operator to evaluate risk_level or eid_last_seen.

One of the following:
"<"
"<="
">"
">="
"=="
risk_level: optional "low" or "medium" or "high" or "critical"

For more details on risk level, refer to the Tanium documentation.

One of the following:
"low"
"medium"
"high"
"critical"
scoreOperator: optional "<" or "<=" or ">" or 2 more

Score Operator.

One of the following:
"<"
"<="
">"
">="
"=="
total_score: optional number

For more details on total score, refer to the Tanium documentation.

UniqueClientIDInput object { id, operating_system }
id: string

List ID.

operating_system: "android" or "ios" or "chromeos"

Operating System.

One of the following:
"android"
"ios"
"chromeos"
WorkspaceOneInput object { compliance_status, connection_id }
compliance_status: "compliant" or "noncompliant" or "unknown"

Compliance Status.

One of the following:
"compliant"
"noncompliant"
"unknown"
connection_id: string

Posture Integration ID.

PostureDeleteResponse object { id }
id: optional string

API UUID.

maxLength36

Zero TrustDevicesPostureIntegrations

List your device posture integrations
GET/accounts/{account_id}/devices/posture/integration
Get device posture integration details
GET/accounts/{account_id}/devices/posture/integration/{integration_id}
Create a device posture integration
POST/accounts/{account_id}/devices/posture/integration
Update a device posture integration
PATCH/accounts/{account_id}/devices/posture/integration/{integration_id}
Delete a device posture integration
DELETE/accounts/{account_id}/devices/posture/integration/{integration_id}
ModelsExpand Collapse
Integration object { id, config, interval, 2 more }
id: optional string

API UUID.

maxLength36
config: optional object { api_url, auth_url, client_id }

The configuration object containing third-party integration information.

api_url: string

The Workspace One API URL provided in the Workspace One Admin Dashboard.

auth_url: string

The Workspace One Authorization URL depending on your region.

client_id: string

The Workspace One client ID provided in the Workspace One Admin Dashboard.

interval: optional string

The interval between each posture check with the third-party API. Use m for minutes (e.g. 5m) and h for hours (e.g. 12h).

name: optional string

The name of the device posture integration.

type: optional "workspace_one" or "crowdstrike_s2s" or "uptycs" or 5 more

The type of device posture integration.

One of the following:
"workspace_one"
"crowdstrike_s2s"
"uptycs"
"intune"
"kolide"
"tanium_s2s"
"sentinelone_s2s"
"custom_s2s"
IntegrationDeleteResponse = unknown or string
One of the following:
unknown
string

Zero TrustDevicesRevoke

Revoke devices (deprecated)
Deprecated
POST/accounts/{account_id}/devices/revoke
ModelsExpand Collapse
RevokeCreateResponse = unknown or string
One of the following:
unknown
string

Zero TrustDevicesSettings

Get device settings for a Zero Trust account
GET/accounts/{account_id}/devices/settings
Update device settings for a Zero Trust account
PUT/accounts/{account_id}/devices/settings
Patch device settings for a Zero Trust account
PATCH/accounts/{account_id}/devices/settings
ModelsExpand Collapse
DeviceSettings object { disable_for_time, external_emergency_signal_enabled, external_emergency_signal_fingerprint, 6 more }
disable_for_time: optional number

Sets the time limit, in seconds, that a user can use an override code to bypass WARP.

external_emergency_signal_enabled: optional boolean

Controls whether the external emergency disconnect feature is enabled.

external_emergency_signal_fingerprint: optional string

The SHA256 fingerprint (64 hexadecimal characters) of the HTTPS server certificate for the external_emergency_signal_url. If provided, the WARP client will use this value to verify the server’s identity. The device will ignore any response if the server’s certificate fingerprint does not exactly match this value.

external_emergency_signal_interval: optional string

The interval at which the WARP client fetches the emergency disconnect signal, formatted as a duration string (e.g., “5m”, “2m30s”, “1h”). Minimum 30 seconds.

external_emergency_signal_url: optional string

The HTTPS URL from which to fetch the emergency disconnect signal. Must use HTTPS and have an IPv4 or IPv6 address as the host.

gateway_proxy_enabled: optional boolean

Enable gateway proxy filtering on TCP.

gateway_udp_proxy_enabled: optional boolean

Enable gateway proxy filtering on UDP.

root_certificate_installation_enabled: optional boolean

Enable installation of cloudflare managed root certificate.

use_zt_virtual_ip: optional boolean

Enable using CGNAT virtual IPv4.

Zero TrustDevicesUnrevoke

Unrevoke devices (deprecated)
Deprecated
POST/accounts/{account_id}/devices/unrevoke
ModelsExpand Collapse
UnrevokeCreateResponse = unknown or string
One of the following:
unknown
string

Zero TrustDevicesOverride Codes

Get override codes (deprecated)
Deprecated
GET/accounts/{account_id}/devices/{device_id}/override_codes
Get override codes
GET/accounts/{account_id}/devices/registrations/{registration_id}/override_codes
ModelsExpand Collapse
OverrideCodeListResponse = unknown
OverrideCodeGetResponse object { disable_for_time }
disable_for_time: optional map[string]

Zero TrustIdentity Providers

List Access identity providers
GET/{accounts_or_zones}/{account_or_zone_id}/access/identity_providers
Get an Access identity provider
GET/{accounts_or_zones}/{account_or_zone_id}/access/identity_providers/{identity_provider_id}
Add an Access identity provider
POST/{accounts_or_zones}/{account_or_zone_id}/access/identity_providers
Update an Access identity provider
PUT/{accounts_or_zones}/{account_or_zone_id}/access/identity_providers/{identity_provider_id}
Delete an Access identity provider
DELETE/{accounts_or_zones}/{account_or_zone_id}/access/identity_providers/{identity_provider_id}
ModelsExpand Collapse
AzureAD object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, 5 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

conditional_access_enabled: optional boolean

Should Cloudflare try to load authentication contexts from your account

directory_id: optional string

Your Azure directory uuid

email_claim_name: optional string

The claim name for email in the id_token response.

prompt: optional "login" or "select_account" or "none"

Indicates the type of user interaction that is required. prompt=login forces the user to enter their credentials on that request, negating single-sign on. prompt=none is the opposite. It ensures that the user isn’t presented with any interactive prompt. If the request can’t be completed silently by using single-sign on, the Microsoft identity platform returns an interaction_required error. prompt=select_account interrupts single sign-on providing account selection experience listing all the accounts either in session or any remembered account or an option to choose to use a different account altogether.

One of the following:
"login"
"select_account"
"none"
support_groups: optional boolean

Should Cloudflare try to load groups from your account

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

GenericOAuthConfig object { client_id, client_secret }
client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

IdentityProvider = AzureAD { config, name, type, 5 more } or object { config, name, type, 5 more } or object { config, name, type, 5 more } or 12 more
One of the following:
AzureAD object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, 5 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

conditional_access_enabled: optional boolean

Should Cloudflare try to load authentication contexts from your account

directory_id: optional string

Your Azure directory uuid

email_claim_name: optional string

The claim name for email in the id_token response.

prompt: optional "login" or "select_account" or "none"

Indicates the type of user interaction that is required. prompt=login forces the user to enter their credentials on that request, negating single-sign on. prompt=none is the opposite. It ensures that the user isn’t presented with any interactive prompt. If the request can’t be completed silently by using single-sign on, the Microsoft identity platform returns an interaction_required error. prompt=select_account interrupts single sign-on providing account selection experience listing all the accounts either in session or any remembered account or an option to choose to use a different account altogether.

One of the following:
"login"
"select_account"
"none"
support_groups: optional boolean

Should Cloudflare try to load groups from your account

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessCentrify object { config, name, type, 5 more }
config: object { centrify_account, centrify_app_id, claims, 3 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

centrify_account: optional string

Your centrify account url

centrify_app_id: optional string

Your centrify app id

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessFacebook object { config, name, type, 5 more }
config: GenericOAuthConfig { client_id, client_secret }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessGitHub object { config, name, type, 5 more }
config: GenericOAuthConfig { client_id, client_secret }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessGoogle object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, email_claim_name }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessGoogleApps object { config, name, type, 5 more }
config: object { apps_domain, claims, client_id, 2 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

apps_domain: optional string

Your companies TLD

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessLinkedin object { config, name, type, 5 more }
config: GenericOAuthConfig { client_id, client_secret }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessOIDC object { config, name, type, 5 more }
config: object { auth_url, certs_url, claims, 6 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

auth_url: optional string

The authorization_endpoint URL of your IdP

certs_url: optional string

The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

pkce_enabled: optional boolean

Enable Proof Key for Code Exchange (PKCE)

scopes: optional array of string

OAuth scopes

token_url: optional string

The token_endpoint URL of your IdP

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessOkta object { config, name, type, 5 more }
config: object { authorization_server_id, claims, client_id, 3 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

authorization_server_id: optional string

Your okta authorization server id

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

okta_account: optional string

Your okta account url

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessOnelogin object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, 2 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

onelogin_account: optional string

Your OneLogin account url

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessPingone object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, 2 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

ping_env_id: optional string

Your PingOne environment identifier

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessSAML object { config, name, type, 5 more }
config: object { attributes, email_attribute_name, enable_encryption, 5 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

attributes: optional array of string

A list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.

email_attribute_name: optional string

The attribute name for email in the SAML response.

enable_encryption: optional boolean

Enable SAML assertion encryption. When enabled, the Identity Provider will encrypt SAML assertions using the certificate from the assigned certificate set.

To enable encryption:

  1. Create a certificate set via POST to /identity_providers/{id}/saml_certificate
  2. Set this field to true and include saml_certificate_set_id in the PUT request
  3. Configure the public certificate in your external Identity Provider

Note: Requires saml_certificate_set_id to be set when true.

header_attributes: optional array of object { attribute_name, header_name }

Add a list of attribute names that will be returned in the response header from the Access callback.

attribute_name: optional string

attribute name from the IDP

header_name: optional string

header that will be added on the request to the origin

idp_public_certs: optional array of string

X509 certificate to verify the signature in the SAML authentication response

issuer_url: optional string

IdP Entity ID or Issuer URL

sign_request: optional boolean

Sign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.

sso_target_url: optional string

URL to send the SAML authentication requests to

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessYandex object { config, name, type, 5 more }
config: GenericOAuthConfig { client_id, client_secret }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessOnetimepin object { config, name, type, 5 more }
config: object { redirect_url }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

redirect_url: optional string
name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessCloudflare object { config, name, type, 5 more }
config: object { redirect_url, restrict_to_account_members }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

redirect_url: optional string
restrict_to_account_members: optional boolean

When enabled, only users who are members of your Cloudflare account can authenticate through this identity provider. When disabled, any user with a Cloudflare account can authenticate, subject to your Access policies.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

IdentityProviderSCIMConfig object { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

enabled: optional boolean

A flag to enable or disable SCIM for the identity provider.

identity_update_behavior: optional "automatic" or "reauth" or "no_action"

Indicates how a SCIM event updates a user identity used for policy evaluation. Use “automatic” to automatically update a user’s identity and augment it with fields from the SCIM user resource. Use “reauth” to force re-authentication on group membership updates, user identity update will only occur after successful re-authentication. With “reauth” identities will not contain fields from the SCIM user resource. With “no_action” identities will not be changed by SCIM updates in any way and users will not be prompted to reauthenticate.

One of the following:
"automatic"
"reauth"
"no_action"
scim_base_url: optional string

The base URL of Cloudflare’s SCIM V2.0 API endpoint.

seat_deprovision: optional boolean

A flag to remove a user’s seat in Zero Trust when they have been deprovisioned in the Identity Provider. This cannot be enabled unless user_deprovision is also enabled.

secret: optional string

A read-only token generated when the SCIM integration is enabled for the first time. It is redacted on subsequent requests. If you lose this you will need to refresh it at /access/identity_providers/:idpID/refresh_scim_secret.

user_deprovision: optional boolean

A flag to enable revoking a user’s session in Access and Gateway when they have been deprovisioned in the Identity Provider.

IdentityProviderType = "onetimepin" or "azureAD" or "saml" or 12 more

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

One of the following:
"onetimepin"
"azureAD"
"saml"
"centrify"
"facebook"
"github"
"google-apps"
"google"
"linkedin"
"oidc"
"okta"
"onelogin"
"pingone"
"yandex"
"cloudflare"
IdentityProviderListResponse = AzureAD { config, name, type, 5 more } or object { config, name, type, 5 more } or object { config, name, type, 5 more } or 12 more
One of the following:
AzureAD object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, 5 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

conditional_access_enabled: optional boolean

Should Cloudflare try to load authentication contexts from your account

directory_id: optional string

Your Azure directory uuid

email_claim_name: optional string

The claim name for email in the id_token response.

prompt: optional "login" or "select_account" or "none"

Indicates the type of user interaction that is required. prompt=login forces the user to enter their credentials on that request, negating single-sign on. prompt=none is the opposite. It ensures that the user isn’t presented with any interactive prompt. If the request can’t be completed silently by using single-sign on, the Microsoft identity platform returns an interaction_required error. prompt=select_account interrupts single sign-on providing account selection experience listing all the accounts either in session or any remembered account or an option to choose to use a different account altogether.

One of the following:
"login"
"select_account"
"none"
support_groups: optional boolean

Should Cloudflare try to load groups from your account

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessCentrify object { config, name, type, 5 more }
config: object { centrify_account, centrify_app_id, claims, 3 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

centrify_account: optional string

Your centrify account url

centrify_app_id: optional string

Your centrify app id

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessFacebook object { config, name, type, 5 more }
config: GenericOAuthConfig { client_id, client_secret }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessGitHub object { config, name, type, 5 more }
config: GenericOAuthConfig { client_id, client_secret }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessGoogle object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, email_claim_name }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessGoogleApps object { config, name, type, 5 more }
config: object { apps_domain, claims, client_id, 2 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

apps_domain: optional string

Your companies TLD

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessLinkedin object { config, name, type, 5 more }
config: GenericOAuthConfig { client_id, client_secret }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessOIDC object { config, name, type, 5 more }
config: object { auth_url, certs_url, claims, 6 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

auth_url: optional string

The authorization_endpoint URL of your IdP

certs_url: optional string

The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

pkce_enabled: optional boolean

Enable Proof Key for Code Exchange (PKCE)

scopes: optional array of string

OAuth scopes

token_url: optional string

The token_endpoint URL of your IdP

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessOkta object { config, name, type, 5 more }
config: object { authorization_server_id, claims, client_id, 3 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

authorization_server_id: optional string

Your okta authorization server id

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

okta_account: optional string

Your okta account url

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessOnelogin object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, 2 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

onelogin_account: optional string

Your OneLogin account url

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessPingone object { config, name, type, 5 more }
config: object { claims, client_id, client_secret, 2 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

claims: optional array of string

Custom claims

client_id: optional string

Your OAuth Client ID

client_secret: optional string

Your OAuth Client Secret

email_claim_name: optional string

The claim name for email in the id_token response.

ping_env_id: optional string

Your PingOne environment identifier

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessSAML object { config, name, type, 5 more }
config: object { attributes, email_attribute_name, enable_encryption, 5 more }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

attributes: optional array of string

A list of SAML attribute names that will be added to your signed JWT token and can be used in SAML policy rules.

email_attribute_name: optional string

The attribute name for email in the SAML response.

enable_encryption: optional boolean

Enable SAML assertion encryption. When enabled, the Identity Provider will encrypt SAML assertions using the certificate from the assigned certificate set.

To enable encryption:

  1. Create a certificate set via POST to /identity_providers/{id}/saml_certificate
  2. Set this field to true and include saml_certificate_set_id in the PUT request
  3. Configure the public certificate in your external Identity Provider

Note: Requires saml_certificate_set_id to be set when true.

header_attributes: optional array of object { attribute_name, header_name }

Add a list of attribute names that will be returned in the response header from the Access callback.

attribute_name: optional string

attribute name from the IDP

header_name: optional string

header that will be added on the request to the origin

idp_public_certs: optional array of string

X509 certificate to verify the signature in the SAML authentication response

issuer_url: optional string

IdP Entity ID or Issuer URL

sign_request: optional boolean

Sign the SAML authentication request with Access credentials. To verify the signature, use the public key from the Access certs endpoints.

sso_target_url: optional string

URL to send the SAML authentication requests to

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessYandex object { config, name, type, 5 more }
config: GenericOAuthConfig { client_id, client_secret }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessOnetimepin object { config, name, type, 5 more }
config: object { redirect_url }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

redirect_url: optional string
name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

AccessCloudflare object { config, name, type, 5 more }
config: object { redirect_url, restrict_to_account_members }

The configuration parameters for the identity provider. To view the required parameters for a specific provider, refer to our developer documentation.

redirect_url: optional string
restrict_to_account_members: optional boolean

When enabled, only users who are members of your Cloudflare account can authenticate through this identity provider. When disabled, any user with a Cloudflare account can authenticate, subject to your Access policies.

name: string

The name of the identity provider, shown to users on the login page.

The type of identity provider. To determine the value for a specific provider, refer to our developer documentation.

id: optional string

UUID.

maxLength36
read_only: optional boolean

Indicates that the identity provider is immutable and cannot be updated or deleted via the API.

saml_certificate_set: optional object { created_at, uid, updated_at, 2 more }

The SAML encryption certificate set details, including current and previous certificates. Only present for SAML identity providers with a certificate set assigned.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

saml_certificate_set_id: optional string

The UID of the SAML encryption certificate set assigned to this Identity Provider. Only present for SAML identity providers with encryption configured. Create a certificate set via POST to /identity_providers/{id}/saml_certificate.

formatuuid
scim_config: optional IdentityProviderSCIMConfig { enabled, identity_update_behavior, scim_base_url, 3 more }

The configuration settings for enabling a System for Cross-Domain Identity Management (SCIM) with the identity provider.

IdentityProviderDeleteResponse object { id }
id: optional string

UUID.

maxLength36

Zero TrustIdentity ProvidersSCIM

Zero TrustIdentity ProvidersSCIMGroups

List SCIM Group resources
GET/accounts/{account_id}/access/identity_providers/{identity_provider_id}/scim/groups

Zero TrustIdentity ProvidersSCIMUsers

List SCIM User resources
GET/accounts/{account_id}/access/identity_providers/{identity_provider_id}/scim/users

Zero TrustIdentity ProvidersSAML Certificate

Create SAML encryption certificate for Identity Provider
POST/accounts/{account_id}/access/identity_providers/{identity_provider_id}/saml_certificate
ModelsExpand Collapse
SAMLCertificateCreateResponse object { created_at, uid, updated_at, 2 more }

A SAML encryption certificate set containing current and optionally previous certificates for encryption key rotation.

created_at: string

Timestamp when the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

formatuuid
updated_at: string

Timestamp when the certificate set was last updated (e.g., during rotation)

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The currently active certificate used for encrypting SAML assertions

is_current: boolean

Indicates whether this is the currently active certificate

not_after: string

Certificate expiration date. Certificates are automatically rotated 30 days before expiration.

formatdate-time
public_certificate: string

PEM-encoded X.509 certificate containing the public key. Configure this certificate in your external SAML Identity Provider to enable encryption.

uid: string

Unique identifier for the certificate

formatuuid
previous_certificate: optional unknown

The previous certificate, maintained during rotation to ensure continuity. Null if no rotation has occurred. Mirrors the structure of saml_certificate.

Zero TrustOrganizations

Get your Zero Trust organization
GET/{accounts_or_zones}/{account_or_zone_id}/access/organizations
Create your Zero Trust organization
POST/{accounts_or_zones}/{account_or_zone_id}/access/organizations
Update your Zero Trust organization
PUT/{accounts_or_zones}/{account_or_zone_id}/access/organizations
Revoke all Access tokens for a user
POST/{accounts_or_zones}/{account_or_zone_id}/access/organizations/revoke_user
ModelsExpand Collapse
LoginDesign object { background_color, footer_text, header_text, 2 more }
background_color: optional string

The background color on your login page.

header_text: optional string

The text at the top of your login page.

logo_path: optional string

The URL of the logo on your login page.

text_color: optional string

The text color on your login page.

Organization object { allow_authenticate_via_warp, auth_domain, auto_redirect_to_identity, 14 more }
allow_authenticate_via_warp: optional boolean

When set to true, users can authenticate via WARP for any application in your organization. Application settings will take precedence over this value.

auth_domain: optional string

The unique subdomain assigned to your Zero Trust organization.

auto_redirect_to_identity: optional boolean

When set to true, users skip the identity provider selection step during login.

custom_pages: optional object { forbidden, identity_denied }
forbidden: optional string

The uid of the custom page to use when a user is denied access after failing a non-identity rule.

identity_denied: optional string

The uid of the custom page to use when a user is denied access.

deny_unmatched_requests: optional boolean

Determines whether to deny all requests to Cloudflare-protected resources that lack an associated Access application. If enabled, you must explicitly configure an Access application and policy to allow traffic to your Cloudflare-protected resources. For domains you want to be public across all subdomains, add the domain to the deny_unmatched_requests_exempted_zone_names array.

deny_unmatched_requests_exempted_zone_names: optional array of string

Contains zone names to exempt from the deny_unmatched_requests feature. Requests to a subdomain in an exempted zone will block unauthenticated traffic by default if there is a configured Access application and policy that matches the request.

is_ui_read_only: optional boolean

Lock all settings as Read-Only in the Dashboard, regardless of user permission. Updates may only be made via the API or Terraform for this account when enabled.

login_design: optional LoginDesign { background_color, footer_text, header_text, 2 more }
mfa_config: optional object { allowed_authenticators, amr_matching_session_duration, required_aaguids, session_duration }

Configures multi-factor authentication (MFA) settings for an organization.

allowed_authenticators: optional array of "totp" or "biometrics" or "security_key" or "piv_key"

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
"piv_key"
amr_matching_session_duration: optional string

Allows a user to skip MFA via Authentication Method Reference (AMR) matching when the AMR claim provided by the IdP the user used to authenticate contains “mfa”. Must be in minutes (m) or hours (h). Minimum: 0m. Maximum: 720h (30 days).

required_aaguids: optional string

Specifies a Cloudflare List of required FIDO2 authenticator device AAGUIDs.

formatuuid
session_duration: optional string

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.

mfa_piv_key_requirements: optional object { pin_policy, require_fips_device, ssh_key_size, 2 more }

Configures PIV key requirements for MFA using hardware security keys.

pin_policy: optional "never" or "once" or "always"

Defines when a PIN is required to use the SSH key. Valid values: never (no PIN required), once (PIN required once per session), always (PIN required for each use).

One of the following:
"never"
"once"
"always"
require_fips_device: optional boolean

Requires the PIV key to be stored on a FIPS 140-2 Level 1 or higher validated device.

ssh_key_size: optional array of 256 or 384 or 521 or 3 more

Specifies the allowed SSH key sizes in bits. Valid sizes depend on key type. Ed25519 has a fixed key size and does not accept this parameter.

One of the following:
256
384
521
2048
3072
4096
ssh_key_type: optional array of "ecdsa" or "ed25519" or "rsa"

Specifies the allowed SSH key types. Valid values are ecdsa, ed25519, and rsa.

One of the following:
"ecdsa"
"ed25519"
"rsa"
touch_policy: optional "never" or "always" or "cached"

Defines when physical touch is required to use the SSH key. Valid values: never (no touch required), always (touch required for each use), cached (touch cached for 15 seconds).

One of the following:
"never"
"always"
"cached"
mfa_required_for_all_apps: optional boolean

Determines whether global MFA settings apply to applications by default. The organization must have MFA enabled with at least one authentication method and a session duration configured. Note: ‘allowed_authenticators’ cannot only contain ‘piv_key’ if the organization has any non-infrastructure applications because PIV keys are only compatible with infrastructure apps.

name: optional string

The name of your Zero Trust organization.

session_duration: optional string

The amount of time that tokens issued for applications will be valid. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.

ui_read_only_toggle_reason: optional string

A description of the reason why the UI read only field is being toggled.

user_seat_expiration_inactive_time: optional string

The amount of time a user seat is inactive before it expires. When the user seat exceeds the set time of inactivity, the user is removed as an active seat and no longer counts against your Teams seat count. Minimum value for this setting is 1 month (730h). Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h.

warp_auth_non_browser_401: optional boolean

When enabled, unsuccessful WARP authentication requests with a non-HTML Accept header return a 401 response instead of redirecting to the login page.

warp_auth_session_duration: optional string

The amount of time that tokens issued for applications will be valid. Must be in the format 30m or 2h45m. Valid time units are: m, h.

OrganizationRevokeUsersResponse = true or false
One of the following:
true
false

Zero TrustOrganizationsDOH

Get your Zero Trust organization DoH settings
GET/accounts/{account_id}/access/organizations/doh
Update your Zero Trust organization DoH settings
PUT/accounts/{account_id}/access/organizations/doh
ModelsExpand Collapse
DOHGetResponse object { id, client_id, doh_jwt_duration, 3 more }
id: optional string

The ID of the service token.

maxLength36
client_id: optional string

The Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.

doh_jwt_duration: optional string

The duration the DoH JWT is valid for. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h. Note that the maximum duration for this setting is the same as the key rotation period on the account.

duration: optional string

The duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).

expires_at: optional string
formatdate-time
name: optional string

The name of the service token.

DOHUpdateResponse object { id, client_id, doh_jwt_duration, 3 more }
id: optional string

The ID of the service token.

maxLength36
client_id: optional string

The Client ID for the service token. Access will check for this value in the CF-Access-Client-ID request header.

doh_jwt_duration: optional string

The duration the DoH JWT is valid for. Must be in the format 300ms or 2h45m. Valid time units are: ns, us (or µs), ms, s, m, h. Note that the maximum duration for this setting is the same as the key rotation period on the account. Default expiration is 24h

duration: optional string

The duration for how long the service token will be valid. Must be in the format 300ms or 2h45m, or the special value forever for non-expiring tokens. Valid time units are: ns, us (or µs), ms, s, m, h. The default is 1 year in hours (8760h).

expires_at: optional string
formatdate-time
name: optional string

The name of the service token.

Zero TrustSeats

Update a user seat
PATCH/accounts/{account_id}/access/seats
ModelsExpand Collapse
Seat object { access_seat, created_at, gateway_seat, 2 more }
access_seat: optional boolean

True if the seat is part of Access.

created_at: optional string
formatdate-time
gateway_seat: optional boolean

True if the seat is part of Gateway.

seat_uid: optional string

The unique API identifier for the Zero Trust seat.

maxLength36
updated_at: optional string
formatdate-time

Zero TrustAccess

Zero TrustAccessAI Controls

Zero TrustAccessAI ControlsMcp

Zero TrustAccessAI ControlsMcpPortals

List MCP Portals
GET/accounts/{account_id}/access/ai-controls/mcp/portals
Create a new MCP Portal
POST/accounts/{account_id}/access/ai-controls/mcp/portals
Read details of an MCP Portal
GET/accounts/{account_id}/access/ai-controls/mcp/portals/{id}
Update a MCP Portal
PUT/accounts/{account_id}/access/ai-controls/mcp/portals/{id}
Delete a MCP Portal
DELETE/accounts/{account_id}/access/ai-controls/mcp/portals/{id}
ModelsExpand Collapse
PortalListResponse object { id, hostname, name, 9 more }
id: string

portal id

maxLength32
minLength1
hostname: string
name: string
maxLength350
servers: array of object { id, auth_type, hostname, 22 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
server_id: string

server id

maxLength32
minLength1
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
default_disabled: optional boolean
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
on_behalf: optional boolean
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, enabled, portal_alias, 3 more }
name: string
enabled: optional boolean
portal_alias: optional string
portal_description: optional string
server_alias: optional string
server_description: optional string
updated_tools: optional array of object { name, enabled, portal_alias, 3 more }
name: string
enabled: optional boolean
portal_alias: optional string
portal_description: optional string
server_alias: optional string
server_description: optional string
Deprecatedallow_code_mode: optional boolean

Deprecated: use code_mode for new integrations. true maps to any non-off Code Mode policy; false maps to code_mode: off. If both fields are sent, they must be consistent or the request returns a 400.

code_mode: optional "off" or "opt_in" or "default_on" or "enforced"

Code Mode policy for this portal. off: Code Mode is unavailable; query parameters are ignored. opt_in: Code Mode is off by default; clients turn it on with ?codemode=search_and_execute. default_on: Code Mode is on by default; clients can opt out with ?codemode=off. enforced: Code Mode is always on; query parameters are ignored. Defaults to opt_in when omitted on create. If both code_mode and allow_code_mode are sent, they must be consistent or the request returns a 400.

One of the following:
"off"
"opt_in"
"default_on"
"enforced"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound MCP traffic through Zero Trust Secure Web Gateway

PortalCreateResponse object { id, hostname, name, 9 more }
id: string

portal id

maxLength32
minLength1
hostname: string
name: string
maxLength350
servers: array of object { id, auth_type, hostname, 22 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
server_id: string

server id

maxLength32
minLength1
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
default_disabled: optional boolean
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
on_behalf: optional boolean
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, enabled, portal_alias, 3 more }
name: string
enabled: optional boolean
portal_alias: optional string
portal_description: optional string
server_alias: optional string
server_description: optional string
updated_tools: optional array of object { name, enabled, portal_alias, 3 more }
name: string
enabled: optional boolean
portal_alias: optional string
portal_description: optional string
server_alias: optional string
server_description: optional string
Deprecatedallow_code_mode: optional boolean

Deprecated: use code_mode for new integrations. true maps to any non-off Code Mode policy; false maps to code_mode: off. If both fields are sent, they must be consistent or the request returns a 400.

code_mode: optional "off" or "opt_in" or "default_on" or "enforced"

Code Mode policy for this portal. off: Code Mode is unavailable; query parameters are ignored. opt_in: Code Mode is off by default; clients turn it on with ?codemode=search_and_execute. default_on: Code Mode is on by default; clients can opt out with ?codemode=off. enforced: Code Mode is always on; query parameters are ignored. Defaults to opt_in when omitted on create. If both code_mode and allow_code_mode are sent, they must be consistent or the request returns a 400.

One of the following:
"off"
"opt_in"
"default_on"
"enforced"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound MCP traffic through Zero Trust Secure Web Gateway

PortalReadResponse object { id, hostname, name, 9 more }
id: string

portal id

maxLength32
minLength1
hostname: string
name: string
maxLength350
servers: array of object { id, auth_type, hostname, 22 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
server_id: string

server id

maxLength32
minLength1
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
default_disabled: optional boolean
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
on_behalf: optional boolean
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, enabled, portal_alias, 3 more }
name: string
enabled: optional boolean
portal_alias: optional string
portal_description: optional string
server_alias: optional string
server_description: optional string
updated_tools: optional array of object { name, enabled, portal_alias, 3 more }
name: string
enabled: optional boolean
portal_alias: optional string
portal_description: optional string
server_alias: optional string
server_description: optional string
Deprecatedallow_code_mode: optional boolean

Deprecated: use code_mode for new integrations. true maps to any non-off Code Mode policy; false maps to code_mode: off. If both fields are sent, they must be consistent or the request returns a 400.

code_mode: optional "off" or "opt_in" or "default_on" or "enforced"

Code Mode policy for this portal. off: Code Mode is unavailable; query parameters are ignored. opt_in: Code Mode is off by default; clients turn it on with ?codemode=search_and_execute. default_on: Code Mode is on by default; clients can opt out with ?codemode=off. enforced: Code Mode is always on; query parameters are ignored. Defaults to opt_in when omitted on create. If both code_mode and allow_code_mode are sent, they must be consistent or the request returns a 400.

One of the following:
"off"
"opt_in"
"default_on"
"enforced"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound MCP traffic through Zero Trust Secure Web Gateway

PortalUpdateResponse object { id, hostname, name, 9 more }
id: string

portal id

maxLength32
minLength1
hostname: string
name: string
maxLength350
servers: array of object { id, auth_type, hostname, 22 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
server_id: string

server id

maxLength32
minLength1
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
default_disabled: optional boolean
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
on_behalf: optional boolean
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, enabled, portal_alias, 3 more }
name: string
enabled: optional boolean
portal_alias: optional string
portal_description: optional string
server_alias: optional string
server_description: optional string
updated_tools: optional array of object { name, enabled, portal_alias, 3 more }
name: string
enabled: optional boolean
portal_alias: optional string
portal_description: optional string
server_alias: optional string
server_description: optional string
Deprecatedallow_code_mode: optional boolean

Deprecated: use code_mode for new integrations. true maps to any non-off Code Mode policy; false maps to code_mode: off. If both fields are sent, they must be consistent or the request returns a 400.

code_mode: optional "off" or "opt_in" or "default_on" or "enforced"

Code Mode policy for this portal. off: Code Mode is unavailable; query parameters are ignored. opt_in: Code Mode is off by default; clients turn it on with ?codemode=search_and_execute. default_on: Code Mode is on by default; clients can opt out with ?codemode=off. enforced: Code Mode is always on; query parameters are ignored. Defaults to opt_in when omitted on create. If both code_mode and allow_code_mode are sent, they must be consistent or the request returns a 400.

One of the following:
"off"
"opt_in"
"default_on"
"enforced"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound MCP traffic through Zero Trust Secure Web Gateway

PortalDeleteResponse object { id, hostname, name, 8 more }
id: string

portal id

maxLength32
minLength1
hostname: string
name: string
maxLength350
Deprecatedallow_code_mode: optional boolean

Deprecated: use code_mode for new integrations. true maps to any non-off Code Mode policy; false maps to code_mode: off. If both fields are sent, they must be consistent or the request returns a 400.

code_mode: optional "off" or "opt_in" or "default_on" or "enforced"

Code Mode policy for this portal. off: Code Mode is unavailable; query parameters are ignored. opt_in: Code Mode is off by default; clients turn it on with ?codemode=search_and_execute. default_on: Code Mode is on by default; clients can opt out with ?codemode=off. enforced: Code Mode is always on; query parameters are ignored. Defaults to opt_in when omitted on create. If both code_mode and allow_code_mode are sent, they must be consistent or the request returns a 400.

One of the following:
"off"
"opt_in"
"default_on"
"enforced"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound MCP traffic through Zero Trust Secure Web Gateway

Zero TrustAccessAI ControlsMcpServers

List MCP Servers
GET/accounts/{account_id}/access/ai-controls/mcp/servers
Create a new MCP Server
POST/accounts/{account_id}/access/ai-controls/mcp/servers
Read the details of a MCP Server
GET/accounts/{account_id}/access/ai-controls/mcp/servers/{id}
Update a MCP Server
PUT/accounts/{account_id}/access/ai-controls/mcp/servers/{id}
Delete a MCP Server
DELETE/accounts/{account_id}/access/ai-controls/mcp/servers/{id}
Sync MCP Server Capabilities
POST/accounts/{account_id}/access/ai-controls/mcp/servers/{id}/sync
ModelsExpand Collapse
ServerListResponse object { id, auth_type, hostname, 19 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
updated_tools: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
ServerCreateResponse object { id, auth_type, hostname, 19 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
updated_tools: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
ServerReadResponse object { id, auth_type, hostname, 19 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
updated_tools: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
ServerUpdateResponse object { id, auth_type, hostname, 19 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
updated_tools: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
ServerDeleteResponse object { id, auth_type, hostname, 19 more }
id: string

server id

maxLength32
minLength1
auth_type: "oauth" or "bearer" or "unauthenticated"
One of the following:
"oauth"
"bearer"
"unauthenticated"
hostname: string
formaturi
name: string
maxLength350
prompts: array of map[unknown]
tools: array of map[unknown]
auth_config_summary: optional object { auth_mode, client_secret_version, config, 2 more }

Safe subset of auth_credentials surfaced to the dashboard. Includes auth_mode (dcr|manual), has_client_secret, client_secret_version, and the OAuth endpoints + client_id for manual servers. Never includes the secret value.

auth_mode: optional "dcr" or "manual"
One of the following:
"dcr"
"manual"
client_secret_version: optional number
config: optional object { authorization_endpoint, issuer, resource, 2 more }
authorization_endpoint: optional string
issuer: optional string
resource: optional string
revocation_endpoint: optional string
token_endpoint: optional string
has_client_secret: optional boolean
registration_info: optional object { client_id, redirect_uris, scope, token_endpoint_auth_method }
client_id: optional string
redirect_uris: optional array of string
scope: optional string
token_endpoint_auth_method: optional string
authentication_status: optional "not_required" or "required" or "connected" or 2 more

Whether administrative authentication is required before capabilities can be synced. Manual OAuth is user-managed and has no administrative authentication flow.

One of the following:
"not_required"
"required"
"connected"
"stale"
"manual"
created_at: optional string
formatdate-time
created_by: optional string
description: optional string
maxLength512
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

is_shared_oauth_callback_enabled: optional boolean

When true, the gateway worker uses the shared Cloudflare-owned OAuth callback endpoint as the redirect_uri for upstream on-behalf OAuth, instead of the customer portal hostname. Defaults to false (off); opt in per server by setting true.

last_successful_sync: optional string
formatdate-time
last_synced: optional string
formatdate-time
modified_at: optional string
formatdate-time
modified_by: optional string
secure_web_gateway: optional boolean

Route outbound traffic to this MCP server through Zero Trust Secure Web Gateway

status: optional "waiting" or "ready" or "stale" or "error"

Current sync state of the server

One of the following:
"waiting"
"ready"
"stale"
"error"
updated_prompts: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
updated_tools: optional array of object { name, alias, description, enabled }
name: string
alias: optional string
maxLength40
description: optional string
enabled: optional boolean
ServerSyncResponse object { error, error_details, status }
error: optional string
error_details: optional object { cause, is_upstream, mcp_code, 2 more }
cause: optional string

Underlying error message

is_upstream: optional boolean

True = MCP server returned an error. False = couldn’t reach the server

mcp_code: optional number

MCP protocol error code

retryable: optional boolean

Whether the error is transient and worth retrying

status_code: optional number

HTTP status code from the server

status: optional "waiting" or "ready" or "stale" or "error"
One of the following:
"waiting"
"ready"
"stale"
"error"

Zero TrustAccessGateway CA

List SSH Certificate Authorities (CA)
GET/accounts/{account_id}/access/gateway_ca
Add a new SSH Certificate Authority (CA)
POST/accounts/{account_id}/access/gateway_ca
Delete an SSH Certificate Authority (CA)
DELETE/accounts/{account_id}/access/gateway_ca/{certificate_id}
ModelsExpand Collapse
GatewayCAListResponse object { id, public_key }
id: optional string

The key ID of this certificate.

public_key: optional string

The public key of this certificate.

GatewayCACreateResponse object { id, public_key }
id: optional string

The key ID of this certificate.

public_key: optional string

The public key of this certificate.

GatewayCADeleteResponse object { id }
id: optional string

UUID.

maxLength36

Zero TrustAccessIdP Federation Grants

List IdP federation grants
GET/accounts/{account_id}/access/idp_federation_grants
Create an IdP federation grant
POST/accounts/{account_id}/access/idp_federation_grants
Get an IdP federation grant
GET/accounts/{account_id}/access/idp_federation_grants/{grant_id}
Delete an IdP federation grant
DELETE/accounts/{account_id}/access/idp_federation_grants/{grant_id}
ModelsExpand Collapse
IdPFederationGrant object { id, idp_id }
id: string

UID of the IdP federation grant.

maxLength32
idp_id: string

UID of the identity provider being federated.

formatuuid
IdPFederationGrantListResponse = array of IdPFederationGrant { id, idp_id }
id: string

UID of the IdP federation grant.

maxLength32
idp_id: string

UID of the identity provider being federated.

formatuuid
IdPFederationGrantDeleteResponse object { id }
id: optional string

UID of the deleted IdP federation grant.

maxLength32

Zero TrustAccessSAML Certificates

List SAML certificate sets
GET/accounts/{account_id}/access/saml_certificates
Get SAML certificate set
GET/accounts/{account_id}/access/saml_certificates/{saml_cert_set_id}
Rotate SAML certificate
POST/accounts/{account_id}/access/saml_certificates/{saml_cert_set_id}/rotate
Download current certificate in PEM format
GET/accounts/{account_id}/access/saml_certificates/{saml_cert_set_id}/pem
ModelsExpand Collapse
SAMLCertificateListResponse object { created_at, uid, updated_at, 2 more }
created_at: string

When the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

updated_at: string

When the certificate set was last updated

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The current active certificate

is_current: boolean

Indicates whether the certificate can be used for IdP configuration.

not_after: string

Certificate expiration date

formatdate-time
public_certificate: string

The public certificate in PEM format

uid: string

Unique identifier for the certificate

previous_certificate: optional unknown

The previous certificate (maintained during rotation period). May be null when no rotation has occurred. Mirrors the structure of saml_certificate.

SAMLCertificateGetResponse object { created_at, uid, updated_at, 2 more }
created_at: string

When the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

updated_at: string

When the certificate set was last updated

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The current active certificate

is_current: boolean

Indicates whether the certificate can be used for IdP configuration.

not_after: string

Certificate expiration date

formatdate-time
public_certificate: string

The public certificate in PEM format

uid: string

Unique identifier for the certificate

previous_certificate: optional unknown

The previous certificate (maintained during rotation period). May be null when no rotation has occurred. Mirrors the structure of saml_certificate.

SAMLCertificateRotateResponse object { created_at, uid, updated_at, 2 more }
created_at: string

When the certificate set was created

formatdate-time
uid: string

Unique identifier for the certificate set

updated_at: string

When the certificate set was last updated

formatdate-time
current_certificate: optional object { is_current, not_after, public_certificate, uid }

The current active certificate

is_current: boolean

Indicates whether the certificate can be used for IdP configuration.

not_after: string

Certificate expiration date

formatdate-time
public_certificate: string

The public certificate in PEM format

uid: string

Unique identifier for the certificate

previous_certificate: optional unknown

The previous certificate (maintained during rotation period). May be null when no rotation has occurred. Mirrors the structure of saml_certificate.

Zero TrustAccessInfrastructure

Zero TrustAccessInfrastructureTargets

List all targets
GET/accounts/{account_id}/infrastructure/targets
Get target
GET/accounts/{account_id}/infrastructure/targets/{target_id}
Create new target
POST/accounts/{account_id}/infrastructure/targets
Update target
PUT/accounts/{account_id}/infrastructure/targets/{target_id}
Delete target
DELETE/accounts/{account_id}/infrastructure/targets/{target_id}
Create new targets
PUT/accounts/{account_id}/infrastructure/targets/batch
Delete targets (Deprecated)
Deprecated
DELETE/accounts/{account_id}/infrastructure/targets/batch
Delete targets
POST/accounts/{account_id}/infrastructure/targets/batch_delete
ModelsExpand Collapse
TargetListResponse object { id, created_at, hostname, 2 more }
id: string

Target identifier

formatuuid
maxLength36
created_at: string

Date and time at which the target was created

formatdate-time
hostname: string

A non-unique field that refers to a target

ip: object { ipv4, ipv6 }

The IPv4/IPv6 address that identifies where to reach a target

ipv4: optional object { ip_addr, virtual_network_id }

The target’s IPv4 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
ipv6: optional object { ip_addr, virtual_network_id }

The target’s IPv6 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
modified_at: string

Date and time at which the target was modified

formatdate-time
TargetGetResponse object { id, created_at, hostname, 2 more }
id: string

Target identifier

formatuuid
maxLength36
created_at: string

Date and time at which the target was created

formatdate-time
hostname: string

A non-unique field that refers to a target

ip: object { ipv4, ipv6 }

The IPv4/IPv6 address that identifies where to reach a target

ipv4: optional object { ip_addr, virtual_network_id }

The target’s IPv4 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
ipv6: optional object { ip_addr, virtual_network_id }

The target’s IPv6 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
modified_at: string

Date and time at which the target was modified

formatdate-time
TargetCreateResponse object { id, created_at, hostname, 2 more }
id: string

Target identifier

formatuuid
maxLength36
created_at: string

Date and time at which the target was created

formatdate-time
hostname: string

A non-unique field that refers to a target

ip: object { ipv4, ipv6 }

The IPv4/IPv6 address that identifies where to reach a target

ipv4: optional object { ip_addr, virtual_network_id }

The target’s IPv4 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
ipv6: optional object { ip_addr, virtual_network_id }

The target’s IPv6 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
modified_at: string

Date and time at which the target was modified

formatdate-time
TargetUpdateResponse object { id, created_at, hostname, 2 more }
id: string

Target identifier

formatuuid
maxLength36
created_at: string

Date and time at which the target was created

formatdate-time
hostname: string

A non-unique field that refers to a target

ip: object { ipv4, ipv6 }

The IPv4/IPv6 address that identifies where to reach a target

ipv4: optional object { ip_addr, virtual_network_id }

The target’s IPv4 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
ipv6: optional object { ip_addr, virtual_network_id }

The target’s IPv6 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
modified_at: string

Date and time at which the target was modified

formatdate-time
TargetBulkUpdateResponse object { id, created_at, hostname, 2 more }
id: string

Target identifier

formatuuid
maxLength36
created_at: string

Date and time at which the target was created

formatdate-time
hostname: string

A non-unique field that refers to a target

ip: object { ipv4, ipv6 }

The IPv4/IPv6 address that identifies where to reach a target

ipv4: optional object { ip_addr, virtual_network_id }

The target’s IPv4 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
ipv6: optional object { ip_addr, virtual_network_id }

The target’s IPv6 address

ip_addr: optional string

IP address of the target

virtual_network_id: optional string

(optional) Private virtual network identifier for the target. If omitted, the default virtual network ID will be used.

formatuuid
modified_at: string

Date and time at which the target was modified

formatdate-time

Zero TrustAccessApplications

List Access applications
GET/{accounts_or_zones}/{account_or_zone_id}/access/apps
Get an Access application
GET/{accounts_or_zones}/{account_or_zone_id}/access/apps/{app_id}
Add an Access application
POST/{accounts_or_zones}/{account_or_zone_id}/access/apps
Update an Access application
PUT/{accounts_or_zones}/{account_or_zone_id}/access/apps/{app_id}
Delete an Access application
DELETE/{accounts_or_zones}/{account_or_zone_id}/access/apps/{app_id}
Revoke application tokens
POST/{accounts_or_zones}/{account_or_zone_id}/access/apps/{app_id}/revoke_tokens
ModelsExpand Collapse
AllowedHeaders = string
AllowedIdPs = string

The identity providers selected for application.

AllowedMethods = "GET" or "POST" or "HEAD" or 6 more
One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
AllowedOrigins = string
AppID = string

Identifier.

Application = object { domain, type, id, 22 more } or object { id, allowed_idps, app_launcher_visible, 9 more } or object { domain, type, id, 22 more } or 5 more
One of the following:
SelfHostedApplication object { domain, type, id, 22 more }
domain: string

The domain and path that Access will secure.

type: string

The application type.

id: optional string

UUID.

maxLength36
allow_iframe: optional boolean

Enables loading application content in an iFrame.

allowed_idps: optional array of 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 boolean

Displays the application in the App Launcher.

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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 object { allow_all_headers, allow_all_methods, allow_all_origins, 5 more }
allow_all_headers: optional boolean

Allows all HTTP request headers.

allow_all_methods: optional boolean

Allows all HTTP request methods.

allow_all_origins: optional boolean

Allows all origins.

allow_credentials: optional boolean

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

allowed_headers: optional array of unknown

Allowed HTTP request headers.

allowed_methods: optional array of AllowedMethods

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: optional array of unknown

Allowed origins.

max_age: optional number

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

maximum86400
minimum-1
created_at: optional string
formatdate-time
custom_deny_message: optional string

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

custom_deny_url: optional string

The custom URL a user is redirected to when they are denied access to the application.

logo_url: optional string

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

name: optional string

The name of the application.

options_preflight_bypass: optional boolean

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

scim_config: optional object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication2 = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set active to false on the SCIM resource. This is useful because some targets do not support DELETE operations.

enabled: optional boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

service_auth_401_redirect: optional boolean

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

session_duration: optional string

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.

skip_interstitial: optional boolean

Enables automatic authentication through cloudflared.

updated_at: optional string
formatdate-time
use_clientless_isolation_app_launcher_url: optional boolean

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.

SaaSApplication object { id, allowed_idps, app_launcher_visible, 9 more }
id: optional string

UUID.

maxLength36
allowed_idps: optional array of 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 boolean

Displays the application in the App Launcher.

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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

created_at: optional string
formatdate-time
logo_url: optional string

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

name: optional string

The name of the application.

saas_app: optional object { auth_type, consumer_service_url, created_at, 8 more } or object { access_token_lifetime, allow_pkce_without_client_secret, app_launcher_url, 13 more }
One of the following:
AccessSAMLSaaSApp2 object { auth_type, consumer_service_url, created_at, 8 more }
auth_type: optional "saml" or "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 string

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

created_at: optional string
formatdate-time
custom_attributes: optional array of object { friendly_name, name, name_format, 2 more }
friendly_name: optional string

The SAML FriendlyName of the attribute.

name: optional string

The name of the attribute.

name_format: optional "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" or "urn:oasis:names:tc:SAML:2.0:attrname-format:basic" or "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 boolean

If the attribute is required when building a SAML assertion.

source: optional object { name, name_by_idp }
name: optional string

The name of the IdP attribute.

name_by_idp: optional map[string]

A mapping from IdP ID to attribute name.

idp_entity_id: optional string

The unique identifier for your SaaS application.

name_id_format: optional SaaSAppNameIDFormat

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

name_id_transform_jsonata: optional string

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 string

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

sp_entity_id: optional string

A globally unique name for an identity or service provider.

sso_endpoint: optional string

The endpoint where your SaaS application will send login requests.

updated_at: optional string
formatdate-time
AccessOIDCSaaSApp2 object { access_token_lifetime, allow_pkce_without_client_secret, app_launcher_url, 13 more }
access_token_lifetime: optional string

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 boolean

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

app_launcher_url: optional string

The URL where this applications tile redirects users

auth_type: optional "saml" or "oidc"

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

One of the following:
"saml"
"oidc"
client_id: optional string

The application client id

client_secret: optional string

The application client secret, only returned on POST request.

created_at: optional string
formatdate-time
custom_claims: optional array of object { name, required, scope, source }
name: optional string

The name of the claim.

required: optional boolean

If the claim is required when building an OIDC token.

scope: optional "groups" or "profile" or "email" or "openid"

The scope of the claim.

One of the following:
"groups"
"profile"
"email"
"openid"
source: optional object { name, name_by_idp }
name: optional string

The name of the IdP claim.

name_by_idp: optional array of object { idp_id, source_name }

A mapping from IdP ID to attribute name.

idp_id: optional string

The UID of the IdP.

source_name: optional string

The name of the IdP provided attribute.

grant_types: optional array of "authorization_code" or "authorization_code_with_pkce" or "refresh_tokens" or 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 string

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

hybrid_and_implicit_options: optional object { return_access_token_from_authorization_endpoint, return_id_token_from_authorization_endpoint }
return_access_token_from_authorization_endpoint: optional boolean

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

return_id_token_from_authorization_endpoint: optional boolean

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

public_key: optional string

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

redirect_uris: optional array of string

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

refresh_token_options: optional object { lifetime }
lifetime: optional string

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

scopes: optional array of "openid" or "groups" or "email" or "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"
updated_at: optional string
formatdate-time
scim_config: optional object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication2 = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set active to false on the SCIM resource. This is useful because some targets do not support DELETE operations.

enabled: optional boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

type: optional string

The application type.

updated_at: optional string
formatdate-time
BrowserSSHApplication object { domain, type, id, 22 more }
domain: string

The domain and path that Access will secure.

type: string

The application type.

id: optional string

UUID.

maxLength36
allow_iframe: optional boolean

Enables loading application content in an iFrame.

allowed_idps: optional array of 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 boolean

Displays the application in the App Launcher.

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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 object { allow_all_headers, allow_all_methods, allow_all_origins, 5 more }
allow_all_headers: optional boolean

Allows all HTTP request headers.

allow_all_methods: optional boolean

Allows all HTTP request methods.

allow_all_origins: optional boolean

Allows all origins.

allow_credentials: optional boolean

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

allowed_headers: optional array of unknown

Allowed HTTP request headers.

allowed_methods: optional array of AllowedMethods

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: optional array of unknown

Allowed origins.

max_age: optional number

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

maximum86400
minimum-1
created_at: optional string
formatdate-time
custom_deny_message: optional string

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

custom_deny_url: optional string

The custom URL a user is redirected to when they are denied access to the application.

logo_url: optional string

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

name: optional string

The name of the application.

options_preflight_bypass: optional boolean

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

scim_config: optional object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication2 = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set active to false on the SCIM resource. This is useful because some targets do not support DELETE operations.

enabled: optional boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

service_auth_401_redirect: optional boolean

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

session_duration: optional string

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.

skip_interstitial: optional boolean

Enables automatic authentication through cloudflared.

updated_at: optional string
formatdate-time
use_clientless_isolation_app_launcher_url: optional boolean

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.

BrowserVNCApplication object { domain, type, id, 22 more }
domain: string

The domain and path that Access will secure.

type: string

The application type.

id: optional string

UUID.

maxLength36
allow_iframe: optional boolean

Enables loading application content in an iFrame.

allowed_idps: optional array of 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 boolean

Displays the application in the App Launcher.

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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 object { allow_all_headers, allow_all_methods, allow_all_origins, 5 more }
allow_all_headers: optional boolean

Allows all HTTP request headers.

allow_all_methods: optional boolean

Allows all HTTP request methods.

allow_all_origins: optional boolean

Allows all origins.

allow_credentials: optional boolean

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

allowed_headers: optional array of unknown

Allowed HTTP request headers.

allowed_methods: optional array of AllowedMethods

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: optional array of unknown

Allowed origins.

max_age: optional number

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

maximum86400
minimum-1
created_at: optional string
formatdate-time
custom_deny_message: optional string

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

custom_deny_url: optional string

The custom URL a user is redirected to when they are denied access to the application.

logo_url: optional string

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

name: optional string

The name of the application.

options_preflight_bypass: optional boolean

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

scim_config: optional object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication2 = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set active to false on the SCIM resource. This is useful because some targets do not support DELETE operations.

enabled: optional boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

service_auth_401_redirect: optional boolean

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

session_duration: optional string

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.

skip_interstitial: optional boolean

Enables automatic authentication through cloudflared.

updated_at: optional string
formatdate-time
use_clientless_isolation_app_launcher_url: optional boolean

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.

AppLauncherApplication object { type, id, allowed_idps, 8 more }
type: "self_hosted" or "saas" or "ssh" or 6 more

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
id: optional string

UUID.

maxLength36
allowed_idps: optional array of AllowedIdPs

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

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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

created_at: optional string
formatdate-time
domain: optional string

The domain and path that Access will secure.

name: optional string

The name of the application.

scim_config: optional object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication2 = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set active to false on the SCIM resource. This is useful because some targets do not support DELETE operations.

enabled: optional boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

session_duration: optional string

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.

updated_at: optional string
formatdate-time
DeviceEnrollmentPermissionsApplication object { type, id, allowed_idps, 8 more }
type: "self_hosted" or "saas" or "ssh" or 6 more

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
id: optional string

UUID.

maxLength36
allowed_idps: optional array of AllowedIdPs

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

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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

created_at: optional string
formatdate-time
domain: optional string

The domain and path that Access will secure.

name: optional string

The name of the application.

scim_config: optional object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication2 = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set active to false on the SCIM resource. This is useful because some targets do not support DELETE operations.

enabled: optional boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

session_duration: optional string

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.

updated_at: optional string
formatdate-time
BrowserIsolationPermissionsApplication object { type, id, allowed_idps, 8 more }
type: "self_hosted" or "saas" or "ssh" or 6 more

The application type.

One of the following:
"self_hosted"
"saas"
"ssh"
"vnc"
"app_launcher"
"warp"
"biso"
"bookmark"
"dash_sso"
id: optional string

UUID.

maxLength36
allowed_idps: optional array of AllowedIdPs

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

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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

created_at: optional string
formatdate-time
domain: optional string

The domain and path that Access will secure.

name: optional string

The name of the application.

scim_config: optional object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication2 = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set active to false on the SCIM resource. This is useful because some targets do not support DELETE operations.

enabled: optional boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

session_duration: optional string

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.

updated_at: optional string
formatdate-time
BookmarkApplication object { domain, type, id, 7 more }
domain: string

The URL or domain of the bookmark.

type: string

The application type.

id: optional string

UUID.

maxLength36
app_launcher_visible: optional unknown
aud: optional string

Audience tag.

maxLength64
created_at: optional string
formatdate-time
logo_url: optional string

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

name: optional string

The name of the application.

scim_config: optional object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication2 = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or object { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

AccessSCIMConfigAuthenticationOAuthBearerToken2 object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

If false, we propagate DELETE requests to the target application for SCIM resources. If true, we only set active to false on the SCIM resource. This is useful because some targets do not support DELETE operations.

enabled: optional boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

updated_at: optional string
formatdate-time
ApplicationPolicy object { id, approval_groups, approval_required, 13 more }
id: optional string

The UUID of the policy

maxLength36
approval_groups: optional array of ApprovalGroup { approvals_needed, email_addresses, email_list_uuid }

Administrators who can approve a temporary authentication request.

approvals_needed: number

The number of approvals needed to obtain access.

minimum0
email_addresses: optional array of string

A list of emails that can approve the access request.

email_list_uuid: optional string

The UUID of an re-usable email list.

approval_required: optional boolean

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

connection_rules: optional object { rdp }

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

rdp: optional object { allowed_clipboard_local_to_remote_formats, allowed_clipboard_remote_to_local_formats }

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

allowed_clipboard_local_to_remote_formats: optional array of "text" or "file"

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

One of the following:
"text"
"file"
allowed_clipboard_remote_to_local_formats: optional array of "text" or "file"

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

One of the following:
"text"
"file"
created_at: optional string
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.

exclude: optional array of 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:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
include: optional array of AccessRule

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

One of the following:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
isolation_required: optional boolean

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 object { allowed_authenticators, mfa_disabled, session_duration }

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: optional array of "totp" or "biometrics" or "security_key"

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: optional boolean

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

session_duration: optional string

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 string

The name of the Access policy.

purpose_justification_prompt: optional string

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

purpose_justification_required: optional boolean

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

require: optional array of 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:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
session_duration: optional string

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 string
formatdate-time
ApplicationType = "self_hosted" or "saas" or "ssh" or 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"
CORSHeaders object { allow_all_headers, allow_all_methods, allow_all_origins, 5 more }
allow_all_headers: optional boolean

Allows all HTTP request headers.

allow_all_methods: optional boolean

Allows all HTTP request methods.

allow_all_origins: optional boolean

Allows all origins.

allow_credentials: optional boolean

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

allowed_headers: optional array of AllowedHeaders

Allowed HTTP request headers.

allowed_methods: optional array of AllowedMethods

Allowed HTTP request methods.

One of the following:
"GET"
"POST"
"HEAD"
"PUT"
"DELETE"
"CONNECT"
"OPTIONS"
"TRACE"
"PATCH"
allowed_origins: optional array of AllowedOrigins

Allowed origins.

max_age: optional number

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

maximum86400
minimum-1
Decision = "allow" or "deny" or "non_identity" or "bypass"

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"
OIDCSaaSApp object { access_token_lifetime, allow_pkce_without_client_secret, app_launcher_url, 11 more }
access_token_lifetime: optional string

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 boolean

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

app_launcher_url: optional string

The URL where this applications tile redirects users

auth_type: optional "saml" or "oidc"

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

One of the following:
"saml"
"oidc"
client_id: optional string

The application client id

client_secret: optional string

The application client secret, only returned on POST request.

custom_claims: optional array of object { name, required, scope, source }
name: optional string

The name of the claim.

required: optional boolean

If the claim is required when building an OIDC token.

scope: optional "groups" or "profile" or "email" or "openid"

The scope of the claim.

One of the following:
"groups"
"profile"
"email"
"openid"
source: optional object { name, name_by_idp }
name: optional string

The name of the IdP claim.

name_by_idp: optional map[string]

A mapping from IdP ID to claim name.

grant_types: optional array of "authorization_code" or "authorization_code_with_pkce" or "refresh_tokens" or 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 string

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

hybrid_and_implicit_options: optional object { return_access_token_from_authorization_endpoint, return_id_token_from_authorization_endpoint }
return_access_token_from_authorization_endpoint: optional boolean

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

return_id_token_from_authorization_endpoint: optional boolean

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

public_key: optional string

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

redirect_uris: optional array of string

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

refresh_token_options: optional object { lifetime }
lifetime: optional string

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

scopes: optional array of "openid" or "groups" or "email" or "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"
SaaSAppNameIDFormat = "id" or "email"

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

One of the following:
"id"
"email"
SAMLSaaSApp object { auth_type, consumer_service_url, custom_attributes, 8 more }
auth_type: optional "saml" or "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 string

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

custom_attributes: optional array of object { friendly_name, name, name_format, 2 more }
friendly_name: optional string

The SAML FriendlyName of the attribute.

name: optional string

The name of the attribute.

name_format: optional "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" or "urn:oasis:names:tc:SAML:2.0:attrname-format:basic" or "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 boolean

If the attribute is required when building a SAML assertion.

source: optional object { name, name_by_idp }
name: optional string

The name of the IdP attribute.

name_by_idp: optional array of object { idp_id, source_name }

A mapping from IdP ID to attribute name.

idp_id: optional string

The UID of the IdP.

source_name: optional string

The name of the IdP provided attribute.

default_relay_state: optional string

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

idp_entity_id: optional string

The unique identifier for your SaaS application.

name_id_format: optional SaaSAppNameIDFormat

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

name_id_transform_jsonata: optional string

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 string

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

saml_attribute_transform_jsonata: optional string

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 string

A globally unique name for an identity or service provider.

sso_endpoint: optional string

The endpoint where your SaaS application will send login requests.

SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

SCIMConfigAuthenticationOAuthBearerToken object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

SCIMConfigMapping object { schema, enabled, filter, 3 more }

Transformations and filters applied to resources before they are provisioned in the remote SCIM service.

schema: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

SelfHostedDomains = string

A domain that Access will secure.

ApplicationListResponse = object { domain, type, id, 31 more } or object { id, allowed_idps, app_launcher_visible, 10 more } or object { domain, type, id, 31 more } or 10 more
One of the following:
SelfHostedApplication object { domain, type, id, 31 more }
domain: string

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.

id: optional string

UUID.

maxLength36
allow_authenticate_via_warp: optional boolean

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 boolean

Enables loading application content in an iFrame.

allowed_idps: optional array of 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 boolean

Displays the application in the App Launcher.

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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, allow_all_methods, allow_all_origins, 5 more }
custom_deny_message: optional string

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

custom_deny_url: optional string

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 string

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

custom_pages: optional array of string

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

destinations: optional array of object { type, uri } or object { cidr, hostname, l4_protocol, 3 more } or object { mcp_server_id, type } or 4 more

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:
PublicDestination object { type, uri }

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

type: optional "public"
uri: optional string

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

PrivateDestination object { cidr, hostname, l4_protocol, 3 more }
cidr: optional string

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

hostname: optional string

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

l4_protocol: optional "tcp" or "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 string

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

type: optional "private"
vnet_id: optional string

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

ViaMcpServerPortalDestination object { mcp_server_id, type }

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

mcp_server_id: optional string

The MCP server id configured in ai-controls.

type: optional "via_mcp_server_portal"
WorkerDestination object { type, worker_id }

A specific Cloudflare Worker that Access will secure. All requests routed to the specified Worker, including its preview deployments, will be protected. The preview_worker and public destination types takes precedence, so you can create separate applications to override the policies for the Worker’s previews or specific paths.

type: "worker"
worker_id: string

The ID of the Cloudflare Worker to protect with Access.

PreviewWorkerDestination object { type, worker_id }

A specific Cloudflare Worker whose preview deployments Access will secure. Only requests routed to the preview deployments of the specified Worker will be protected. The public destination type takes precedence, so you can create separate applications to override the policies for specific paths.

type: "preview_worker"
worker_id: string

The ID of the Cloudflare Worker whose preview deployments to protect with Access.

AllWorkersDestination object { type }

Protects all Cloudflare Workers on the account with Access, including their preview deployments. At most one destination of this type can exist per account. The worker, preview_worker, all_preview_workers, and public destination types take precedence, so you can create separate applications to override the policies for specific Workers, their previews, or specific paths.

type: "all_workers"
AllPreviewWorkersDestination object { type }

Protects the preview deployments of all Cloudflare Workers on the account with Access. At most one destination of this type can exist per account. The worker, preview_worker, and public destination types take precedence, so you can create separate applications to override the policies for specific Workers, their previews, or specific paths.

type: "all_preview_workers"
logo_url: optional string

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

mfa_config: optional object { allowed_authenticators, mfa_disabled, session_duration }

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: optional array of "totp" or "biometrics" or "security_key"

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: optional boolean

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

session_duration: optional string

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 string

The name of the application.

oauth_configuration: optional object { dynamic_client_registration, enabled, grant }

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 object { allow_any_on_localhost, allow_any_on_loopback, allowed_uris, enabled }

Settings for OAuth dynamic client registration.

allow_any_on_localhost: optional boolean

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: optional boolean

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: optional array of string

The URIs that are allowed as redirect URIs for dynamically registered clients. HTTP and HTTPS paths may end in /* to match all sub-paths. Custom-scheme URIs must be explicitly configured and match exactly.

enabled: optional boolean

Whether dynamic client registration is enabled.

enabled: optional boolean

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 object { access_token_lifetime, session_duration }

Settings for OAuth grant behavior.

access_token_lifetime: optional string

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 string

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 boolean

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

policies: optional array of object { id, account_id, approval_groups, 15 more }
id: optional string

The UUID of the policy

maxLength36
account_id: optional string

Identifier.

maxLength32
approval_groups: optional array of ApprovalGroup { approvals_needed, email_addresses, email_list_uuid }

Administrators who can approve a temporary authentication request.

approvals_needed: number

The number of approvals needed to obtain access.

minimum0
email_addresses: optional array of string

A list of emails that can approve the access request.

email_list_uuid: optional string

The UUID of an re-usable email list.

approval_required: optional boolean

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

connection_rules: optional object { rdp }

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

rdp: optional object { allowed_clipboard_local_to_remote_formats, allowed_clipboard_remote_to_local_formats }

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

allowed_clipboard_local_to_remote_formats: optional array of "text" or "file"

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

One of the following:
"text"
"file"
allowed_clipboard_remote_to_local_formats: optional array of "text" or "file"

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

One of the following:
"text"
"file"
created_at: optional string
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.

exclude: optional array of 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:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
include: optional array of AccessRule

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

One of the following:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
isolation_required: optional boolean

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 object { allowed_authenticators, mfa_disabled, session_duration }

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: optional array of "totp" or "biometrics" or "security_key"

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: optional boolean

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

session_duration: optional string

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 string

The name of the Access policy.

precedence: optional number

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

purpose_justification_prompt: optional string

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

purpose_justification_required: optional boolean

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

require: optional array of 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:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
session_duration: optional string

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 string
formatdate-time
read_service_tokens_from_header: optional string

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 object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or SCIMConfigAuthenticationOAuthBearerToken { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

SCIMConfigAuthenticationOAuthBearerToken object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or SCIMConfigAuthenticationOAuthBearerToken { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

SCIMConfigAuthenticationOAuthBearerToken object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

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 boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

Deprecatedself_hosted_domains: optional array of 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 boolean

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

session_duration: optional string

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 boolean

Enables automatic authentication through cloudflared.

tags: optional array of string

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 boolean

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.

SaaSApplication object { id, allowed_idps, app_launcher_visible, 10 more }
id: optional string

UUID.

maxLength36
allowed_idps: optional array of 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 boolean

Displays the application in the App Launcher.

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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 array of string

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

logo_url: optional string

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

name: optional string

The name of the application.

policies: optional array of object { id, account_id, approval_groups, 15 more }
id: optional string

The UUID of the policy

maxLength36
account_id: optional string

Identifier.

maxLength32
approval_groups: optional array of ApprovalGroup { approvals_needed, email_addresses, email_list_uuid }

Administrators who can approve a temporary authentication request.

approvals_needed: number

The number of approvals needed to obtain access.

minimum0
email_addresses: optional array of string

A list of emails that can approve the access request.

email_list_uuid: optional string

The UUID of an re-usable email list.

approval_required: optional boolean

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

connection_rules: optional object { rdp }

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

rdp: optional object { allowed_clipboard_local_to_remote_formats, allowed_clipboard_remote_to_local_formats }

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

allowed_clipboard_local_to_remote_formats: optional array of "text" or "file"

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

One of the following:
"text"
"file"
allowed_clipboard_remote_to_local_formats: optional array of "text" or "file"

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

One of the following:
"text"
"file"
created_at: optional string
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.

exclude: optional array of 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:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
include: optional array of AccessRule

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

One of the following:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
isolation_required: optional boolean

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 object { allowed_authenticators, mfa_disabled, session_duration }

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: optional array of "totp" or "biometrics" or "security_key"

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: optional boolean

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

session_duration: optional string

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 string

The name of the Access policy.

precedence: optional number

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

purpose_justification_prompt: optional string

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

purpose_justification_required: optional boolean

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

require: optional array of 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:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string
AzureGroupRule object { azureAD }

Matches an Azure group. Requires an Azure identity provider.

azureAD: object { id, identity_provider_id }
id: string

The ID of an Azure group.

identity_provider_id: string

The ID of your Azure identity provider.

CertificateRule object { certificate }

Matches any valid client certificate.

certificate: object { }
AccessCommonNameRule object { common_name }

Matches a specific common name.

common_name: object { common_name }
common_name: string

The common name to match.

CountryRule object { geo }

Matches a specific country

geo: object { country_code }
country_code: string

The country code that should be matched.

AccessDevicePostureRule object { device_posture }

Enforces a device posture rule has run successfully

device_posture: object { integration_uid }
integration_uid: string

The ID of a device posture integration.

DomainRule object { email_domain }

Match an entire email domain.

email_domain: object { domain }
domain: string

The email domain to match.

EmailListRule object { email_list }

Matches an email address from a list.

email_list: object { id }
id: string

The ID of a previously created email list.

EmailRule object { email }

Matches a specific email.

email: object { email }
email: string

The email of the user.

formatemail
EveryoneRule object { everyone }

Matches everyone.

everyone: object { }

An empty object which matches on all users.

ExternalEvaluationRule object { external_evaluation }

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

external_evaluation: object { evaluate_url, keys_url }
evaluate_url: string

The API endpoint containing your business logic.

keys_url: string

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

GitHubOrganizationRule object { "github-organization" }

Matches a Github organization. Requires a Github identity provider.

"github-organization": object { identity_provider_id, name, team }
identity_provider_id: string

The ID of your Github identity provider.

name: string

The name of the organization.

team: optional string

The name of the team

GSuiteGroupRule object { gsuite }

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

gsuite: object { email, identity_provider_id }
email: string

The email of the Google Workspace group.

identity_provider_id: string

The ID of your Google Workspace identity provider.

AccessLoginMethodRule object { login_method }

Matches a specific identity provider id.

login_method: object { id }
id: string

The ID of an identity provider.

IPListRule object { ip_list }

Matches an IP address from a list.

ip_list: object { id }
id: string

The ID of a previously created IP list.

IPRule object { ip }

Matches an IP address block.

ip: object { ip }
ip: string

An IPv4 or IPv6 CIDR block.

OktaGroupRule object { okta }

Matches an Okta group. Requires an Okta identity provider.

okta: object { identity_provider_id, name }
identity_provider_id: string

The ID of your Okta identity provider.

name: string

The name of the Okta group.

SAMLGroupRule object { saml }

Matches a SAML group. Requires a SAML identity provider.

saml: object { attribute_name, attribute_value, identity_provider_id }
attribute_name: string

The name of the SAML attribute.

attribute_value: string

The SAML attribute value to look for.

identity_provider_id: string

The ID of your SAML identity provider.

AccessOIDCClaimRule object { oidc }

Matches an OIDC claim. Requires an OIDC identity provider.

oidc: object { claim_name, claim_value, identity_provider_id }
claim_name: string

The name of the OIDC claim.

claim_value: string

The OIDC claim value to look for.

identity_provider_id: string

The ID of your OIDC identity provider.

ServiceTokenRule object { service_token }

Matches a specific Access Service Token

service_token: object { token_id }
token_id: string

The ID of a Service Token.

AccessLinkedAppTokenRule object { linked_app_token }

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: object { app_uid }
app_uid: string

The ID of an Access OIDC SaaS application

AccessUserRiskScoreRule object { user_risk_score }

Matches a user’s risk score.

user_risk_score: object { user_risk_score }
user_risk_score: array of "low" or "medium" or "high" or "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"
AccessCloudflareAccountMemberRule object { cloudflare_account_member }

Matches users who are members of a specific Cloudflare account. Requires a Cloudflare identity provider.

cloudflare_account_member: object { account_id }
account_id: optional string

Identifier.

maxLength32
session_duration: optional string

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 string
formatdate-time
saas_app: optional SAMLSaaSApp { auth_type, consumer_service_url, custom_attributes, 8 more } or OIDCSaaSApp { access_token_lifetime, allow_pkce_without_client_secret, app_launcher_url, 11 more }
One of the following:
SAMLSaaSApp object { auth_type, consumer_service_url, custom_attributes, 8 more }
auth_type: optional "saml" or "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 string

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

custom_attributes: optional array of object { friendly_name, name, name_format, 2 more }
friendly_name: optional string

The SAML FriendlyName of the attribute.

name: optional string

The name of the attribute.

name_format: optional "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" or "urn:oasis:names:tc:SAML:2.0:attrname-format:basic" or "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 boolean

If the attribute is required when building a SAML assertion.

source: optional object { name, name_by_idp }
name: optional string

The name of the IdP attribute.

name_by_idp: optional array of object { idp_id, source_name }

A mapping from IdP ID to attribute name.

idp_id: optional string

The UID of the IdP.

source_name: optional string

The name of the IdP provided attribute.

default_relay_state: optional string

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

idp_entity_id: optional string

The unique identifier for your SaaS application.

name_id_format: optional SaaSAppNameIDFormat

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

name_id_transform_jsonata: optional string

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 string

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

saml_attribute_transform_jsonata: optional string

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 string

A globally unique name for an identity or service provider.

sso_endpoint: optional string

The endpoint where your SaaS application will send login requests.

OIDCSaaSApp object { access_token_lifetime, allow_pkce_without_client_secret, app_launcher_url, 11 more }
access_token_lifetime: optional string

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 boolean

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

app_launcher_url: optional string

The URL where this applications tile redirects users

auth_type: optional "saml" or "oidc"

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

One of the following:
"saml"
"oidc"
client_id: optional string

The application client id

client_secret: optional string

The application client secret, only returned on POST request.

custom_claims: optional array of object { name, required, scope, source }
name: optional string

The name of the claim.

required: optional boolean

If the claim is required when building an OIDC token.

scope: optional "groups" or "profile" or "email" or "openid"

The scope of the claim.

One of the following:
"groups"
"profile"
"email"
"openid"
source: optional object { name, name_by_idp }
name: optional string

The name of the IdP claim.

name_by_idp: optional map[string]

A mapping from IdP ID to claim name.

grant_types: optional array of "authorization_code" or "authorization_code_with_pkce" or "refresh_tokens" or 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 string

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

hybrid_and_implicit_options: optional object { return_access_token_from_authorization_endpoint, return_id_token_from_authorization_endpoint }
return_access_token_from_authorization_endpoint: optional boolean

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

return_id_token_from_authorization_endpoint: optional boolean

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

public_key: optional string

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

redirect_uris: optional array of string

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

refresh_token_options: optional object { lifetime }
lifetime: optional string

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

scopes: optional array of "openid" or "groups" or "email" or "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 object { idp_uid, remote_uri, authentication, 3 more }

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

idp_uid: string

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

remote_uri: string

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

authentication: optional SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or SCIMConfigAuthenticationOAuthBearerToken { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or 2 more

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

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

SCIMConfigAuthenticationOAuthBearerToken object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

AccessSCIMConfigMultiAuthentication = array of SCIMConfigAuthenticationHTTPBasic { password, scheme, user } or SCIMConfigAuthenticationOAuthBearerToken { token, scheme } or SCIMConfigAuthenticationOauth2 { authorization_url, client_id, client_secret, 3 more } or object { client_id, client_secret, scheme }

Multiple authentication schemes

One of the following:
SCIMConfigAuthenticationHTTPBasic object { password, scheme, user }

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

password: string

Password used to authenticate with the remote SCIM service.

scheme: "httpbasic"

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

user: string

User name used to authenticate with the remote SCIM service.

SCIMConfigAuthenticationOAuthBearerToken object { token, scheme }

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

token: string

Token used to authenticate with the remote SCIM service.

scheme: "oauthbearertoken"

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

SCIMConfigAuthenticationOauth2 object { authorization_url, client_id, client_secret, 3 more }

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

authorization_url: string

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

client_id: string

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

client_secret: string

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

scheme: "oauth2"

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

token_url: string

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

scopes: optional array of string

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

AccessSCIMConfigAuthenticationAccessServiceToken object { client_id, client_secret, scheme }

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

client_id: string

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

client_secret: string

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

scheme: "access_service_token"

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

deactivate_on_delete: optional boolean

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 boolean

Whether SCIM provisioning is turned on for this application.

mappings: optional array of SCIMConfigMapping { schema, enabled, filter, 3 more }

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: string

Which SCIM resource type this mapping applies to.

enabled: optional boolean

Whether or not this mapping is enabled.

filter: optional string

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

operations: optional object { create, delete, update }

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

create: optional boolean

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

delete: optional boolean

Whether or not this mapping applies to DELETE operations.

update: optional boolean

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

strictness: optional "strict" or "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 string

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

tags: optional array of string

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.

BrowserSSHApplication object { domain, type, id, 31 more }
domain: string

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

type: "self_hosted" or "saas" or "ssh" or 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 string

UUID.

maxLength36
allow_authenticate_via_warp: optional boolean

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 boolean

Enables loading application content in an iFrame.

allowed_idps: optional array of 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 boolean

Displays the application in the App Launcher.

aud: optional string

Audience tag.

maxLength64
auto_redirect_to_identity: optional boolean

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, allow_all_methods, allow_all_origins, 5 more }
custom_deny_message: optional string

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

custom_deny_url: optional string

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 string

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

custom_pages: optional array of string

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

destinations: optional array of object { type, uri } or object { cidr, hostname, l4_protocol, 3 more } or object { mcp_server_id, type } or 4 more

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:
PublicDestination object { type, uri }

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

type: optional "public"
uri: optional string

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

PrivateDestination object { cidr, hostname, l4_protocol, 3 more }
cidr: optional string

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

hostname: optional string

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

l4_protocol: optional "tcp" or "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 string

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

type: optional "private"
vnet_id: optional string

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

ViaMcpServerPortalDestination object { mcp_server_id, type }

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

mcp_server_id: optional string

The MCP server id configured in ai-controls.

type: optional "via_mcp_server_portal"
WorkerDestination object { type, worker_id }

A specific Cloudflare Worker that Access will secure. All requests routed to the specified Worker, including its preview deployments, will be protected. The preview_worker and public destination types takes precedence, so you can create separate applications to override the policies for the Worker’s previews or specific paths.

type: "worker"
worker_id: string

The ID of the Cloudflare Worker to protect with Access.

PreviewWorkerDestination object { type, worker_id }

A specific Cloudflare Worker whose preview deployments Access will secure. Only requests routed to the preview deployments of the specified Worker will be protected. The public destination type takes precedence, so you can create separate applications to override the policies for specific paths.

type: "preview_worker"
worker_id: string

The ID of the Cloudflare Worker whose preview deployments to protect with Access.

AllWorkersDestination object { type }

Protects all Cloudflare Workers on the account with Access, including their preview deployments. At most one destination of this type can exist per account. The worker, preview_worker, all_preview_workers, and public destination types take precedence, so you can create separate applications to override the policies for specific Workers, their previews, or specific paths.

type: "all_workers"
AllPreviewWorkersDestination object { type }

Protects the preview deployments of all Cloudflare Workers on the account with Access. At most one destination of this type can exist per account. The worker, preview_worker, and public destination types take precedence, so you can create separate applications to override the policies for specific Workers, their previews, or specific paths.

type: "all_preview_workers"
logo_url: optional string

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

mfa_config: optional object { allowed_authenticators, mfa_disabled, session_duration }

Configures multi-factor authentication (MFA) settings.

allowed_authenticators: optional array of "totp" or "biometrics" or "security_key"

Lists the MFA methods that users can authenticate with.

One of the following:
"totp"
"biometrics"
"security_key"
mfa_disabled: optional boolean

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

session_duration: optional string

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 string

The name of the application.

oauth_configuration: optional object { dynamic_client_registration, enabled, grant }

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 object { allow_any_on_localhost, allow_any_on_loopback, allowed_uris, enabled }

Settings for OAuth dynamic client registration.

allow_any_on_localhost: optional boolean

Allows any client with redirect URIs on localhost.

allow_any_on_loopback: optional boolean

Allows any client with redirect URIs on 127.0.0.1.

allowed_uris: optional array of string

The URIs that are allowed as redirect URIs for dynamically registered clients. HTTP and HTTPS paths may end in /* to match all sub-paths. Custom-scheme URIs must be explicitly configured and match exactly.

enabled: optional boolean

Whether dynamic client registration is enabled.

enabled: optional boolean

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 object { access_token_lifetime, session_duration }

Settings for OAuth grant behavior.

access_token_lifetime: optional string

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 string

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 boolean

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

policies: optional array of object { id, account_id, approval_groups, 15 more }
id: optional string

The UUID of the policy

maxLength36
account_id: optional string

Identifier.

maxLength32
approval_groups: optional array of ApprovalGroup { approvals_needed, email_addresses, email_list_uuid }

Administrators who can approve a temporary authentication request.

approvals_needed: number

The number of approvals needed to obtain access.

minimum0
email_addresses: optional array of string

A list of emails that can approve the access request.

email_list_uuid: optional string

The UUID of an re-usable email list.

approval_required: optional boolean

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

connection_rules: optional object { rdp }

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

rdp: optional object { allowed_clipboard_local_to_remote_formats, allowed_clipboard_remote_to_local_formats }

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

allowed_clipboard_local_to_remote_formats: optional array of "text" or "file"

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

One of the following:
"text"
"file"
allowed_clipboard_remote_to_local_formats: optional array of "text" or "file"

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

One of the following:
"text"
"file"
created_at: optional string
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.

exclude: optional array of 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:
GroupRule object { group }

Matches an Access group.

group: object { id }
id: string

The ID of a previously created Access group.

AnyValidServiceTokenRule object { any_valid_service_token }

Matches any valid Access Service Token

any_valid_service_token: object { }

An empty object which matches on all service tokens.

AccessAuthContextRule object { auth_context }

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

auth_context: object { id, ac_id, identity_provider_id }
id: string

The ID of an Authentication context.

ac_id: string

The ACID of an Authentication context.

identity_provider_id: string

The ID of your Azure identity provider.

AuthenticationMethodRule object { auth_method }

Enforce different MFA options

auth_method: object { auth_method }
auth_method: string

The type of authentication method