ReleaseCloudflare (Workers AI)Cloudflare (Workers AI)published Jun 16, 2026seen 1w

cloudflare/cloudflare-python v5.4.0

cloudflare/cloudflare-python

Open original ↗

Captured source

source ↗
published Jun 16, 2026seen 1wcaptured 1whttp 200method plain

v5.4.0

Repository: cloudflare/cloudflare-python

Tag: v5.4.0

Published: 2026-06-16T20:56:47Z

Prerelease: no

Release notes:

5.4.0 (2026-06-16)

Full Changelog: v5.3.0...v5.4.0

Features

  • ai_gateway: add custom_providers sub-resource (b982ff3)
  • ct_alerter: add CT alerting subscription endpoints (client.zones.ct.alerting) (5bb529c)
  • d1: add fields parameter to client.d1.database.get (2b0e738)
  • flagship: add flagship resource with apps, flags, changelog, and evaluate endpoints (2b0e738)
  • magic_transit: add cf1_sites sub-resource with ramps, and ipsec_tunnels.psk_set method (5d8e422)
  • origin_tls_compliance_modes: add origin_tls_compliance_modes resource (2b0e738)
  • ssl: add auto_origin_tls_kex sub-resource (2b0e738)
  • tenants: add tenants top-level resource and user.tenants sub-resource (7677b4c)
  • zero_trust: add DLP sensitivity_groups, data_tag_categories, and data_classes sub-resources (2b0e738)
  • zero_trust: add tunnels.warp_connector.configurations sub-resource (2b0e738)

Bug Fixes

  • iam: OAuthScopeListResponse type import path moved from cloudflare.types.iam.oauth_scopes to cloudflare.types.iam (2b0e738)

Chores

  • api: update composite API spec (2b0e738)

New Resources

Tenants (client.tenants)

  • get(tenant_id) -> Tenant
  • tenants.account_types.list(tenant_id) -> SyncSinglePage[AccountTypeListResponse]
  • tenants.accounts.list(tenant_id) -> SyncSinglePage[TenantAccount]
  • tenants.entitlements.get(tenant_id) -> TenantEntitlements
  • tenants.memberships.list(tenant_id) -> SyncSinglePage[TenantMembership]

New types:

from cloudflare.types.tenants import (
Tenant,
AccountTypeListResponse,
TenantAccount,
TenantEntitlements,
TenantMembership,
)

Flagship (client.flagship)

  • flagship.apps.create(*, account_id, **params) -> AppCreateResponse
  • flagship.apps.update(app_id, *, account_id, **params) -> AppUpdateResponse
  • flagship.apps.list(*, account_id) -> SyncSinglePage[AppListResponse]
  • flagship.apps.delete(app_id, *, account_id) -> AppDeleteResponse
  • flagship.apps.get(app_id, *, account_id) -> AppGetResponse
  • flagship.apps.flags.create(app_id, *, account_id, **params) -> FlagCreateResponse
  • flagship.apps.flags.update(flag_key, *, account_id, app_id, **params) -> FlagUpdateResponse
  • flagship.apps.flags.list(app_id, *, account_id, **params) -> SyncCursorPaginationAfter[FlagListResponse]
  • flagship.apps.flags.delete(flag_key, *, account_id, app_id) -> FlagDeleteResponse
  • flagship.apps.flags.get(flag_key, *, account_id, app_id) -> FlagGetResponse
  • flagship.apps.flags.changelog.list(flag_key, *, account_id, app_id, **params) -> SyncCursorPaginationAfter[ChangelogListResponse]
  • flagship.apps.evaluate.get(app_id, *, account_id, **params) -> EvaluateGetResponse

New types:

from cloudflare.types.flagship import (
AppCreateResponse,
AppUpdateResponse,
AppListResponse,
AppDeleteResponse,
AppGetResponse,
)
from cloudflare.types.flagship.apps import (
FlagCreateResponse,
FlagUpdateResponse,
FlagListResponse,
FlagDeleteResponse,
FlagGetResponse,
EvaluateGetResponse,
)
from cloudflare.types.flagship.apps.flags import ChangelogListResponse

Origin TLS Compliance Modes (client.origin_tls_compliance_modes)

  • update(*, zone_id, **params) -> Optional[OriginTLSComplianceModeUpdateResponse]
  • delete(*, zone_id) -> Optional[OriginTLSComplianceModeDeleteResponse]
  • edit(*, zone_id, **params) -> Optional[OriginTLSComplianceModeEditResponse]
  • get(*, zone_id) -> Optional[OriginTLSComplianceModeGetResponse]

New types:

from cloudflare.types.origin_tls_compliance_modes import (
OriginTLSComplianceModeUpdateResponse,
OriginTLSComplianceModeDeleteResponse,
OriginTLSComplianceModeEditResponse,
OriginTLSComplianceModeGetResponse,
)

New Sub-Resources on Existing Resources

AI Gateway - Custom Providers (client.ai_gateway.custom_providers)

  • create(*, account_id, **params) -> CustomProviderCreateResponse
  • list(*, account_id, **params) -> SyncV4PagePaginationArray[CustomProviderListResponse]
  • delete(id, *, account_id) -> CustomProviderDeleteResponse
  • get(id, *, account_id) -> CustomProviderGetResponse

New types:

from cloudflare.types.ai_gateway import (
CustomProviderCreateResponse,
CustomProviderListResponse,
CustomProviderDeleteResponse,
CustomProviderGetResponse,
)

Magic Transit - CF1 Sites (client.magic_transit.cf1_sites)

  • create(*, account_id, **params) -> SyncSinglePage[Cf1Site]
  • update(cf1_site_id, *, account_id, **params) -> Cf1Site
  • list(*, account_id) -> SyncSinglePage[Cf1Site]
  • delete(cf1_site_id, *, account_id) -> Cf1Site
  • get(cf1_site_id, *, account_id) -> Cf1Site
  • cf1_sites.ramps.create(cf1_site_id, *, account_id, **params) -> SyncSinglePage[Ramp]
  • cf1_sites.ramps.list(cf1_site_id, *, account_id) -> SyncSinglePage[Ramp]
  • cf1_sites.ramps.delete(ramp_id, *, account_id, cf1_site_id) -> Ramp
  • cf1_sites.ramps.get(ramp_id, *, account_id, cf1_site_id) -> Ramp

New types:

from cloudflare.types.magic_transit import Cf1Site
from...

Excerpt shown — open the source for the full document.

Notability

notability 3.0/10

Routine SDK minor release, not AI-specific.