Skip to main content
v6.0.0-beta.1 is currently in Beta. Please test thoroughly before deploying to production.
Version 6 introduces significant breaking changes primarily due to OpenAPI specification updates and improved code generation. This guide will help you migrate from v5 to v6 successfully.

Overview

The v6 release includes:
  • Type safety improvements with discriminated unions
  • Parameter requirement changes across multiple services
  • Interface renames and restructuring
  • Removal of deprecated features
  • New pagination patterns
Most breaking changes stem from OpenAPI definition updates that improve type safety and API accuracy. Take time to review each section relevant to your implementation.

Breaking changes by service

Addressing

Parameter requirement changes

Several parameters have changed from optional to required, or had their types refined:
Changes:
  • BGPPrefixCreateParams.cidr: optional → required
  • PrefixCreateParams.asn: number | nullnumber
  • PrefixCreateParams.loa_document_id: required → optional
  • ServiceBindingCreateParams.cidr: optional → required
  • ServiceBindingCreateParams.service_id: optional → required

API Gateway

Type renames and parameter changes improve consistency:
Changes:
  • ConfigurationUpdateResponse removed
  • PublicSchemaOldPublicSchema
  • SchemaUploadUserSchemaCreateResponse
  • ConfigurationUpdateParams.properties removed; use normalize instead

CloudforceOne

Response type changes for bulk operations:
The response is now a complex object with counts and errors fields instead of a simple number.

D1 Database

Query parameter types now support batch operations:
Changes:
  • DatabaseQueryParams: simple interface → union type (D1SingleQuery | MultipleQueries)
  • DatabaseRawParams: same change
  • Supports batch queries via batch array

DNS Records

All DNS record type interfaces have been renamed from long names to short codes:
Complete list of renames:
  • ARecordA
  • AAAARecordAAAA
  • CNAMERecordCNAME
  • MXRecordMX
  • NSRecordNS
  • PTRRecordPTR
  • TXTRecordTXT
  • CAARecordCAA
  • CERTRecordCERT
  • DNSKEYRecordDNSKEY
  • DSRecordDS
  • HTTPSRecordHTTPS
  • LOCRecordLOC
  • NAPTRRecordNAPTR
  • SMIMEARecordSMIMEA
  • SRVRecordSRV
  • SSHFPRecordSSHFP
  • SVCBRecordSVCB
  • TLSARecordTLSA
  • URIRecordURI
  • OpenpgpkeyRecordOpenpgpkey

IAM Resource Groups

Field requirement changes:
Changes:
  • ResourceGroupCreateResponse.scope: optional single → required array
  • ResourceGroupCreateResponse.id: optional → required

Origin CA Certificates

Several optional parameters are now required:
Changes:
  • OriginCACertificateCreateParams.csr: optional → required
  • OriginCACertificateCreateParams.hostnames: optional → required
  • OriginCACertificateCreateParams.request_type: optional → required

Pages

Type renames and domain field changes:
Changes:
  • Renamed: DeploymentsSinglePageDeploymentListResponsesV4PagePaginationArray
  • Domain response fields: many optional → required

Pipelines

Major version upgrade from v0 to v1 API:
The entire v0 API is deprecated. You must migrate to v1 methods.
1

Update method names

All Pipelines methods now have V1 suffix:
2

Use new sub-resources

v1 introduces new sub-resources for better organization:

R2

Parameter requirement changes:
Changes:
  • EventNotificationUpdateParams.rules: optional → required
  • Super Slurper: bucket, secret now required in source params

Radar

Typed enums and signature changes:
Changes:
  • dataSource: string → typed enum (23 values)
  • eventType: string → typed enum (6 values)
V2 methods now require a dimension parameter, which is a breaking signature change.

Resource Sharing

Field removal:
Changes:
  • Removed: status_message field from all recipient response types

Schema Validation

Response type consolidation:
Changes:
  • Consolidated SchemaCreateResponse, SchemaListResponse, SchemaEditResponse, SchemaGetResponsePublicSchema
  • Renamed: SchemaListResponsesV4PagePaginationArrayPublicSchemasV4PagePaginationArray

Spectrum

Union member renames:
Changes:
  • AppListResponse.UnionMember0SpectrumConfigAppConfig
  • AppListResponse.UnionMember1SpectrumConfigPaygoAppConfig

Workers

Type removals and renames:
Changes:
  • Removed: WorkersBindingKindTailConsumer type
  • Renamed: ScriptsSinglePageScriptListResponsesSinglePage
  • Removed: DeploymentsSinglePage

Zero Trust DLP

Return type changes:
Changes:
  • datasets.create(), update(), get() return types changed
  • PredefinedGetResponse union members renamed to UnionMember0-5

Zero Trust Tunnels

Response type removals:
All Cloudflared-specific response types have been removed.
Changes:
  • Removed all Cloudflared*Response types
  • Removed: CloudflaredListResponsesV4PagePaginationArray

New features in v6

While v6 includes many breaking changes, it also introduces powerful new capabilities across the SDK.

New top-level resources

  • Reports: create, list, get
  • Mitigations: sub-resource for abuse mitigations
  • Instances: create, update, list, delete, read, stats
  • Items: list, get
  • Jobs: create, list, get, logs
  • Tokens: create, update, list, delete, read
  • Directory Services: create, update, list, delete, get
  • Supports IPv4, IPv6, dual-stack, and hostname configurations
  • Organizations: create, update, list, delete, get
  • OrganizationProfile: update, get
  • Hierarchical organization support with parent/child relationships
  • Catalog: list, enable, disable, get
  • Credentials: create
  • MaintenanceConfigs: update, get
  • Namespaces: list
  • Tables: list, maintenance config management
  • Apache Iceberg integration
  • Apps: get, post
  • Meetings: create, get, participant management
  • Livestreams: 10+ methods for streaming
  • Recordings: start, pause, stop, get
  • Sessions: transcripts, summaries, chat
  • Webhooks: full CRUD
  • ActiveSession: polls, kick participants
  • Analytics: organization analytics
  • Configuration: create, list, delete, edit, get
  • Credentials: update
  • Rules: create, list, delete, bulkCreate, bulkEdit, edit, get
  • JWT validation with RS256/384/512, PS256/384/512, ES256, ES384

Enhanced existing resources

Point-in-time recovery capabilities:
Event subscriptions from multiple sources:
Supported event sources: Images, KV, R2, Vectorize, Workers AI, Workers Builds, Workflows
New observability settings:
Model Context Protocol support:

Migration checklist

1

Audit your current usage

Review which Cloudflare services your application uses and check the breaking changes for each.
2

Update dependencies

3

Fix TypeScript errors

Run TypeScript compilation to identify all breaking changes:
4

Update imports

Replace any renamed types in your import statements.
5

Update method calls

  • Add required parameters where needed
  • Update pagination patterns
  • Migrate from deprecated methods (e.g., Pipelines v0 → v1)
6

Test thoroughly

Run your test suite to ensure all functionality works as expected with the new types and behaviors.
7

Review new features

Consider adopting new v6 features that could benefit your application.

Common patterns

Handling discriminated unions

Many response types are now discriminated unions for better type safety:

Updated pagination

Some resources have changed pagination types:

Required vs optional parameters

Many parameters have changed from optional to required. Always check the TypeScript types to see what’s required:

Getting help

If you encounter issues during migration:
  1. Check the full CHANGELOG for detailed change information
  2. Review the TypeScript SDK documentation
  3. Open an issue on GitHub if you find bugs or have questions
Remember that v6.0.0-beta.1 is in Beta. Please report any issues you encounter to help improve the release.