Repository: cloudflare/cloudflare-go
Pull request #3551 (2024-10-31 22:47:03)

fix(api): certificate_pack create flow


Patch:
diff --git a/api.md b/api.md
index baac652ed..d4b60578f 100644
--- a/api.md
+++ b/api.md
@@ -695,6 +695,7 @@ Response Types:
 - <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#RequestValidity">RequestValidity</a>
 - <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#Status">Status</a>
 - <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#ValidationMethod">ValidationMethod</a>
+- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackNewResponse">CertificatePackNewResponse</a>
 - <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackListResponse">CertificatePackListResponse</a>
 - <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackDeleteResponse">CertificatePackDeleteResponse</a>
 - <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackEditResponse">CertificatePackEditResponse</a>
@@ -702,21 +703,12 @@ Response Types:
 
 Methods:
 
+- <code title="post /zones/{zone_id}/ssl/certificate_packs/order">client.SSL.CertificatePacks.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackNewParams">CertificatePackNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackNewResponse">CertificatePackNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
 - <code title="get /zones/{zone_id}/ssl/certificate_packs">client.SSL.CertificatePacks.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackListParams">CertificatePackListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackListResponse">CertificatePackListResponse</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
 - <code title="delete /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}">client.SSL.CertificatePacks.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, certificatePackID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackDeleteParams">CertificatePackDeleteParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackDeleteResponse">CertificatePackDeleteResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
 - <code title="patch /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}">client.SSL.CertificatePacks.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackService.Edit">Edit</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, certificatePackID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackEditParams">CertificatePackEditParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackEditResponse">CertificatePackEditResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
 - <code title="get /zones/{zone_id}/ssl/certificate_packs/{certificate_pack_id}">client.SSL.CertificatePacks.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, certificatePackID <a href="https://pkg.go.dev/builtin#string">string</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackGetParams">CertificatePackGetParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackGetResponse">CertificatePackGetResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
 
-### Order
-
-Response Types:
-
-- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackOrderNewResponse">CertificatePackOrderNewResponse</a>
-
-Methods:
-
-- <code title="post /zones/{zone_id}/ssl/certificate_packs/order">client.SSL.CertificatePacks.Order.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackOrderService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackOrderNewParams">CertificatePackOrderNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl">ssl</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/ssl#CertificatePackOrderNewResponse">CertificatePackOrderNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
-
 ### Quota
 
 Response Types:
diff --git a/internal/pagination/pagination.go b/internal/pagination/pagination.go
deleted file mode 100644
index 230006d1e..000000000
--- a/internal/pagination/pagination.go
+++ /dev/null
@@ -1,624 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package pagination
-
-import (
-	"context"
-	"fmt"
-	"net/http"
-	"strconv"
-
-	"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
-	"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-)
-
-type V4PagePaginationResult[T any] struct {
-	Items []T                        `json:"items"`
-	JSON  v4PagePaginationResultJSON `json:"-"`
-}
-
-// v4PagePaginationResultJSON contains the JSON metadata for the struct
-// [V4PagePaginationResult[T]]
-type v4PagePaginationResultJSON struct {
-	Items       apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *V4PagePaginationResult[T]) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r v4PagePaginationResultJSON) RawJSON() string {
-	return r.raw
-}
-
-type V4PagePaginationResultInfo struct {
-	Page    int64                          `json:"page"`
-	PerPage int64                          `json:"per_page"`
-	JSON    v4PagePaginationResultInfoJSON `json:"-"`
-}
-
-// v4PagePaginationResultInfoJSON contains the JSON metadata for the struct
-// [V4PagePaginationResultInfo]
-type v4PagePaginationResultInfoJSON struct {
-	Page        apijson.Field
-	PerPage     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *V4PagePaginationResultInfo) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r v4PagePaginationResultInfoJSON) RawJSON() string {
-	return r.raw
-}
-
-type V4PagePagination[T any] struct {
-	Result     V4PagePaginationResult[T]  `json:"result"`
-	ResultInfo V4PagePaginationResultInfo `json:"result_info"`
-	JSON       v4PagePaginationJSON       `json:"-"`
-	cfg        *requestconfig.RequestConfig
-	res        *http.Response
-}
-
-// v4PagePaginationJSON contains the JSON metadata for the struct
-// [V4PagePagination[T]]
-type v4PagePaginationJSON struct {
-	Result      apijson.Field
-	ResultInfo  apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *V4PagePagination[T]) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r v4PagePaginationJSON) RawJSON() string {
-	return r.raw
-}
-
-// GetNextPage returns the next page as defined by this pagination style. When
-// there is no next page, this function will return a 'nil' for the page value, but
-// will not return an error
-func (r *V4PagePagination[T]) GetNextPage() (res *V4PagePagination[T], err error) {
-	u := r.cfg.Request.URL
-	currentPage, err := strconv.Atoi(u.Query().Get("page"))
-	if err != nil {
-		currentPage = 1
-	}
-	cfg := r.cfg.Clone(context.Background())
-	query := cfg.Request.URL.Query()
-	query.Set("page", fmt.Sprintf("%d", currentPage+1))
-	cfg.Request.URL.RawQuery = query.Encode()
-	var raw *http.Response
-	cfg.ResponseInto = &raw
-	cfg.ResponseBodyInto = &res
-	err = cfg.Execute()
-	if err != nil {
-		return nil, err
-	}
-	res.SetPageConfig(cfg, raw)
-	return res, nil
-}
-
-func (r *V4PagePagination[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
-	if r == nil {
-		r = &V4PagePagination[T]{}
-	}
-	r.cfg = cfg
-	r.res = res
-}
-
-type V4PagePaginationAutoPager[T any] struct {
-	page *V4PagePagination[T]
-	cur  T
-	idx  int
-	run  int
-	err  error
-}
-
-func NewV4PagePaginationAutoPager[T any](page *V4PagePagination[T], err error) *V4PagePaginationAutoPager[T] {
-	return &V4PagePaginationAutoPager[T]{
-		page: page,
-		err:  err,
-	}
-}
-
-func (r *V4PagePaginationAutoPager[T]) Next() bool {
-	if r.page == nil || len(r.page.Result.Items) == 0 {
-		return false
-	}
-	if r.idx >= len(r.page.Result.Items) {
-		r.idx = 0
-		r.page, r.err = r.page.GetNextPage()
-		if r.err != nil || r.page == nil || len(r.page.Result.Items) == 0 {
-			return false
-		}
-	}
-	r.cur = r.page.Result.Items[r.idx]
-	r.run += 1
-	r.idx += 1
-	return true
-}
-
-func (r *V4PagePaginationAutoPager[T]) Current() T {
-	return r.cur
-}
-
-func (r *V4PagePaginationAutoPager[T]) Err() error {
-	return r.err
-}
-
-func (r *V4PagePaginationAutoPager[T]) Index() int {
-	return r.run
-}
-
-type V4PagePaginationArrayResultInfo struct {
-	Page    int64                               `json:"page"`
-	PerPage int64                               `json:"per_page"`
-	JSON    v4PagePaginationArrayResultInfoJSON `json:"-"`
-}
-
-// v4PagePaginationArrayResultInfoJSON contains the JSON metadata for the struct
-// [V4PagePaginationArrayResultInfo]
-type v4PagePaginationArrayResultInfoJSON struct {
-	Page        apijson.Field
-	PerPage     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *V4PagePaginationArrayResultInfo) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r v4PagePaginationArrayResultInfoJSON) RawJSON() string {
-	return r.raw
-}
-
-type V4PagePaginationArray[T any] struct {
-	Result     []T                             `json:"result"`
-	ResultInfo V4PagePaginationArrayResultInfo `json:"result_info"`
-	JSON       v4PagePaginationArrayJSON       `json:"-"`
-	cfg        *requestconfig.RequestConfig
-	res        *http.Response
-}
-
-// v4PagePaginationArrayJSON contains the JSON metadata for the struct
-// [V4PagePaginationArray[T]]
-type v4PagePaginationArrayJSON struct {
-	Result      apijson.Field
-	ResultInfo  apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *V4PagePaginationArray[T]) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r v4PagePaginationArrayJSON) RawJSON() string {
-	return r.raw
-}
-
-// GetNextPage returns the next page as defined by this pagination style. When
-// there is no next page, this function will return a 'nil' for the page value, but
-// will not return an error
-func (r *V4PagePaginationArray[T]) GetNextPage() (res *V4PagePaginationArray[T], err error) {
-	u := r.cfg.Request.URL
-	currentPage, err := strconv.Atoi(u.Query().Get("page"))
-	if err != nil {
-		currentPage = 1
-	}
-	cfg := r.cfg.Clone(context.Background())
-	query := cfg.Request.URL.Query()
-	query.Set("page", fmt.Sprintf("%d", currentPage+1))
-	cfg.Request.URL.RawQuery = query.Encode()
-	var raw *http.Response
-	cfg.ResponseInto = &raw
-	cfg.ResponseBodyInto = &res
-	err = cfg.Execute()
-	if err != nil {
-		return nil, err
-	}
-	res.SetPageConfig(cfg, raw)
-	return res, nil
-}
-
-func (r *V4PagePaginationArray[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
-	if r == nil {
-		r = &V4PagePaginationArray[T]{}
-	}
-	r.cfg = cfg
-	r.res = res
-}
-
-type V4PagePaginationArrayAutoPager[T any] struct {
-	page *V4PagePaginationArray[T]
-	cur  T
-	idx  int
-	run  int
-	err  error
-}
-
-func NewV4PagePaginationArrayAutoPager[T any](page *V4PagePaginationArray[T], err error) *V4PagePaginationArrayAutoPager[T] {
-	return &V4PagePaginationArrayAutoPager[T]{
-		page: page,
-		err:  err,
-	}
-}
-
-func (r *V4PagePaginationArrayAutoPager[T]) Next() bool {
-	if r.page == nil || len(r.page.Result) == 0 {
-		return false
-	}
-	if r.idx >= len(r.page.Result) {
-		r.idx = 0
-		r.page, r.err = r.page.GetNextPage()
-		if r.err != nil || r.page == nil || len(r.page.Result) == 0 {
-			return false
-		}
-	}
-	r.cur = r.page.Result[r.idx]
-	r.run += 1
-	r.idx += 1
-	return true
-}
-
-func (r *V4PagePaginationArrayAutoPager[T]) Current() T {
-	return r.cur
-}
-
-func (r *V4PagePaginationArrayAutoPager[T]) Err() error {
-	return r.err
-}
-
-func (r *V4PagePaginationArrayAutoPager[T]) Index() int {
-	return r.run
-}
-
-type CursorPaginationResultInfo struct {
-	Count   int64                          `json:"count"`
-	Cursor  string                         `json:"cursor"`
-	PerPage int64                          `json:"per_page"`
-	JSON    cursorPaginationResultInfoJSON `json:"-"`
-}
-
-// cursorPaginationResultInfoJSON contains the JSON metadata for the struct
-// [CursorPaginationResultInfo]
-type cursorPaginationResultInfoJSON struct {
-	Count       apijson.Field
-	Cursor      apijson.Field
-	PerPage     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *CursorPaginationResultInfo) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r cursorPaginationResultInfoJSON) RawJSON() string {
-	return r.raw
-}
-
-type CursorPagination[T any] struct {
-	Result     []T                        `json:"result"`
-	ResultInfo CursorPaginationResultInfo `json:"result_info"`
-	JSON       cursorPaginationJSON       `json:"-"`
-	cfg        *requestconfig.RequestConfig
-	res        *http.Response
-}
-
-// cursorPaginationJSON contains the JSON metadata for the struct
-// [CursorPagination[T]]
-type cursorPaginationJSON struct {
-	Result      apijson.Field
-	ResultInfo  apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *CursorPagination[T]) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r cursorPaginationJSON) RawJSON() string {
-	return r.raw
-}
-
-// GetNextPage returns the next page as defined by this pagination style. When
-// there is no next page, this function will return a 'nil' for the page value, but
-// will not return an error
-func (r *CursorPagination[T]) GetNextPage() (res *CursorPagination[T], err error) {
-	next := r.ResultInfo.Cursor
-	if len(next) == 0 {
-		return nil, nil
-	}
-	cfg := r.cfg.Clone(r.cfg.Context)
-	cfg.Apply(option.WithQuery("cursor", next))
-	var raw *http.Response
-	cfg.ResponseInto = &raw
-	cfg.ResponseBodyInto = &res
-	err = cfg.Execute()
-	if err != nil {
-		return nil, err
-	}
-	res.SetPageConfig(cfg, raw)
-	return res, nil
-}
-
-func (r *CursorPagination[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
-	if r == nil {
-		r = &CursorPagination[T]{}
-	}
-	r.cfg = cfg
-	r.res = res
-}
-
-type CursorPaginationAutoPager[T any] struct {
-	page *CursorPagination[T]
-	cur  T
-	idx  int
-	run  int
-	err  error
-}
-
-func NewCursorPaginationAutoPager[T any](page *CursorPagination[T], err error) *CursorPaginationAutoPager[T] {
-	return &CursorPaginationAutoPager[T]{
-		page: page,
-		err:  err,
-	}
-}
-
-func (r *CursorPaginationAutoPager[T]) Next() bool {
-	if r.page == nil || len(r.page.Result) == 0 {
-		return false
-	}
-	if r.idx >= len(r.page.Result) {
-		r.idx = 0
-		r.page, r.err = r.page.GetNextPage()
-		if r.err != nil || r.page == nil || len(r.page.Result) == 0 {
-			return false
-		}
-	}
-	r.cur = r.page.Result[r.idx]
-	r.run += 1
-	r.idx += 1
-	return true
-}
-
-func (r *CursorPaginationAutoPager[T]) Current() T {
-	return r.cur
-}
-
-func (r *CursorPaginationAutoPager[T]) Err() error {
-	return r.err
-}
-
-func (r *CursorPaginationAutoPager[T]) Index() int {
-	return r.run
-}
-
-type CursorLimitPaginationResultInfo struct {
-	Count   int64                               `json:"count"`
-	Cursor  string                              `json:"cursor"`
-	PerPage int64                               `json:"per_page"`
-	JSON    cursorLimitPaginationResultInfoJSON `json:"-"`
-}
-
-// cursorLimitPaginationResultInfoJSON contains the JSON metadata for the struct
-// [CursorLimitPaginationResultInfo]
-type cursorLimitPaginationResultInfoJSON struct {
-	Count       apijson.Field
-	Cursor      apijson.Field
-	PerPage     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *CursorLimitPaginationResultInfo) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r cursorLimitPaginationResultInfoJSON) RawJSON() string {
-	return r.raw
-}
-
-type CursorLimitPagination[T any] struct {
-	Result     []T                             `json:"result"`
-	ResultInfo CursorLimitPaginationResultInfo `json:"result_info"`
-	JSON       cursorLimitPaginationJSON       `json:"-"`
-	cfg        *requestconfig.RequestConfig
-	res        *http.Response
-}
-
-// cursorLimitPaginationJSON contains the JSON metadata for the struct
-// [CursorLimitPagination[T]]
-type cursorLimitPaginationJSON struct {
-	Result      apijson.Field
-	ResultInfo  apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *CursorLimitPagination[T]) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r cursorLimitPaginationJSON) RawJSON() string {
-	return r.raw
-}
-
-// GetNextPage returns the next page as defined by this pagination style. When
-// there is no next page, this function will return a 'nil' for the page value, but
-// will not return an error
-func (r *CursorLimitPagination[T]) GetNextPage() (res *CursorLimitPagination[T], err error) {
-	next := r.ResultInfo.Cursor
-	if len(next) == 0 {
-		return nil, nil
-	}
-	cfg := r.cfg.Clone(r.cfg.Context)
-	cfg.Apply(option.WithQuery("cursor", next))
-	var raw *http.Response
-	cfg.ResponseInto = &raw
-	cfg.ResponseBodyInto = &res
-	err = cfg.Execute()
-	if err != nil {
-		return nil, err
-	}
-	res.SetPageConfig(cfg, raw)
-	return res, nil
-}
-
-func (r *CursorLimitPagination[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
-	if r == nil {
-		r = &CursorLimitPagination[T]{}
-	}
-	r.cfg = cfg
-	r.res = res
-}
-
-type CursorLimitPaginationAutoPager[T any] struct {
-	page *CursorLimitPagination[T]
-	cur  T
-	idx  int
-	run  int
-	err  error
-}
-
-func NewCursorLimitPaginationAutoPager[T any](page *CursorLimitPagination[T], err error) *CursorLimitPaginationAutoPager[T] {
-	return &CursorLimitPaginationAutoPager[T]{
-		page: page,
-		err:  err,
-	}
-}
-
-func (r *CursorLimitPaginationAutoPager[T]) Next() bool {
-	if r.page == nil || len(r.page.Result) == 0 {
-		return false
-	}
-	if r.idx >= len(r.page.Result) {
-		r.idx = 0
-		r.page, r.err = r.page.GetNextPage()
-		if r.err != nil || r.page == nil || len(r.page.Result) == 0 {
-			return false
-		}
-	}
-	r.cur = r.page.Result[r.idx]
-	r.run += 1
-	r.idx += 1
-	return true
-}
-
-func (r *CursorLimitPaginationAutoPager[T]) Current() T {
-	return r.cur
-}
-
-func (r *CursorLimitPaginationAutoPager[T]) Err() error {
-	return r.err
-}
-
-func (r *CursorLimitPaginationAutoPager[T]) Index() int {
-	return r.run
-}
-
-type SinglePage[T any] struct {
-	Result []T            `json:"result"`
-	JSON   singlePageJSON `json:"-"`
-	cfg    *requestconfig.RequestConfig
-	res    *http.Response
-}
-
-// singlePageJSON contains the JSON metadata for the struct [SinglePage[T]]
-type singlePageJSON struct {
-	Result      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *SinglePage[T]) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r singlePageJSON) RawJSON() string {
-	return r.raw
-}
-
-// GetNextPage returns the next page as defined by this pagination style. When
-// there is no next page, this function will return a 'nil' for the page value, but
-// will not return an error
-func (r *SinglePage[T]) GetNextPage() (res *SinglePage[T], err error) {
-	// This page represents a response that isn't actually paginated at the API level
-	// so there will never be a next page.
-	cfg := (*requestconfig.RequestConfig)(nil)
-	if cfg == nil {
-		return nil, nil
-	}
-	var raw *http.Response
-	cfg.ResponseInto = &raw
-	cfg.ResponseBodyInto = &res
-	err = cfg.Execute()
-	if err != nil {
-		return nil, err
-	}
-	res.SetPageConfig(cfg, raw)
-	return res, nil
-}
-
-func (r *SinglePage[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
-	if r == nil {
-		r = &SinglePage[T]{}
-	}
-	r.cfg = cfg
-	r.res = res
-}
-
-type SinglePageAutoPager[T any] struct {
-	page *SinglePage[T]
-	cur  T
-	idx  int
-	run  int
-	err  error
-}
-
-func NewSinglePageAutoPager[T any](page *SinglePage[T], err error) *SinglePageAutoPager[T] {
-	return &SinglePageAutoPager[T]{
-		page: page,
-		err:  err,
-	}
-}
-
-func (r *SinglePageAutoPager[T]) Next() bool {
-	if r.page == nil || len(r.page.Result) == 0 {
-		return false
-	}
-	if r.idx >= len(r.page.Result) {
-		r.idx = 0
-		r.page, r.err = r.page.GetNextPage()
-		if r.err != nil || r.page == nil || len(r.page.Result) == 0 {
-			return false
-		}
-	}
-	r.cur = r.page.Result[r.idx]
-	r.run += 1
-	r.idx += 1
-	return true
-}
-
-func (r *SinglePageAutoPager[T]) Current() T {
-	return r.cur
-}
-
-func (r *SinglePageAutoPager[T]) Err() error {
-	return r.err
-}
-
-func (r *SinglePageAutoPager[T]) Index() int {
-	return r.run
-}
diff --git a/r2/domain.go b/r2/domain.go
deleted file mode 100644
index e95157847..000000000
--- a/r2/domain.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2
-
-import (
-	"github.com/cloudflare/cloudflare-go/v3/option"
-)
-
-// DomainService contains methods and other services that help with interacting
-// with the cloudflare API.
-//
-// Note, unlike clients, this service does not read variables from the environment
-// automatically. You should not instantiate this service directly, and instead use
-// the [NewDomainService] method instead.
-type DomainService struct {
-	Options []option.RequestOption
-	Custom  *DomainCustomService
-	Managed *DomainManagedService
-}
-
-// NewDomainService generates a new service that applies the given options to each
-// request. These options are applied after the parent client's options (if there
-// is one), and before any request-specific options.
-func NewDomainService(opts ...option.RequestOption) (r *DomainService) {
-	r = &DomainService{}
-	r.Options = opts
-	r.Custom = NewDomainCustomService(opts...)
-	r.Managed = NewDomainManagedService(opts...)
-	return
-}
diff --git a/r2/domaincustom.go b/r2/domaincustom.go
deleted file mode 100644
index 1cfa75c4a..000000000
--- a/r2/domaincustom.go
+++ /dev/null
@@ -1,929 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2
-
-import (
-	"context"
-	"errors"
-	"fmt"
-	"net/http"
-
-	"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
-	"github.com/cloudflare/cloudflare-go/v3/internal/param"
-	"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/shared"
-)
-
-// DomainCustomService contains methods and other services that help with
-// interacting with the cloudflare API.
-//
-// Note, unlike clients, this service does not read variables from the environment
-// automatically. You should not instantiate this service directly, and instead use
-// the [NewDomainCustomService] method instead.
-type DomainCustomService struct {
-	Options []option.RequestOption
-}
-
-// NewDomainCustomService generates a new service that applies the given options to
-// each request. These options are applied after the parent client's options (if
-// there is one), and before any request-specific options.
-func NewDomainCustomService(opts ...option.RequestOption) (r *DomainCustomService) {
-	r = &DomainCustomService{}
-	r.Options = opts
-	return
-}
-
-// Register a new custom domain for an existing R2 bucket.
-func (r *DomainCustomService) New(ctx context.Context, bucketName string, params DomainCustomNewParams, opts ...option.RequestOption) (res *DomainCustomNewResponse, err error) {
-	var env DomainCustomNewResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/domains/custom", params.AccountID, bucketName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-// Edit the configuration for a custom domain on an existing R2 bucket.
-func (r *DomainCustomService) Update(ctx context.Context, bucketName string, domainName string, params DomainCustomUpdateParams, opts ...option.RequestOption) (res *DomainCustomUpdateResponse, err error) {
-	var env DomainCustomUpdateResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	if domainName == "" {
-		err = errors.New("missing required domain_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/domains/custom/%s", params.AccountID, bucketName, domainName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodPut, path, params, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-// Gets a list of all custom domains registered with an existing R2 bucket.
-func (r *DomainCustomService) List(ctx context.Context, bucketName string, params DomainCustomListParams, opts ...option.RequestOption) (res *DomainCustomListResponse, err error) {
-	var env DomainCustomListResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/domains/custom", params.AccountID, bucketName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, nil, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-// Remove custom domain registration from an existing R2 bucket
-func (r *DomainCustomService) Delete(ctx context.Context, bucketName string, domainName string, params DomainCustomDeleteParams, opts ...option.RequestOption) (res *DomainCustomDeleteResponse, err error) {
-	var env DomainCustomDeleteResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	if domainName == "" {
-		err = errors.New("missing required domain_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/domains/custom/%s", params.AccountID, bucketName, domainName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodDelete, path, nil, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-// Get the configuration for a custom domain on an existing R2 bucket.
-func (r *DomainCustomService) Get(ctx context.Context, bucketName string, domainName string, params DomainCustomGetParams, opts ...option.RequestOption) (res *DomainCustomGetResponse, err error) {
-	var env DomainCustomGetResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	if domainName == "" {
-		err = errors.New("missing required domain_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/domains/custom/%s", params.AccountID, bucketName, domainName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, nil, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-type DomainCustomNewResponse struct {
-	// Domain name of the affected custom domain
-	Domain string `json:"domain,required"`
-	// Whether this bucket is publicly accessible at the specified custom domain
-	Enabled bool `json:"enabled,required"`
-	// Minimum TLS Version the custom domain will accept for incoming connections. If
-	// not set, defaults to 1.0.
-	MinTLS DomainCustomNewResponseMinTLS `json:"minTLS"`
-	JSON   domainCustomNewResponseJSON   `json:"-"`
-}
-
-// domainCustomNewResponseJSON contains the JSON metadata for the struct
-// [DomainCustomNewResponse]
-type domainCustomNewResponseJSON struct {
-	Domain      apijson.Field
-	Enabled     apijson.Field
-	MinTLS      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomNewResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomNewResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-// Minimum TLS Version the custom domain will accept for incoming connections. If
-// not set, defaults to 1.0.
-type DomainCustomNewResponseMinTLS string
-
-const (
-	DomainCustomNewResponseMinTLS1_0 DomainCustomNewResponseMinTLS = "1.0"
-	DomainCustomNewResponseMinTLS1_1 DomainCustomNewResponseMinTLS = "1.1"
-	DomainCustomNewResponseMinTLS1_2 DomainCustomNewResponseMinTLS = "1.2"
-	DomainCustomNewResponseMinTLS1_3 DomainCustomNewResponseMinTLS = "1.3"
-)
-
-func (r DomainCustomNewResponseMinTLS) IsKnown() bool {
-	switch r {
-	case DomainCustomNewResponseMinTLS1_0, DomainCustomNewResponseMinTLS1_1, DomainCustomNewResponseMinTLS1_2, DomainCustomNewResponseMinTLS1_3:
-		return true
-	}
-	return false
-}
-
-type DomainCustomUpdateResponse struct {
-	// Domain name of the affected custom domain
-	Domain string `json:"domain,required"`
-	// Whether this bucket is publicly accessible at the specified custom domain
-	Enabled bool `json:"enabled"`
-	// Minimum TLS Version the custom domain will accept for incoming connections. If
-	// not set, defaults to 1.0.
-	MinTLS DomainCustomUpdateResponseMinTLS `json:"minTLS"`
-	JSON   domainCustomUpdateResponseJSON   `json:"-"`
-}
-
-// domainCustomUpdateResponseJSON contains the JSON metadata for the struct
-// [DomainCustomUpdateResponse]
-type domainCustomUpdateResponseJSON struct {
-	Domain      apijson.Field
-	Enabled     apijson.Field
-	MinTLS      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomUpdateResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomUpdateResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-// Minimum TLS Version the custom domain will accept for incoming connections. If
-// not set, defaults to 1.0.
-type DomainCustomUpdateResponseMinTLS string
-
-const (
-	DomainCustomUpdateResponseMinTLS1_0 DomainCustomUpdateResponseMinTLS = "1.0"
-	DomainCustomUpdateResponseMinTLS1_1 DomainCustomUpdateResponseMinTLS = "1.1"
-	DomainCustomUpdateResponseMinTLS1_2 DomainCustomUpdateResponseMinTLS = "1.2"
-	DomainCustomUpdateResponseMinTLS1_3 DomainCustomUpdateResponseMinTLS = "1.3"
-)
-
-func (r DomainCustomUpdateResponseMinTLS) IsKnown() bool {
-	switch r {
-	case DomainCustomUpdateResponseMinTLS1_0, DomainCustomUpdateResponseMinTLS1_1, DomainCustomUpdateResponseMinTLS1_2, DomainCustomUpdateResponseMinTLS1_3:
-		return true
-	}
-	return false
-}
-
-type DomainCustomListResponse struct {
-	Domains []DomainCustomListResponseDomain `json:"domains,required"`
-	JSON    domainCustomListResponseJSON     `json:"-"`
-}
-
-// domainCustomListResponseJSON contains the JSON metadata for the struct
-// [DomainCustomListResponse]
-type domainCustomListResponseJSON struct {
-	Domains     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomListResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomListResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-type DomainCustomListResponseDomain struct {
-	// Domain name of the custom domain to be added
-	Domain string `json:"domain,required"`
-	// Whether this bucket is publicly accessible at the specified custom domain
-	Enabled bool                                  `json:"enabled,required"`
-	Status  DomainCustomListResponseDomainsStatus `json:"status,required"`
-	// Minimum TLS Version the custom domain will accept for incoming connections. If
-	// not set, defaults to 1.0.
-	MinTLS DomainCustomListResponseDomainsMinTLS `json:"minTLS"`
-	// Zone ID of the custom domain resides in
-	ZoneID string `json:"zoneId"`
-	// Zone that the custom domain resides in
-	ZoneName string                             `json:"zoneName"`
-	JSON     domainCustomListResponseDomainJSON `json:"-"`
-}
-
-// domainCustomListResponseDomainJSON contains the JSON metadata for the struct
-// [DomainCustomListResponseDomain]
-type domainCustomListResponseDomainJSON struct {
-	Domain      apijson.Field
-	Enabled     apijson.Field
-	Status      apijson.Field
-	MinTLS      apijson.Field
-	ZoneID      apijson.Field
-	ZoneName    apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomListResponseDomain) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomListResponseDomainJSON) RawJSON() string {
-	return r.raw
-}
-
-type DomainCustomListResponseDomainsStatus struct {
-	// Ownership status of the domain
-	Ownership DomainCustomListResponseDomainsStatusOwnership `json:"ownership,required"`
-	// SSL certificate status
-	SSL  DomainCustomListResponseDomainsStatusSSL  `json:"ssl,required"`
-	JSON domainCustomListResponseDomainsStatusJSON `json:"-"`
-}
-
-// domainCustomListResponseDomainsStatusJSON contains the JSON metadata for the
-// struct [DomainCustomListResponseDomainsStatus]
-type domainCustomListResponseDomainsStatusJSON struct {
-	Ownership   apijson.Field
-	SSL         apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomListResponseDomainsStatus) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomListResponseDomainsStatusJSON) RawJSON() string {
-	return r.raw
-}
-
-// Ownership status of the domain
-type DomainCustomListResponseDomainsStatusOwnership string
-
-const (
-	DomainCustomListResponseDomainsStatusOwnershipPending     DomainCustomListResponseDomainsStatusOwnership = "pending"
-	DomainCustomListResponseDomainsStatusOwnershipActive      DomainCustomListResponseDomainsStatusOwnership = "active"
-	DomainCustomListResponseDomainsStatusOwnershipDeactivated DomainCustomListResponseDomainsStatusOwnership = "deactivated"
-	DomainCustomListResponseDomainsStatusOwnershipBlocked     DomainCustomListResponseDomainsStatusOwnership = "blocked"
-	DomainCustomListResponseDomainsStatusOwnershipError       DomainCustomListResponseDomainsStatusOwnership = "error"
-	DomainCustomListResponseDomainsStatusOwnershipUnknown     DomainCustomListResponseDomainsStatusOwnership = "unknown"
-)
-
-func (r DomainCustomListResponseDomainsStatusOwnership) IsKnown() bool {
-	switch r {
-	case DomainCustomListResponseDomainsStatusOwnershipPending, DomainCustomListResponseDomainsStatusOwnershipActive, DomainCustomListResponseDomainsStatusOwnershipDeactivated, DomainCustomListResponseDomainsStatusOwnershipBlocked, DomainCustomListResponseDomainsStatusOwnershipError, DomainCustomListResponseDomainsStatusOwnershipUnknown:
-		return true
-	}
-	return false
-}
-
-// SSL certificate status
-type DomainCustomListResponseDomainsStatusSSL string
-
-const (
-	DomainCustomListResponseDomainsStatusSSLInitializing DomainCustomListResponseDomainsStatusSSL = "initializing"
-	DomainCustomListResponseDomainsStatusSSLPending      DomainCustomListResponseDomainsStatusSSL = "pending"
-	DomainCustomListResponseDomainsStatusSSLActive       DomainCustomListResponseDomainsStatusSSL = "active"
-	DomainCustomListResponseDomainsStatusSSLDeactivated  DomainCustomListResponseDomainsStatusSSL = "deactivated"
-	DomainCustomListResponseDomainsStatusSSLError        DomainCustomListResponseDomainsStatusSSL = "error"
-	DomainCustomListResponseDomainsStatusSSLUnknown      DomainCustomListResponseDomainsStatusSSL = "unknown"
-)
-
-func (r DomainCustomListResponseDomainsStatusSSL) IsKnown() bool {
-	switch r {
-	case DomainCustomListResponseDomainsStatusSSLInitializing, DomainCustomListResponseDomainsStatusSSLPending, DomainCustomListResponseDomainsStatusSSLActive, DomainCustomListResponseDomainsStatusSSLDeactivated, DomainCustomListResponseDomainsStatusSSLError, DomainCustomListResponseDomainsStatusSSLUnknown:
-		return true
-	}
-	return false
-}
-
-// Minimum TLS Version the custom domain will accept for incoming connections. If
-// not set, defaults to 1.0.
-type DomainCustomListResponseDomainsMinTLS string
-
-const (
-	DomainCustomListResponseDomainsMinTLS1_0 DomainCustomListResponseDomainsMinTLS = "1.0"
-	DomainCustomListResponseDomainsMinTLS1_1 DomainCustomListResponseDomainsMinTLS = "1.1"
-	DomainCustomListResponseDomainsMinTLS1_2 DomainCustomListResponseDomainsMinTLS = "1.2"
-	DomainCustomListResponseDomainsMinTLS1_3 DomainCustomListResponseDomainsMinTLS = "1.3"
-)
-
-func (r DomainCustomListResponseDomainsMinTLS) IsKnown() bool {
-	switch r {
-	case DomainCustomListResponseDomainsMinTLS1_0, DomainCustomListResponseDomainsMinTLS1_1, DomainCustomListResponseDomainsMinTLS1_2, DomainCustomListResponseDomainsMinTLS1_3:
-		return true
-	}
-	return false
-}
-
-type DomainCustomDeleteResponse struct {
-	// Name of the removed custom domain
-	Domain string                         `json:"domain,required"`
-	JSON   domainCustomDeleteResponseJSON `json:"-"`
-}
-
-// domainCustomDeleteResponseJSON contains the JSON metadata for the struct
-// [DomainCustomDeleteResponse]
-type domainCustomDeleteResponseJSON struct {
-	Domain      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomDeleteResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomDeleteResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-type DomainCustomGetResponse struct {
-	// Domain name of the custom domain to be added
-	Domain string `json:"domain,required"`
-	// Whether this bucket is publicly accessible at the specified custom domain
-	Enabled bool                          `json:"enabled,required"`
-	Status  DomainCustomGetResponseStatus `json:"status,required"`
-	// Minimum TLS Version the custom domain will accept for incoming connections. If
-	// not set, defaults to 1.0.
-	MinTLS DomainCustomGetResponseMinTLS `json:"minTLS"`
-	// Zone ID of the custom domain resides in
-	ZoneID string `json:"zoneId"`
-	// Zone that the custom domain resides in
-	ZoneName string                      `json:"zoneName"`
-	JSON     domainCustomGetResponseJSON `json:"-"`
-}
-
-// domainCustomGetResponseJSON contains the JSON metadata for the struct
-// [DomainCustomGetResponse]
-type domainCustomGetResponseJSON struct {
-	Domain      apijson.Field
-	Enabled     apijson.Field
-	Status      apijson.Field
-	MinTLS      apijson.Field
-	ZoneID      apijson.Field
-	ZoneName    apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomGetResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomGetResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-type DomainCustomGetResponseStatus struct {
-	// Ownership status of the domain
-	Ownership DomainCustomGetResponseStatusOwnership `json:"ownership,required"`
-	// SSL certificate status
-	SSL  DomainCustomGetResponseStatusSSL  `json:"ssl,required"`
-	JSON domainCustomGetResponseStatusJSON `json:"-"`
-}
-
-// domainCustomGetResponseStatusJSON contains the JSON metadata for the struct
-// [DomainCustomGetResponseStatus]
-type domainCustomGetResponseStatusJSON struct {
-	Ownership   apijson.Field
-	SSL         apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomGetResponseStatus) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomGetResponseStatusJSON) RawJSON() string {
-	return r.raw
-}
-
-// Ownership status of the domain
-type DomainCustomGetResponseStatusOwnership string
-
-const (
-	DomainCustomGetResponseStatusOwnershipPending     DomainCustomGetResponseStatusOwnership = "pending"
-	DomainCustomGetResponseStatusOwnershipActive      DomainCustomGetResponseStatusOwnership = "active"
-	DomainCustomGetResponseStatusOwnershipDeactivated DomainCustomGetResponseStatusOwnership = "deactivated"
-	DomainCustomGetResponseStatusOwnershipBlocked     DomainCustomGetResponseStatusOwnership = "blocked"
-	DomainCustomGetResponseStatusOwnershipError       DomainCustomGetResponseStatusOwnership = "error"
-	DomainCustomGetResponseStatusOwnershipUnknown     DomainCustomGetResponseStatusOwnership = "unknown"
-)
-
-func (r DomainCustomGetResponseStatusOwnership) IsKnown() bool {
-	switch r {
-	case DomainCustomGetResponseStatusOwnershipPending, DomainCustomGetResponseStatusOwnershipActive, DomainCustomGetResponseStatusOwnershipDeactivated, DomainCustomGetResponseStatusOwnershipBlocked, DomainCustomGetResponseStatusOwnershipError, DomainCustomGetResponseStatusOwnershipUnknown:
-		return true
-	}
-	return false
-}
-
-// SSL certificate status
-type DomainCustomGetResponseStatusSSL string
-
-const (
-	DomainCustomGetResponseStatusSSLInitializing DomainCustomGetResponseStatusSSL = "initializing"
-	DomainCustomGetResponseStatusSSLPending      DomainCustomGetResponseStatusSSL = "pending"
-	DomainCustomGetResponseStatusSSLActive       DomainCustomGetResponseStatusSSL = "active"
-	DomainCustomGetResponseStatusSSLDeactivated  DomainCustomGetResponseStatusSSL = "deactivated"
-	DomainCustomGetResponseStatusSSLError        DomainCustomGetResponseStatusSSL = "error"
-	DomainCustomGetResponseStatusSSLUnknown      DomainCustomGetResponseStatusSSL = "unknown"
-)
-
-func (r DomainCustomGetResponseStatusSSL) IsKnown() bool {
-	switch r {
-	case DomainCustomGetResponseStatusSSLInitializing, DomainCustomGetResponseStatusSSLPending, DomainCustomGetResponseStatusSSLActive, DomainCustomGetResponseStatusSSLDeactivated, DomainCustomGetResponseStatusSSLError, DomainCustomGetResponseStatusSSLUnknown:
-		return true
-	}
-	return false
-}
-
-// Minimum TLS Version the custom domain will accept for incoming connections. If
-// not set, defaults to 1.0.
-type DomainCustomGetResponseMinTLS string
-
-const (
-	DomainCustomGetResponseMinTLS1_0 DomainCustomGetResponseMinTLS = "1.0"
-	DomainCustomGetResponseMinTLS1_1 DomainCustomGetResponseMinTLS = "1.1"
-	DomainCustomGetResponseMinTLS1_2 DomainCustomGetResponseMinTLS = "1.2"
-	DomainCustomGetResponseMinTLS1_3 DomainCustomGetResponseMinTLS = "1.3"
-)
-
-func (r DomainCustomGetResponseMinTLS) IsKnown() bool {
-	switch r {
-	case DomainCustomGetResponseMinTLS1_0, DomainCustomGetResponseMinTLS1_1, DomainCustomGetResponseMinTLS1_2, DomainCustomGetResponseMinTLS1_3:
-		return true
-	}
-	return false
-}
-
-type DomainCustomNewParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// Name of the custom domain to be added
-	Domain param.Field[string] `json:"domain,required"`
-	// Zone ID of the custom domain
-	ZoneID param.Field[string] `json:"zoneId,required"`
-	// Whether to enable public bucket access at the custom domain. If undefined, the
-	// domain will be enabled.
-	Enabled param.Field[bool] `json:"enabled"`
-	// Minimum TLS Version the custom domain will accept for incoming connections. If
-	// not set, defaults to 1.0.
-	MinTLS param.Field[DomainCustomNewParamsMinTLS] `json:"minTLS"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[DomainCustomNewParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-func (r DomainCustomNewParams) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-// Minimum TLS Version the custom domain will accept for incoming connections. If
-// not set, defaults to 1.0.
-type DomainCustomNewParamsMinTLS string
-
-const (
-	DomainCustomNewParamsMinTLS1_0 DomainCustomNewParamsMinTLS = "1.0"
-	DomainCustomNewParamsMinTLS1_1 DomainCustomNewParamsMinTLS = "1.1"
-	DomainCustomNewParamsMinTLS1_2 DomainCustomNewParamsMinTLS = "1.2"
-	DomainCustomNewParamsMinTLS1_3 DomainCustomNewParamsMinTLS = "1.3"
-)
-
-func (r DomainCustomNewParamsMinTLS) IsKnown() bool {
-	switch r {
-	case DomainCustomNewParamsMinTLS1_0, DomainCustomNewParamsMinTLS1_1, DomainCustomNewParamsMinTLS1_2, DomainCustomNewParamsMinTLS1_3:
-		return true
-	}
-	return false
-}
-
-// The bucket jurisdiction
-type DomainCustomNewParamsCfR2Jurisdiction string
-
-const (
-	DomainCustomNewParamsCfR2JurisdictionDefault DomainCustomNewParamsCfR2Jurisdiction = "default"
-	DomainCustomNewParamsCfR2JurisdictionEu      DomainCustomNewParamsCfR2Jurisdiction = "eu"
-	DomainCustomNewParamsCfR2JurisdictionFedramp DomainCustomNewParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r DomainCustomNewParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case DomainCustomNewParamsCfR2JurisdictionDefault, DomainCustomNewParamsCfR2JurisdictionEu, DomainCustomNewParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type DomainCustomNewResponseEnvelope struct {
-	Errors   []shared.ResponseInfo   `json:"errors,required"`
-	Messages []string                `json:"messages,required"`
-	Result   DomainCustomNewResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success DomainCustomNewResponseEnvelopeSuccess `json:"success,required"`
-	JSON    domainCustomNewResponseEnvelopeJSON    `json:"-"`
-}
-
-// domainCustomNewResponseEnvelopeJSON contains the JSON metadata for the struct
-// [DomainCustomNewResponseEnvelope]
-type domainCustomNewResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomNewResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomNewResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type DomainCustomNewResponseEnvelopeSuccess bool
-
-const (
-	DomainCustomNewResponseEnvelopeSuccessTrue DomainCustomNewResponseEnvelopeSuccess = true
-)
-
-func (r DomainCustomNewResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case DomainCustomNewResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
-
-type DomainCustomUpdateParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// Whether to enable public bucket access at the specified custom domain
-	Enabled param.Field[bool] `json:"enabled"`
-	// Minimum TLS Version the custom domain will accept for incoming connections. If
-	// not set, defaults to previous value.
-	MinTLS param.Field[DomainCustomUpdateParamsMinTLS] `json:"minTLS"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[DomainCustomUpdateParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-func (r DomainCustomUpdateParams) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-// Minimum TLS Version the custom domain will accept for incoming connections. If
-// not set, defaults to previous value.
-type DomainCustomUpdateParamsMinTLS string
-
-const (
-	DomainCustomUpdateParamsMinTLS1_0 DomainCustomUpdateParamsMinTLS = "1.0"
-	DomainCustomUpdateParamsMinTLS1_1 DomainCustomUpdateParamsMinTLS = "1.1"
-	DomainCustomUpdateParamsMinTLS1_2 DomainCustomUpdateParamsMinTLS = "1.2"
-	DomainCustomUpdateParamsMinTLS1_3 DomainCustomUpdateParamsMinTLS = "1.3"
-)
-
-func (r DomainCustomUpdateParamsMinTLS) IsKnown() bool {
-	switch r {
-	case DomainCustomUpdateParamsMinTLS1_0, DomainCustomUpdateParamsMinTLS1_1, DomainCustomUpdateParamsMinTLS1_2, DomainCustomUpdateParamsMinTLS1_3:
-		return true
-	}
-	return false
-}
-
-// The bucket jurisdiction
-type DomainCustomUpdateParamsCfR2Jurisdiction string
-
-const (
-	DomainCustomUpdateParamsCfR2JurisdictionDefault DomainCustomUpdateParamsCfR2Jurisdiction = "default"
-	DomainCustomUpdateParamsCfR2JurisdictionEu      DomainCustomUpdateParamsCfR2Jurisdiction = "eu"
-	DomainCustomUpdateParamsCfR2JurisdictionFedramp DomainCustomUpdateParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r DomainCustomUpdateParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case DomainCustomUpdateParamsCfR2JurisdictionDefault, DomainCustomUpdateParamsCfR2JurisdictionEu, DomainCustomUpdateParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type DomainCustomUpdateResponseEnvelope struct {
-	Errors   []shared.ResponseInfo      `json:"errors,required"`
-	Messages []string                   `json:"messages,required"`
-	Result   DomainCustomUpdateResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success DomainCustomUpdateResponseEnvelopeSuccess `json:"success,required"`
-	JSON    domainCustomUpdateResponseEnvelopeJSON    `json:"-"`
-}
-
-// domainCustomUpdateResponseEnvelopeJSON contains the JSON metadata for the struct
-// [DomainCustomUpdateResponseEnvelope]
-type domainCustomUpdateResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomUpdateResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type DomainCustomUpdateResponseEnvelopeSuccess bool
-
-const (
-	DomainCustomUpdateResponseEnvelopeSuccessTrue DomainCustomUpdateResponseEnvelopeSuccess = true
-)
-
-func (r DomainCustomUpdateResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case DomainCustomUpdateResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
-
-type DomainCustomListParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[DomainCustomListParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-// The bucket jurisdiction
-type DomainCustomListParamsCfR2Jurisdiction string
-
-const (
-	DomainCustomListParamsCfR2JurisdictionDefault DomainCustomListParamsCfR2Jurisdiction = "default"
-	DomainCustomListParamsCfR2JurisdictionEu      DomainCustomListParamsCfR2Jurisdiction = "eu"
-	DomainCustomListParamsCfR2JurisdictionFedramp DomainCustomListParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r DomainCustomListParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case DomainCustomListParamsCfR2JurisdictionDefault, DomainCustomListParamsCfR2JurisdictionEu, DomainCustomListParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type DomainCustomListResponseEnvelope struct {
-	Errors   []shared.ResponseInfo    `json:"errors,required"`
-	Messages []string                 `json:"messages,required"`
-	Result   DomainCustomListResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success DomainCustomListResponseEnvelopeSuccess `json:"success,required"`
-	JSON    domainCustomListResponseEnvelopeJSON    `json:"-"`
-}
-
-// domainCustomListResponseEnvelopeJSON contains the JSON metadata for the struct
-// [DomainCustomListResponseEnvelope]
-type domainCustomListResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomListResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomListResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type DomainCustomListResponseEnvelopeSuccess bool
-
-const (
-	DomainCustomListResponseEnvelopeSuccessTrue DomainCustomListResponseEnvelopeSuccess = true
-)
-
-func (r DomainCustomListResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case DomainCustomListResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
-
-type DomainCustomDeleteParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[DomainCustomDeleteParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-// The bucket jurisdiction
-type DomainCustomDeleteParamsCfR2Jurisdiction string
-
-const (
-	DomainCustomDeleteParamsCfR2JurisdictionDefault DomainCustomDeleteParamsCfR2Jurisdiction = "default"
-	DomainCustomDeleteParamsCfR2JurisdictionEu      DomainCustomDeleteParamsCfR2Jurisdiction = "eu"
-	DomainCustomDeleteParamsCfR2JurisdictionFedramp DomainCustomDeleteParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r DomainCustomDeleteParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case DomainCustomDeleteParamsCfR2JurisdictionDefault, DomainCustomDeleteParamsCfR2JurisdictionEu, DomainCustomDeleteParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type DomainCustomDeleteResponseEnvelope struct {
-	Errors   []shared.ResponseInfo      `json:"errors,required"`
-	Messages []string                   `json:"messages,required"`
-	Result   DomainCustomDeleteResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success DomainCustomDeleteResponseEnvelopeSuccess `json:"success,required"`
-	JSON    domainCustomDeleteResponseEnvelopeJSON    `json:"-"`
-}
-
-// domainCustomDeleteResponseEnvelopeJSON contains the JSON metadata for the struct
-// [DomainCustomDeleteResponseEnvelope]
-type domainCustomDeleteResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomDeleteResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type DomainCustomDeleteResponseEnvelopeSuccess bool
-
-const (
-	DomainCustomDeleteResponseEnvelopeSuccessTrue DomainCustomDeleteResponseEnvelopeSuccess = true
-)
-
-func (r DomainCustomDeleteResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case DomainCustomDeleteResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
-
-type DomainCustomGetParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[DomainCustomGetParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-// The bucket jurisdiction
-type DomainCustomGetParamsCfR2Jurisdiction string
-
-const (
-	DomainCustomGetParamsCfR2JurisdictionDefault DomainCustomGetParamsCfR2Jurisdiction = "default"
-	DomainCustomGetParamsCfR2JurisdictionEu      DomainCustomGetParamsCfR2Jurisdiction = "eu"
-	DomainCustomGetParamsCfR2JurisdictionFedramp DomainCustomGetParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r DomainCustomGetParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case DomainCustomGetParamsCfR2JurisdictionDefault, DomainCustomGetParamsCfR2JurisdictionEu, DomainCustomGetParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type DomainCustomGetResponseEnvelope struct {
-	Errors   []shared.ResponseInfo   `json:"errors,required"`
-	Messages []string                `json:"messages,required"`
-	Result   DomainCustomGetResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success DomainCustomGetResponseEnvelopeSuccess `json:"success,required"`
-	JSON    domainCustomGetResponseEnvelopeJSON    `json:"-"`
-}
-
-// domainCustomGetResponseEnvelopeJSON contains the JSON metadata for the struct
-// [DomainCustomGetResponseEnvelope]
-type domainCustomGetResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainCustomGetResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainCustomGetResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type DomainCustomGetResponseEnvelopeSuccess bool
-
-const (
-	DomainCustomGetResponseEnvelopeSuccessTrue DomainCustomGetResponseEnvelopeSuccess = true
-)
-
-func (r DomainCustomGetResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case DomainCustomGetResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
diff --git a/r2/domainmanaged.go b/r2/domainmanaged.go
deleted file mode 100644
index 2a670888e..000000000
--- a/r2/domainmanaged.go
+++ /dev/null
@@ -1,273 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2
-
-import (
-	"context"
-	"errors"
-	"fmt"
-	"net/http"
-
-	"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
-	"github.com/cloudflare/cloudflare-go/v3/internal/param"
-	"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/shared"
-)
-
-// DomainManagedService contains methods and other services that help with
-// interacting with the cloudflare API.
-//
-// Note, unlike clients, this service does not read variables from the environment
-// automatically. You should not instantiate this service directly, and instead use
-// the [NewDomainManagedService] method instead.
-type DomainManagedService struct {
-	Options []option.RequestOption
-}
-
-// NewDomainManagedService generates a new service that applies the given options
-// to each request. These options are applied after the parent client's options (if
-// there is one), and before any request-specific options.
-func NewDomainManagedService(opts ...option.RequestOption) (r *DomainManagedService) {
-	r = &DomainManagedService{}
-	r.Options = opts
-	return
-}
-
-// Updates state of public access over the bucket's R2-managed (r2.dev) domain.
-func (r *DomainManagedService) Update(ctx context.Context, bucketName string, params DomainManagedUpdateParams, opts ...option.RequestOption) (res *DomainManagedUpdateResponse, err error) {
-	var env DomainManagedUpdateResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/domains/managed", params.AccountID, bucketName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodPut, path, params, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-// Gets state of public access over the bucket's R2-managed (r2.dev) domain.
-func (r *DomainManagedService) List(ctx context.Context, bucketName string, params DomainManagedListParams, opts ...option.RequestOption) (res *DomainManagedListResponse, err error) {
-	var env DomainManagedListResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/domains/managed", params.AccountID, bucketName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, nil, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-type DomainManagedUpdateResponse struct {
-	// Bucket ID
-	BucketID string `json:"bucketId,required"`
-	// Domain name of the bucket's r2.dev domain
-	Domain string `json:"domain,required"`
-	// Whether this bucket is publicly accessible at the r2.dev domain
-	Enabled bool                            `json:"enabled,required"`
-	JSON    domainManagedUpdateResponseJSON `json:"-"`
-}
-
-// domainManagedUpdateResponseJSON contains the JSON metadata for the struct
-// [DomainManagedUpdateResponse]
-type domainManagedUpdateResponseJSON struct {
-	BucketID    apijson.Field
-	Domain      apijson.Field
-	Enabled     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainManagedUpdateResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainManagedUpdateResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-type DomainManagedListResponse struct {
-	// Bucket ID
-	BucketID string `json:"bucketId,required"`
-	// Domain name of the bucket's r2.dev domain
-	Domain string `json:"domain,required"`
-	// Whether this bucket is publicly accessible at the r2.dev domain
-	Enabled bool                          `json:"enabled,required"`
-	JSON    domainManagedListResponseJSON `json:"-"`
-}
-
-// domainManagedListResponseJSON contains the JSON metadata for the struct
-// [DomainManagedListResponse]
-type domainManagedListResponseJSON struct {
-	BucketID    apijson.Field
-	Domain      apijson.Field
-	Enabled     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainManagedListResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainManagedListResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-type DomainManagedUpdateParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// Whether to enable public bucket access at the r2.dev domain
-	Enabled param.Field[bool] `json:"enabled,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[DomainManagedUpdateParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-func (r DomainManagedUpdateParams) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-// The bucket jurisdiction
-type DomainManagedUpdateParamsCfR2Jurisdiction string
-
-const (
-	DomainManagedUpdateParamsCfR2JurisdictionDefault DomainManagedUpdateParamsCfR2Jurisdiction = "default"
-	DomainManagedUpdateParamsCfR2JurisdictionEu      DomainManagedUpdateParamsCfR2Jurisdiction = "eu"
-	DomainManagedUpdateParamsCfR2JurisdictionFedramp DomainManagedUpdateParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r DomainManagedUpdateParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case DomainManagedUpdateParamsCfR2JurisdictionDefault, DomainManagedUpdateParamsCfR2JurisdictionEu, DomainManagedUpdateParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type DomainManagedUpdateResponseEnvelope struct {
-	Errors   []shared.ResponseInfo       `json:"errors,required"`
-	Messages []string                    `json:"messages,required"`
-	Result   DomainManagedUpdateResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success DomainManagedUpdateResponseEnvelopeSuccess `json:"success,required"`
-	JSON    domainManagedUpdateResponseEnvelopeJSON    `json:"-"`
-}
-
-// domainManagedUpdateResponseEnvelopeJSON contains the JSON metadata for the
-// struct [DomainManagedUpdateResponseEnvelope]
-type domainManagedUpdateResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainManagedUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainManagedUpdateResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type DomainManagedUpdateResponseEnvelopeSuccess bool
-
-const (
-	DomainManagedUpdateResponseEnvelopeSuccessTrue DomainManagedUpdateResponseEnvelopeSuccess = true
-)
-
-func (r DomainManagedUpdateResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case DomainManagedUpdateResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
-
-type DomainManagedListParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[DomainManagedListParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-// The bucket jurisdiction
-type DomainManagedListParamsCfR2Jurisdiction string
-
-const (
-	DomainManagedListParamsCfR2JurisdictionDefault DomainManagedListParamsCfR2Jurisdiction = "default"
-	DomainManagedListParamsCfR2JurisdictionEu      DomainManagedListParamsCfR2Jurisdiction = "eu"
-	DomainManagedListParamsCfR2JurisdictionFedramp DomainManagedListParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r DomainManagedListParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case DomainManagedListParamsCfR2JurisdictionDefault, DomainManagedListParamsCfR2JurisdictionEu, DomainManagedListParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type DomainManagedListResponseEnvelope struct {
-	Errors   []shared.ResponseInfo     `json:"errors,required"`
-	Messages []string                  `json:"messages,required"`
-	Result   DomainManagedListResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success DomainManagedListResponseEnvelopeSuccess `json:"success,required"`
-	JSON    domainManagedListResponseEnvelopeJSON    `json:"-"`
-}
-
-// domainManagedListResponseEnvelopeJSON contains the JSON metadata for the struct
-// [DomainManagedListResponseEnvelope]
-type domainManagedListResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *DomainManagedListResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r domainManagedListResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type DomainManagedListResponseEnvelopeSuccess bool
-
-const (
-	DomainManagedListResponseEnvelopeSuccessTrue DomainManagedListResponseEnvelopeSuccess = true
-)
-
-func (r DomainManagedListResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case DomainManagedListResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
diff --git a/r2/eventnotification.go b/r2/eventnotification.go
deleted file mode 100644
index bb6c3cd37..000000000
--- a/r2/eventnotification.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2
-
-import (
-	"github.com/cloudflare/cloudflare-go/v3/option"
-)
-
-// EventNotificationService contains methods and other services that help with
-// interacting with the cloudflare API.
-//
-// Note, unlike clients, this service does not read variables from the environment
-// automatically. You should not instantiate this service directly, and instead use
-// the [NewEventNotificationService] method instead.
-type EventNotificationService struct {
-	Options       []option.RequestOption
-	Configuration *EventNotificationConfigurationService
-}
-
-// NewEventNotificationService generates a new service that applies the given
-// options to each request. These options are applied after the parent client's
-// options (if there is one), and before any request-specific options.
-func NewEventNotificationService(opts ...option.RequestOption) (r *EventNotificationService) {
-	r = &EventNotificationService{}
-	r.Options = opts
-	r.Configuration = NewEventNotificationConfigurationService(opts...)
-	return
-}
diff --git a/r2/eventnotificationconfiguration.go b/r2/eventnotificationconfiguration.go
deleted file mode 100644
index b7ec4b03a..000000000
--- a/r2/eventnotificationconfiguration.go
+++ /dev/null
@@ -1,233 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2
-
-import (
-	"context"
-	"errors"
-	"fmt"
-	"net/http"
-
-	"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
-	"github.com/cloudflare/cloudflare-go/v3/internal/param"
-	"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/shared"
-)
-
-// EventNotificationConfigurationService contains methods and other services that
-// help with interacting with the cloudflare API.
-//
-// Note, unlike clients, this service does not read variables from the environment
-// automatically. You should not instantiate this service directly, and instead use
-// the [NewEventNotificationConfigurationService] method instead.
-type EventNotificationConfigurationService struct {
-	Options []option.RequestOption
-	Queues  *EventNotificationConfigurationQueueService
-}
-
-// NewEventNotificationConfigurationService generates a new service that applies
-// the given options to each request. These options are applied after the parent
-// client's options (if there is one), and before any request-specific options.
-func NewEventNotificationConfigurationService(opts ...option.RequestOption) (r *EventNotificationConfigurationService) {
-	r = &EventNotificationConfigurationService{}
-	r.Options = opts
-	r.Queues = NewEventNotificationConfigurationQueueService(opts...)
-	return
-}
-
-// List all event notification rules for a bucket.
-func (r *EventNotificationConfigurationService) Get(ctx context.Context, bucketName string, params EventNotificationConfigurationGetParams, opts ...option.RequestOption) (res *EventNotificationConfigurationGetResponse, err error) {
-	var env EventNotificationConfigurationGetResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/event_notifications/r2/%s/configuration", params.AccountID, bucketName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, nil, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-type EventNotificationConfigurationGetResponse struct {
-	// Name of the bucket.
-	BucketName string `json:"bucketName"`
-	// List of queues associated with the bucket.
-	Queues []EventNotificationConfigurationGetResponseQueue `json:"queues"`
-	JSON   eventNotificationConfigurationGetResponseJSON    `json:"-"`
-}
-
-// eventNotificationConfigurationGetResponseJSON contains the JSON metadata for the
-// struct [EventNotificationConfigurationGetResponse]
-type eventNotificationConfigurationGetResponseJSON struct {
-	BucketName  apijson.Field
-	Queues      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *EventNotificationConfigurationGetResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r eventNotificationConfigurationGetResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-type EventNotificationConfigurationGetResponseQueue struct {
-	// Queue ID
-	QueueID string `json:"queueId"`
-	// Name of the queue
-	QueueName string                                                `json:"queueName"`
-	Rules     []EventNotificationConfigurationGetResponseQueuesRule `json:"rules"`
-	JSON      eventNotificationConfigurationGetResponseQueueJSON    `json:"-"`
-}
-
-// eventNotificationConfigurationGetResponseQueueJSON contains the JSON metadata
-// for the struct [EventNotificationConfigurationGetResponseQueue]
-type eventNotificationConfigurationGetResponseQueueJSON struct {
-	QueueID     apijson.Field
-	QueueName   apijson.Field
-	Rules       apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *EventNotificationConfigurationGetResponseQueue) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r eventNotificationConfigurationGetResponseQueueJSON) RawJSON() string {
-	return r.raw
-}
-
-type EventNotificationConfigurationGetResponseQueuesRule struct {
-	// Array of R2 object actions that will trigger notifications
-	Actions []EventNotificationConfigurationGetResponseQueuesRulesAction `json:"actions,required"`
-	// Timestamp when the rule was created
-	CreatedAt string `json:"createdAt"`
-	// A description that can be used to identify the event notification rule after
-	// creation
-	Description string `json:"description"`
-	// Notifications will be sent only for objects with this prefix
-	Prefix string `json:"prefix"`
-	// Rule ID
-	RuleID string `json:"ruleId"`
-	// Notifications will be sent only for objects with this suffix
-	Suffix string                                                  `json:"suffix"`
-	JSON   eventNotificationConfigurationGetResponseQueuesRuleJSON `json:"-"`
-}
-
-// eventNotificationConfigurationGetResponseQueuesRuleJSON contains the JSON
-// metadata for the struct [EventNotificationConfigurationGetResponseQueuesRule]
-type eventNotificationConfigurationGetResponseQueuesRuleJSON struct {
-	Actions     apijson.Field
-	CreatedAt   apijson.Field
-	Description apijson.Field
-	Prefix      apijson.Field
-	RuleID      apijson.Field
-	Suffix      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *EventNotificationConfigurationGetResponseQueuesRule) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r eventNotificationConfigurationGetResponseQueuesRuleJSON) RawJSON() string {
-	return r.raw
-}
-
-type EventNotificationConfigurationGetResponseQueuesRulesAction string
-
-const (
-	EventNotificationConfigurationGetResponseQueuesRulesActionPutObject               EventNotificationConfigurationGetResponseQueuesRulesAction = "PutObject"
-	EventNotificationConfigurationGetResponseQueuesRulesActionCopyObject              EventNotificationConfigurationGetResponseQueuesRulesAction = "CopyObject"
-	EventNotificationConfigurationGetResponseQueuesRulesActionDeleteObject            EventNotificationConfigurationGetResponseQueuesRulesAction = "DeleteObject"
-	EventNotificationConfigurationGetResponseQueuesRulesActionCompleteMultipartUpload EventNotificationConfigurationGetResponseQueuesRulesAction = "CompleteMultipartUpload"
-	EventNotificationConfigurationGetResponseQueuesRulesActionLifecycleDeletion       EventNotificationConfigurationGetResponseQueuesRulesAction = "LifecycleDeletion"
-)
-
-func (r EventNotificationConfigurationGetResponseQueuesRulesAction) IsKnown() bool {
-	switch r {
-	case EventNotificationConfigurationGetResponseQueuesRulesActionPutObject, EventNotificationConfigurationGetResponseQueuesRulesActionCopyObject, EventNotificationConfigurationGetResponseQueuesRulesActionDeleteObject, EventNotificationConfigurationGetResponseQueuesRulesActionCompleteMultipartUpload, EventNotificationConfigurationGetResponseQueuesRulesActionLifecycleDeletion:
-		return true
-	}
-	return false
-}
-
-type EventNotificationConfigurationGetParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[EventNotificationConfigurationGetParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-// The bucket jurisdiction
-type EventNotificationConfigurationGetParamsCfR2Jurisdiction string
-
-const (
-	EventNotificationConfigurationGetParamsCfR2JurisdictionDefault EventNotificationConfigurationGetParamsCfR2Jurisdiction = "default"
-	EventNotificationConfigurationGetParamsCfR2JurisdictionEu      EventNotificationConfigurationGetParamsCfR2Jurisdiction = "eu"
-	EventNotificationConfigurationGetParamsCfR2JurisdictionFedramp EventNotificationConfigurationGetParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r EventNotificationConfigurationGetParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case EventNotificationConfigurationGetParamsCfR2JurisdictionDefault, EventNotificationConfigurationGetParamsCfR2JurisdictionEu, EventNotificationConfigurationGetParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type EventNotificationConfigurationGetResponseEnvelope struct {
-	Errors   []shared.ResponseInfo                     `json:"errors,required"`
-	Messages []string                                  `json:"messages,required"`
-	Result   EventNotificationConfigurationGetResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success EventNotificationConfigurationGetResponseEnvelopeSuccess `json:"success,required"`
-	JSON    eventNotificationConfigurationGetResponseEnvelopeJSON    `json:"-"`
-}
-
-// eventNotificationConfigurationGetResponseEnvelopeJSON contains the JSON metadata
-// for the struct [EventNotificationConfigurationGetResponseEnvelope]
-type eventNotificationConfigurationGetResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *EventNotificationConfigurationGetResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r eventNotificationConfigurationGetResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type EventNotificationConfigurationGetResponseEnvelopeSuccess bool
-
-const (
-	EventNotificationConfigurationGetResponseEnvelopeSuccessTrue EventNotificationConfigurationGetResponseEnvelopeSuccess = true
-)
-
-func (r EventNotificationConfigurationGetResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case EventNotificationConfigurationGetResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
diff --git a/r2/eventnotificationconfigurationqueue.go b/r2/eventnotificationconfigurationqueue.go
deleted file mode 100644
index d74e50450..000000000
--- a/r2/eventnotificationconfigurationqueue.go
+++ /dev/null
@@ -1,267 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2
-
-import (
-	"context"
-	"errors"
-	"fmt"
-	"net/http"
-
-	"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
-	"github.com/cloudflare/cloudflare-go/v3/internal/param"
-	"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/shared"
-)
-
-// EventNotificationConfigurationQueueService contains methods and other services
-// that help with interacting with the cloudflare API.
-//
-// Note, unlike clients, this service does not read variables from the environment
-// automatically. You should not instantiate this service directly, and instead use
-// the [NewEventNotificationConfigurationQueueService] method instead.
-type EventNotificationConfigurationQueueService struct {
-	Options []option.RequestOption
-}
-
-// NewEventNotificationConfigurationQueueService generates a new service that
-// applies the given options to each request. These options are applied after the
-// parent client's options (if there is one), and before any request-specific
-// options.
-func NewEventNotificationConfigurationQueueService(opts ...option.RequestOption) (r *EventNotificationConfigurationQueueService) {
-	r = &EventNotificationConfigurationQueueService{}
-	r.Options = opts
-	return
-}
-
-// Create event notification rule.
-func (r *EventNotificationConfigurationQueueService) Update(ctx context.Context, bucketName string, queueID string, params EventNotificationConfigurationQueueUpdateParams, opts ...option.RequestOption) (res *EventNotificationConfigurationQueueUpdateResponse, err error) {
-	var env EventNotificationConfigurationQueueUpdateResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	if queueID == "" {
-		err = errors.New("missing required queue_id parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/event_notifications/r2/%s/configuration/queues/%s", params.AccountID, bucketName, queueID)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodPut, path, params, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-// Delete an event notification rule. **If no body is provided, all rules for
-// specified queue will be deleted**.
-func (r *EventNotificationConfigurationQueueService) Delete(ctx context.Context, bucketName string, queueID string, params EventNotificationConfigurationQueueDeleteParams, opts ...option.RequestOption) (res *EventNotificationConfigurationQueueDeleteResponse, err error) {
-	var env EventNotificationConfigurationQueueDeleteResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	if queueID == "" {
-		err = errors.New("missing required queue_id parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/event_notifications/r2/%s/configuration/queues/%s", params.AccountID, bucketName, queueID)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodDelete, path, nil, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-type EventNotificationConfigurationQueueUpdateResponse = interface{}
-
-type EventNotificationConfigurationQueueDeleteResponse = interface{}
-
-type EventNotificationConfigurationQueueUpdateParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// Array of rules to drive notifications
-	Rules param.Field[[]EventNotificationConfigurationQueueUpdateParamsRule] `json:"rules"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[EventNotificationConfigurationQueueUpdateParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-func (r EventNotificationConfigurationQueueUpdateParams) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-type EventNotificationConfigurationQueueUpdateParamsRule struct {
-	// Array of R2 object actions that will trigger notifications
-	Actions param.Field[[]EventNotificationConfigurationQueueUpdateParamsRulesAction] `json:"actions,required"`
-	// A description that can be used to identify the event notification rule after
-	// creation
-	Description param.Field[string] `json:"description"`
-	// Notifications will be sent only for objects with this prefix
-	Prefix param.Field[string] `json:"prefix"`
-	// Notifications will be sent only for objects with this suffix
-	Suffix param.Field[string] `json:"suffix"`
-}
-
-func (r EventNotificationConfigurationQueueUpdateParamsRule) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-type EventNotificationConfigurationQueueUpdateParamsRulesAction string
-
-const (
-	EventNotificationConfigurationQueueUpdateParamsRulesActionPutObject               EventNotificationConfigurationQueueUpdateParamsRulesAction = "PutObject"
-	EventNotificationConfigurationQueueUpdateParamsRulesActionCopyObject              EventNotificationConfigurationQueueUpdateParamsRulesAction = "CopyObject"
-	EventNotificationConfigurationQueueUpdateParamsRulesActionDeleteObject            EventNotificationConfigurationQueueUpdateParamsRulesAction = "DeleteObject"
-	EventNotificationConfigurationQueueUpdateParamsRulesActionCompleteMultipartUpload EventNotificationConfigurationQueueUpdateParamsRulesAction = "CompleteMultipartUpload"
-	EventNotificationConfigurationQueueUpdateParamsRulesActionLifecycleDeletion       EventNotificationConfigurationQueueUpdateParamsRulesAction = "LifecycleDeletion"
-)
-
-func (r EventNotificationConfigurationQueueUpdateParamsRulesAction) IsKnown() bool {
-	switch r {
-	case EventNotificationConfigurationQueueUpdateParamsRulesActionPutObject, EventNotificationConfigurationQueueUpdateParamsRulesActionCopyObject, EventNotificationConfigurationQueueUpdateParamsRulesActionDeleteObject, EventNotificationConfigurationQueueUpdateParamsRulesActionCompleteMultipartUpload, EventNotificationConfigurationQueueUpdateParamsRulesActionLifecycleDeletion:
-		return true
-	}
-	return false
-}
-
-// The bucket jurisdiction
-type EventNotificationConfigurationQueueUpdateParamsCfR2Jurisdiction string
-
-const (
-	EventNotificationConfigurationQueueUpdateParamsCfR2JurisdictionDefault EventNotificationConfigurationQueueUpdateParamsCfR2Jurisdiction = "default"
-	EventNotificationConfigurationQueueUpdateParamsCfR2JurisdictionEu      EventNotificationConfigurationQueueUpdateParamsCfR2Jurisdiction = "eu"
-	EventNotificationConfigurationQueueUpdateParamsCfR2JurisdictionFedramp EventNotificationConfigurationQueueUpdateParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r EventNotificationConfigurationQueueUpdateParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case EventNotificationConfigurationQueueUpdateParamsCfR2JurisdictionDefault, EventNotificationConfigurationQueueUpdateParamsCfR2JurisdictionEu, EventNotificationConfigurationQueueUpdateParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type EventNotificationConfigurationQueueUpdateResponseEnvelope struct {
-	Errors   []shared.ResponseInfo                             `json:"errors,required"`
-	Messages []string                                          `json:"messages,required"`
-	Result   EventNotificationConfigurationQueueUpdateResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success EventNotificationConfigurationQueueUpdateResponseEnvelopeSuccess `json:"success,required"`
-	JSON    eventNotificationConfigurationQueueUpdateResponseEnvelopeJSON    `json:"-"`
-}
-
-// eventNotificationConfigurationQueueUpdateResponseEnvelopeJSON contains the JSON
-// metadata for the struct
-// [EventNotificationConfigurationQueueUpdateResponseEnvelope]
-type eventNotificationConfigurationQueueUpdateResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *EventNotificationConfigurationQueueUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r eventNotificationConfigurationQueueUpdateResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type EventNotificationConfigurationQueueUpdateResponseEnvelopeSuccess bool
-
-const (
-	EventNotificationConfigurationQueueUpdateResponseEnvelopeSuccessTrue EventNotificationConfigurationQueueUpdateResponseEnvelopeSuccess = true
-)
-
-func (r EventNotificationConfigurationQueueUpdateResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case EventNotificationConfigurationQueueUpdateResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
-
-type EventNotificationConfigurationQueueDeleteParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[EventNotificationConfigurationQueueDeleteParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-// The bucket jurisdiction
-type EventNotificationConfigurationQueueDeleteParamsCfR2Jurisdiction string
-
-const (
-	EventNotificationConfigurationQueueDeleteParamsCfR2JurisdictionDefault EventNotificationConfigurationQueueDeleteParamsCfR2Jurisdiction = "default"
-	EventNotificationConfigurationQueueDeleteParamsCfR2JurisdictionEu      EventNotificationConfigurationQueueDeleteParamsCfR2Jurisdiction = "eu"
-	EventNotificationConfigurationQueueDeleteParamsCfR2JurisdictionFedramp EventNotificationConfigurationQueueDeleteParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r EventNotificationConfigurationQueueDeleteParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case EventNotificationConfigurationQueueDeleteParamsCfR2JurisdictionDefault, EventNotificationConfigurationQueueDeleteParamsCfR2JurisdictionEu, EventNotificationConfigurationQueueDeleteParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type EventNotificationConfigurationQueueDeleteResponseEnvelope struct {
-	Errors   []shared.ResponseInfo                             `json:"errors,required"`
-	Messages []string                                          `json:"messages,required"`
-	Result   EventNotificationConfigurationQueueDeleteResponse `json:"result,required"`
-	// Whether the API call was successful
-	Success EventNotificationConfigurationQueueDeleteResponseEnvelopeSuccess `json:"success,required"`
-	JSON    eventNotificationConfigurationQueueDeleteResponseEnvelopeJSON    `json:"-"`
-}
-
-// eventNotificationConfigurationQueueDeleteResponseEnvelopeJSON contains the JSON
-// metadata for the struct
-// [EventNotificationConfigurationQueueDeleteResponseEnvelope]
-type eventNotificationConfigurationQueueDeleteResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *EventNotificationConfigurationQueueDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r eventNotificationConfigurationQueueDeleteResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type EventNotificationConfigurationQueueDeleteResponseEnvelopeSuccess bool
-
-const (
-	EventNotificationConfigurationQueueDeleteResponseEnvelopeSuccessTrue EventNotificationConfigurationQueueDeleteResponseEnvelopeSuccess = true
-)
-
-func (r EventNotificationConfigurationQueueDeleteResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case EventNotificationConfigurationQueueDeleteResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
diff --git a/r2/sippy.go b/r2/sippy.go
deleted file mode 100644
index 433f239ca..000000000
--- a/r2/sippy.go
+++ /dev/null
@@ -1,601 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2
-
-import (
-	"context"
-	"errors"
-	"fmt"
-	"net/http"
-
-	"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
-	"github.com/cloudflare/cloudflare-go/v3/internal/param"
-	"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/shared"
-)
-
-// SippyService contains methods and other services that help with interacting with
-// the cloudflare API.
-//
-// Note, unlike clients, this service does not read variables from the environment
-// automatically. You should not instantiate this service directly, and instead use
-// the [NewSippyService] method instead.
-type SippyService struct {
-	Options []option.RequestOption
-}
-
-// NewSippyService generates a new service that applies the given options to each
-// request. These options are applied after the parent client's options (if there
-// is one), and before any request-specific options.
-func NewSippyService(opts ...option.RequestOption) (r *SippyService) {
-	r = &SippyService{}
-	r.Options = opts
-	return
-}
-
-// Sets configuration for Sippy for an existing R2 bucket.
-func (r *SippyService) Update(ctx context.Context, bucketName string, params SippyUpdateParams, opts ...option.RequestOption) (res *Sippy, err error) {
-	var env SippyUpdateResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/sippy", params.AccountID, bucketName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodPut, path, params, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-// Disables Sippy on this bucket
-func (r *SippyService) Delete(ctx context.Context, bucketName string, params SippyDeleteParams, opts ...option.RequestOption) (res *SippyDeleteResponse, err error) {
-	var env SippyDeleteResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/sippy", params.AccountID, bucketName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodDelete, path, nil, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-// Gets configuration for Sippy for an existing R2 bucket.
-func (r *SippyService) Get(ctx context.Context, bucketName string, params SippyGetParams, opts ...option.RequestOption) (res *Sippy, err error) {
-	var env SippyGetResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.AccountID.Value == "" {
-		err = errors.New("missing required account_id parameter")
-		return
-	}
-	if bucketName == "" {
-		err = errors.New("missing required bucket_name parameter")
-		return
-	}
-	path := fmt.Sprintf("accounts/%s/r2/buckets/%s/sippy", params.AccountID, bucketName)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, nil, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-type Provider string
-
-const (
-	ProviderR2 Provider = "r2"
-)
-
-func (r Provider) IsKnown() bool {
-	switch r {
-	case ProviderR2:
-		return true
-	}
-	return false
-}
-
-type Sippy struct {
-	// Details about the configured destination bucket
-	Destination SippyDestination `json:"destination"`
-	// State of Sippy for this bucket
-	Enabled bool `json:"enabled"`
-	// Details about the configured source bucket
-	Source SippySource `json:"source"`
-	JSON   sippyJSON   `json:"-"`
-}
-
-// sippyJSON contains the JSON metadata for the struct [Sippy]
-type sippyJSON struct {
-	Destination apijson.Field
-	Enabled     apijson.Field
-	Source      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *Sippy) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r sippyJSON) RawJSON() string {
-	return r.raw
-}
-
-// Details about the configured destination bucket
-type SippyDestination struct {
-	// ID of the Cloudflare API token used when writing objects to this bucket
-	AccessKeyID string `json:"accessKeyId"`
-	Account     string `json:"account"`
-	// Name of the bucket on the provider
-	Bucket   string               `json:"bucket"`
-	Provider Provider             `json:"provider"`
-	JSON     sippyDestinationJSON `json:"-"`
-}
-
-// sippyDestinationJSON contains the JSON metadata for the struct
-// [SippyDestination]
-type sippyDestinationJSON struct {
-	AccessKeyID apijson.Field
-	Account     apijson.Field
-	Bucket      apijson.Field
-	Provider    apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *SippyDestination) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r sippyDestinationJSON) RawJSON() string {
-	return r.raw
-}
-
-// Details about the configured source bucket
-type SippySource struct {
-	// Name of the bucket on the provider
-	Bucket   string              `json:"bucket"`
-	Provider SippySourceProvider `json:"provider"`
-	// Region where the bucket resides (AWS only)
-	Region string          `json:"region,nullable"`
-	JSON   sippySourceJSON `json:"-"`
-}
-
-// sippySourceJSON contains the JSON metadata for the struct [SippySource]
-type sippySourceJSON struct {
-	Bucket      apijson.Field
-	Provider    apijson.Field
-	Region      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *SippySource) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r sippySourceJSON) RawJSON() string {
-	return r.raw
-}
-
-type SippySourceProvider string
-
-const (
-	SippySourceProviderAws SippySourceProvider = "aws"
-	SippySourceProviderGcs SippySourceProvider = "gcs"
-)
-
-func (r SippySourceProvider) IsKnown() bool {
-	switch r {
-	case SippySourceProviderAws, SippySourceProviderGcs:
-		return true
-	}
-	return false
-}
-
-type SippyDeleteResponse struct {
-	Enabled SippyDeleteResponseEnabled `json:"enabled"`
-	JSON    sippyDeleteResponseJSON    `json:"-"`
-}
-
-// sippyDeleteResponseJSON contains the JSON metadata for the struct
-// [SippyDeleteResponse]
-type sippyDeleteResponseJSON struct {
-	Enabled     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *SippyDeleteResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r sippyDeleteResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-type SippyDeleteResponseEnabled bool
-
-const (
-	SippyDeleteResponseEnabledFalse SippyDeleteResponseEnabled = false
-)
-
-func (r SippyDeleteResponseEnabled) IsKnown() bool {
-	switch r {
-	case SippyDeleteResponseEnabledFalse:
-		return true
-	}
-	return false
-}
-
-type SippyUpdateParams struct {
-	// Account ID
-	AccountID param.Field[string]        `path:"account_id,required"`
-	Body      SippyUpdateParamsBodyUnion `json:"body,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[SippyUpdateParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-func (r SippyUpdateParams) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r.Body)
-}
-
-type SippyUpdateParamsBody struct {
-	Destination param.Field[interface{}] `json:"destination,required"`
-	Source      param.Field[interface{}] `json:"source,required"`
-}
-
-func (r SippyUpdateParamsBody) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-func (r SippyUpdateParamsBody) implementsR2SippyUpdateParamsBodyUnion() {}
-
-// Satisfied by [r2.SippyUpdateParamsBodyR2EnableSippyAws],
-// [r2.SippyUpdateParamsBodyR2EnableSippyGcs], [SippyUpdateParamsBody].
-type SippyUpdateParamsBodyUnion interface {
-	implementsR2SippyUpdateParamsBodyUnion()
-}
-
-type SippyUpdateParamsBodyR2EnableSippyAws struct {
-	// R2 bucket to copy objects to
-	Destination param.Field[SippyUpdateParamsBodyR2EnableSippyAwsDestination] `json:"destination"`
-	// AWS S3 bucket to copy objects from
-	Source param.Field[SippyUpdateParamsBodyR2EnableSippyAwsSource] `json:"source"`
-}
-
-func (r SippyUpdateParamsBodyR2EnableSippyAws) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-func (r SippyUpdateParamsBodyR2EnableSippyAws) implementsR2SippyUpdateParamsBodyUnion() {}
-
-// R2 bucket to copy objects to
-type SippyUpdateParamsBodyR2EnableSippyAwsDestination struct {
-	// ID of a Cloudflare API token. This is the value labelled "Access Key ID" when
-	// creating an API token from the
-	// [R2 dashboard](https://dash.cloudflare.com/?to=/:account/r2/api-tokens).
-	//
-	// Sippy will use this token when writing objects to R2, so it is best to scope
-	// this token to the bucket you're enabling Sippy for.
-	AccessKeyID param.Field[string]   `json:"accessKeyId"`
-	Provider    param.Field[Provider] `json:"provider"`
-	// Value of a Cloudflare API token. This is the value labelled "Secret Access Key"
-	// when creating an API token from the
-	// [R2 dashboard](https://dash.cloudflare.com/?to=/:account/r2/api-tokens).
-	//
-	// Sippy will use this token when writing objects to R2, so it is best to scope
-	// this token to the bucket you're enabling Sippy for.
-	SecretAccessKey param.Field[string] `json:"secretAccessKey"`
-}
-
-func (r SippyUpdateParamsBodyR2EnableSippyAwsDestination) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-// AWS S3 bucket to copy objects from
-type SippyUpdateParamsBodyR2EnableSippyAwsSource struct {
-	// Access Key ID of an IAM credential (ideally scoped to a single S3 bucket)
-	AccessKeyID param.Field[string] `json:"accessKeyId"`
-	// Name of the AWS S3 bucket
-	Bucket   param.Field[string]                                              `json:"bucket"`
-	Provider param.Field[SippyUpdateParamsBodyR2EnableSippyAwsSourceProvider] `json:"provider"`
-	// Name of the AWS availability zone
-	Region param.Field[string] `json:"region"`
-	// Secret Access Key of an IAM credential (ideally scoped to a single S3 bucket)
-	SecretAccessKey param.Field[string] `json:"secretAccessKey"`
-}
-
-func (r SippyUpdateParamsBodyR2EnableSippyAwsSource) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-type SippyUpdateParamsBodyR2EnableSippyAwsSourceProvider string
-
-const (
-	SippyUpdateParamsBodyR2EnableSippyAwsSourceProviderAws SippyUpdateParamsBodyR2EnableSippyAwsSourceProvider = "aws"
-)
-
-func (r SippyUpdateParamsBodyR2EnableSippyAwsSourceProvider) IsKnown() bool {
-	switch r {
-	case SippyUpdateParamsBodyR2EnableSippyAwsSourceProviderAws:
-		return true
-	}
-	return false
-}
-
-type SippyUpdateParamsBodyR2EnableSippyGcs struct {
-	// R2 bucket to copy objects to
-	Destination param.Field[SippyUpdateParamsBodyR2EnableSippyGcsDestination] `json:"destination"`
-	// GCS bucket to copy objects from
-	Source param.Field[SippyUpdateParamsBodyR2EnableSippyGcsSource] `json:"source"`
-}
-
-func (r SippyUpdateParamsBodyR2EnableSippyGcs) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-func (r SippyUpdateParamsBodyR2EnableSippyGcs) implementsR2SippyUpdateParamsBodyUnion() {}
-
-// R2 bucket to copy objects to
-type SippyUpdateParamsBodyR2EnableSippyGcsDestination struct {
-	// ID of a Cloudflare API token. This is the value labelled "Access Key ID" when
-	// creating an API token from the
-	// [R2 dashboard](https://dash.cloudflare.com/?to=/:account/r2/api-tokens).
-	//
-	// Sippy will use this token when writing objects to R2, so it is best to scope
-	// this token to the bucket you're enabling Sippy for.
-	AccessKeyID param.Field[string]   `json:"accessKeyId"`
-	Provider    param.Field[Provider] `json:"provider"`
-	// Value of a Cloudflare API token. This is the value labelled "Secret Access Key"
-	// when creating an API token from the
-	// [R2 dashboard](https://dash.cloudflare.com/?to=/:account/r2/api-tokens).
-	//
-	// Sippy will use this token when writing objects to R2, so it is best to scope
-	// this token to the bucket you're enabling Sippy for.
-	SecretAccessKey param.Field[string] `json:"secretAccessKey"`
-}
-
-func (r SippyUpdateParamsBodyR2EnableSippyGcsDestination) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-// GCS bucket to copy objects from
-type SippyUpdateParamsBodyR2EnableSippyGcsSource struct {
-	// Name of the GCS bucket
-	Bucket param.Field[string] `json:"bucket"`
-	// Client email of an IAM credential (ideally scoped to a single GCS bucket)
-	ClientEmail param.Field[string] `json:"clientEmail"`
-	// Private Key of an IAM credential (ideally scoped to a single GCS bucket)
-	PrivateKey param.Field[string]                                              `json:"privateKey"`
-	Provider   param.Field[SippyUpdateParamsBodyR2EnableSippyGcsSourceProvider] `json:"provider"`
-}
-
-func (r SippyUpdateParamsBodyR2EnableSippyGcsSource) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-type SippyUpdateParamsBodyR2EnableSippyGcsSourceProvider string
-
-const (
-	SippyUpdateParamsBodyR2EnableSippyGcsSourceProviderGcs SippyUpdateParamsBodyR2EnableSippyGcsSourceProvider = "gcs"
-)
-
-func (r SippyUpdateParamsBodyR2EnableSippyGcsSourceProvider) IsKnown() bool {
-	switch r {
-	case SippyUpdateParamsBodyR2EnableSippyGcsSourceProviderGcs:
-		return true
-	}
-	return false
-}
-
-// The bucket jurisdiction
-type SippyUpdateParamsCfR2Jurisdiction string
-
-const (
-	SippyUpdateParamsCfR2JurisdictionDefault SippyUpdateParamsCfR2Jurisdiction = "default"
-	SippyUpdateParamsCfR2JurisdictionEu      SippyUpdateParamsCfR2Jurisdiction = "eu"
-	SippyUpdateParamsCfR2JurisdictionFedramp SippyUpdateParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r SippyUpdateParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case SippyUpdateParamsCfR2JurisdictionDefault, SippyUpdateParamsCfR2JurisdictionEu, SippyUpdateParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type SippyUpdateResponseEnvelope struct {
-	Errors   []shared.ResponseInfo `json:"errors,required"`
-	Messages []string              `json:"messages,required"`
-	Result   Sippy                 `json:"result,required"`
-	// Whether the API call was successful
-	Success SippyUpdateResponseEnvelopeSuccess `json:"success,required"`
-	JSON    sippyUpdateResponseEnvelopeJSON    `json:"-"`
-}
-
-// sippyUpdateResponseEnvelopeJSON contains the JSON metadata for the struct
-// [SippyUpdateResponseEnvelope]
-type sippyUpdateResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *SippyUpdateResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r sippyUpdateResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type SippyUpdateResponseEnvelopeSuccess bool
-
-const (
-	SippyUpdateResponseEnvelopeSuccessTrue SippyUpdateResponseEnvelopeSuccess = true
-)
-
-func (r SippyUpdateResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case SippyUpdateResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
-
-type SippyDeleteParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[SippyDeleteParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-// The bucket jurisdiction
-type SippyDeleteParamsCfR2Jurisdiction string
-
-const (
-	SippyDeleteParamsCfR2JurisdictionDefault SippyDeleteParamsCfR2Jurisdiction = "default"
-	SippyDeleteParamsCfR2JurisdictionEu      SippyDeleteParamsCfR2Jurisdiction = "eu"
-	SippyDeleteParamsCfR2JurisdictionFedramp SippyDeleteParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r SippyDeleteParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case SippyDeleteParamsCfR2JurisdictionDefault, SippyDeleteParamsCfR2JurisdictionEu, SippyDeleteParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type SippyDeleteResponseEnvelope struct {
-	Errors   []shared.ResponseInfo `json:"errors,required"`
-	Messages []string              `json:"messages,required"`
-	Result   SippyDeleteResponse   `json:"result,required"`
-	// Whether the API call was successful
-	Success SippyDeleteResponseEnvelopeSuccess `json:"success,required"`
-	JSON    sippyDeleteResponseEnvelopeJSON    `json:"-"`
-}
-
-// sippyDeleteResponseEnvelopeJSON contains the JSON metadata for the struct
-// [SippyDeleteResponseEnvelope]
-type sippyDeleteResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *SippyDeleteResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r sippyDeleteResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type SippyDeleteResponseEnvelopeSuccess bool
-
-const (
-	SippyDeleteResponseEnvelopeSuccessTrue SippyDeleteResponseEnvelopeSuccess = true
-)
-
-func (r SippyDeleteResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case SippyDeleteResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
-
-type SippyGetParams struct {
-	// Account ID
-	AccountID param.Field[string] `path:"account_id,required"`
-	// The bucket jurisdiction
-	CfR2Jurisdiction param.Field[SippyGetParamsCfR2Jurisdiction] `header:"cf-r2-jurisdiction"`
-}
-
-// The bucket jurisdiction
-type SippyGetParamsCfR2Jurisdiction string
-
-const (
-	SippyGetParamsCfR2JurisdictionDefault SippyGetParamsCfR2Jurisdiction = "default"
-	SippyGetParamsCfR2JurisdictionEu      SippyGetParamsCfR2Jurisdiction = "eu"
-	SippyGetParamsCfR2JurisdictionFedramp SippyGetParamsCfR2Jurisdiction = "fedramp"
-)
-
-func (r SippyGetParamsCfR2Jurisdiction) IsKnown() bool {
-	switch r {
-	case SippyGetParamsCfR2JurisdictionDefault, SippyGetParamsCfR2JurisdictionEu, SippyGetParamsCfR2JurisdictionFedramp:
-		return true
-	}
-	return false
-}
-
-type SippyGetResponseEnvelope struct {
-	Errors   []shared.ResponseInfo `json:"errors,required"`
-	Messages []string              `json:"messages,required"`
-	Result   Sippy                 `json:"result,required"`
-	// Whether the API call was successful
-	Success SippyGetResponseEnvelopeSuccess `json:"success,required"`
-	JSON    sippyGetResponseEnvelopeJSON    `json:"-"`
-}
-
-// sippyGetResponseEnvelopeJSON contains the JSON metadata for the struct
-// [SippyGetResponseEnvelope]
-type sippyGetResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Result      apijson.Field
-	Success     apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *SippyGetResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r sippyGetResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type SippyGetResponseEnvelopeSuccess bool
-
-const (
-	SippyGetResponseEnvelopeSuccessTrue SippyGetResponseEnvelopeSuccess = true
-)
-
-func (r SippyGetResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case SippyGetResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}
diff --git a/ssl/certificatepack.go b/ssl/certificatepack.go
index fca4beddf..fa30c97d7 100644
--- a/ssl/certificatepack.go
+++ b/ssl/certificatepack.go
@@ -26,7 +26,6 @@ import (
 // the [NewCertificatePackService] method instead.
 type CertificatePackService struct {
 	Options []option.RequestOption
-	Order   *CertificatePackOrderService
 	Quota   *CertificatePackQuotaService
 }
 
@@ -36,11 +35,27 @@ type CertificatePackService struct {
 func NewCertificatePackService(opts ...option.RequestOption) (r *CertificatePackService) {
 	r = &CertificatePackService{}
 	r.Options = opts
-	r.Order = NewCertificatePackOrderService(opts...)
 	r.Quota = NewCertificatePackQuotaService(opts...)
 	return
 }
 
+// For a given zone, order an advanced certificate pack.
+func (r *CertificatePackService) New(ctx context.Context, params CertificatePackNewParams, opts ...option.RequestOption) (res *CertificatePackNewResponse, err error) {
+	var env CertificatePackNewResponseEnvelope
+	opts = append(r.Options[:], opts...)
+	if params.ZoneID.Value == "" {
+		err = errors.New("missing required zone_id parameter")
+		return
+	}
+	path := fmt.Sprintf("zones/%s/ssl/certificate_packs/order", params.ZoneID)
+	err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &env, opts...)
+	if err != nil {
+		return
+	}
+	res = &env.Result
+	return
+}
+
 // For a given zone, list all active certificate packs.
 func (r *CertificatePackService) List(ctx context.Context, params CertificatePackListParams, opts ...option.RequestOption) (res *pagination.SinglePage[CertificatePackListResponse], err error) {
 	var raw *http.Response
@@ -210,6 +225,122 @@ func (r ValidationMethod) IsKnown() bool {
 	return false
 }
 
+type CertificatePackNewResponse struct {
+	// Identifier
+	ID string `json:"id"`
+	// Certificate Authority selected for the order. For information on any certificate
+	// authority specific details or restrictions
+	// [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities)
+	CertificateAuthority CertificatePackNewResponseCertificateAuthority `json:"certificate_authority"`
+	// Whether or not to add Cloudflare Branding for the order. This will add
+	// sni.cloudflaressl.com as the Common Name if set true.
+	CloudflareBranding bool `json:"cloudflare_branding"`
+	// Comma separated list of valid host names for the certificate packs. Must contain
+	// the zone apex, may not contain more than 50 hosts, and may not be empty.
+	Hosts []Host `json:"hosts"`
+	// Status of certificate pack.
+	Status Status `json:"status"`
+	// Type of certificate pack.
+	Type CertificatePackNewResponseType `json:"type"`
+	// Validation Method selected for the order.
+	ValidationMethod CertificatePackNewResponseValidationMethod `json:"validation_method"`
+	// Validity Days selected for the order.
+	ValidityDays CertificatePackNewResponseValidityDays `json:"validity_days"`
+	JSON         certificatePackNewResponseJSON         `json:"-"`
+}
+
+// certificatePackNewResponseJSON contains the JSON metadata for the struct
+// [CertificatePackNewResponse]
+type certificatePackNewResponseJSON struct {
+	ID                   apijson.Field
+	CertificateAuthority apijson.Field
+	CloudflareBranding   apijson.Field
+	Hosts                apijson.Field
+	Status               apijson.Field
+	Type                 apijson.Field
+	ValidationMethod     apijson.Field
+	ValidityDays         apijson.Field
+	raw                  string
+	ExtraFields          map[string]apijson.Field
+}
+
+func (r *CertificatePackNewResponse) UnmarshalJSON(data []byte) (err error) {
+	return apijson.UnmarshalRoot(data, r)
+}
+
+func (r certificatePackNewResponseJSON) RawJSON() string {
+	return r.raw
+}
+
+// Certificate Authority selected for the order. For information on any certificate
+// authority specific details or restrictions
+// [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities)
+type CertificatePackNewResponseCertificateAuthority string
+
+const (
+	CertificatePackNewResponseCertificateAuthorityGoogle      CertificatePackNewResponseCertificateAuthority = "google"
+	CertificatePackNewResponseCertificateAuthorityLetsEncrypt CertificatePackNewResponseCertificateAuthority = "lets_encrypt"
+	CertificatePackNewResponseCertificateAuthoritySSLCom      CertificatePackNewResponseCertificateAuthority = "ssl_com"
+)
+
+func (r CertificatePackNewResponseCertificateAuthority) IsKnown() bool {
+	switch r {
+	case CertificatePackNewResponseCertificateAuthorityGoogle, CertificatePackNewResponseCertificateAuthorityLetsEncrypt, CertificatePackNewResponseCertificateAuthoritySSLCom:
+		return true
+	}
+	return false
+}
+
+// Type of certificate pack.
+type CertificatePackNewResponseType string
+
+const (
+	CertificatePackNewResponseTypeAdvanced CertificatePackNewResponseType = "advanced"
+)
+
+func (r CertificatePackNewResponseType) IsKnown() bool {
+	switch r {
+	case CertificatePackNewResponseTypeAdvanced:
+		return true
+	}
+	return false
+}
+
+// Validation Method selected for the order.
+type CertificatePackNewResponseValidationMethod string
+
+const (
+	CertificatePackNewResponseValidationMethodTXT   CertificatePackNewResponseValidationMethod = "txt"
+	CertificatePackNewResponseValidationMethodHTTP  CertificatePackNewResponseValidationMethod = "http"
+	CertificatePackNewResponseValidationMethodEmail CertificatePackNewResponseValidationMethod = "email"
+)
+
+func (r CertificatePackNewResponseValidationMethod) IsKnown() bool {
+	switch r {
+	case CertificatePackNewResponseValidationMethodTXT, CertificatePackNewResponseValidationMethodHTTP, CertificatePackNewResponseValidationMethodEmail:
+		return true
+	}
+	return false
+}
+
+// Validity Days selected for the order.
+type CertificatePackNewResponseValidityDays int64
+
+const (
+	CertificatePackNewResponseValidityDays14  CertificatePackNewResponseValidityDays = 14
+	CertificatePackNewResponseValidityDays30  CertificatePackNewResponseValidityDays = 30
+	CertificatePackNewResponseValidityDays90  CertificatePackNewResponseValidityDays = 90
+	CertificatePackNewResponseValidityDays365 CertificatePackNewResponseValidityDays = 365
+)
+
+func (r CertificatePackNewResponseValidityDays) IsKnown() bool {
+	switch r {
+	case CertificatePackNewResponseValidityDays14, CertificatePackNewResponseValidityDays30, CertificatePackNewResponseValidityDays90, CertificatePackNewResponseValidityDays365:
+		return true
+	}
+	return false
+}
+
 type CertificatePackListResponse = interface{}
 
 type CertificatePackDeleteResponse struct {
@@ -352,6 +483,143 @@ func (r CertificatePackEditResponseValidityDays) IsKnown() bool {
 
 type CertificatePackGetResponse = interface{}
 
+type CertificatePackNewParams struct {
+	// Identifier
+	ZoneID param.Field[string] `path:"zone_id,required"`
+	// Certificate Authority selected for the order. For information on any certificate
+	// authority specific details or restrictions
+	// [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities)
+	CertificateAuthority param.Field[CertificatePackNewParamsCertificateAuthority] `json:"certificate_authority,required"`
+	// Comma separated list of valid host names for the certificate packs. Must contain
+	// the zone apex, may not contain more than 50 hosts, and may not be empty.
+	Hosts param.Field[[]HostParam] `json:"hosts,required"`
+	// Type of certificate pack.
+	Type param.Field[CertificatePackNewParamsType] `json:"type,required"`
+	// Validation Method selected for the order.
+	ValidationMethod param.Field[CertificatePackNewParamsValidationMethod] `json:"validation_method,required"`
+	// Validity Days selected for the order.
+	ValidityDays param.Field[CertificatePackNewParamsValidityDays] `json:"validity_days,required"`
+	// Whether or not to add Cloudflare Branding for the order. This will add
+	// sni.cloudflaressl.com as the Common Name if set true.
+	CloudflareBranding param.Field[bool] `json:"cloudflare_branding"`
+}
+
+func (r CertificatePackNewParams) MarshalJSON() (data []byte, err error) {
+	return apijson.MarshalRoot(r)
+}
+
+// Certificate Authority selected for the order. For information on any certificate
+// authority specific details or restrictions
+// [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities)
+type CertificatePackNewParamsCertificateAuthority string
+
+const (
+	CertificatePackNewParamsCertificateAuthorityGoogle      CertificatePackNewParamsCertificateAuthority = "google"
+	CertificatePackNewParamsCertificateAuthorityLetsEncrypt CertificatePackNewParamsCertificateAuthority = "lets_encrypt"
+	CertificatePackNewParamsCertificateAuthoritySSLCom      CertificatePackNewParamsCertificateAuthority = "ssl_com"
+)
+
+func (r CertificatePackNewParamsCertificateAuthority) IsKnown() bool {
+	switch r {
+	case CertificatePackNewParamsCertificateAuthorityGoogle, CertificatePackNewParamsCertificateAuthorityLetsEncrypt, CertificatePackNewParamsCertificateAuthoritySSLCom:
+		return true
+	}
+	return false
+}
+
+// Type of certificate pack.
+type CertificatePackNewParamsType string
+
+const (
+	CertificatePackNewParamsTypeAdvanced CertificatePackNewParamsType = "advanced"
+)
+
+func (r CertificatePackNewParamsType) IsKnown() bool {
+	switch r {
+	case CertificatePackNewParamsTypeAdvanced:
+		return true
+	}
+	return false
+}
+
+// Validation Method selected for the order.
+type CertificatePackNewParamsValidationMethod string
+
+const (
+	CertificatePackNewParamsValidationMethodTXT   CertificatePackNewParamsValidationMethod = "txt"
+	CertificatePackNewParamsValidationMethodHTTP  CertificatePackNewParamsValidationMethod = "http"
+	CertificatePackNewParamsValidationMethodEmail CertificatePackNewParamsValidationMethod = "email"
+)
+
+func (r CertificatePackNewParamsValidationMethod) IsKnown() bool {
+	switch r {
+	case CertificatePackNewParamsValidationMethodTXT, CertificatePackNewParamsValidationMethodHTTP, CertificatePackNewParamsValidationMethodEmail:
+		return true
+	}
+	return false
+}
+
+// Validity Days selected for the order.
+type CertificatePackNewParamsValidityDays int64
+
+const (
+	CertificatePackNewParamsValidityDays14  CertificatePackNewParamsValidityDays = 14
+	CertificatePackNewParamsValidityDays30  CertificatePackNewParamsValidityDays = 30
+	CertificatePackNewParamsValidityDays90  CertificatePackNewParamsValidityDays = 90
+	CertificatePackNewParamsValidityDays365 CertificatePackNewParamsValidityDays = 365
+)
+
+func (r CertificatePackNewParamsValidityDays) IsKnown() bool {
+	switch r {
+	case CertificatePackNewParamsValidityDays14, CertificatePackNewParamsValidityDays30, CertificatePackNewParamsValidityDays90, CertificatePackNewParamsValidityDays365:
+		return true
+	}
+	return false
+}
+
+type CertificatePackNewResponseEnvelope struct {
+	Errors   []shared.ResponseInfo `json:"errors,required"`
+	Messages []shared.ResponseInfo `json:"messages,required"`
+	// Whether the API call was successful
+	Success CertificatePackNewResponseEnvelopeSuccess `json:"success,required"`
+	Result  CertificatePackNewResponse                `json:"result"`
+	JSON    certificatePackNewResponseEnvelopeJSON    `json:"-"`
+}
+
+// certificatePackNewResponseEnvelopeJSON contains the JSON metadata for the struct
+// [CertificatePackNewResponseEnvelope]
+type certificatePackNewResponseEnvelopeJSON struct {
+	Errors      apijson.Field
+	Messages    apijson.Field
+	Success     apijson.Field
+	Result      apijson.Field
+	raw         string
+	ExtraFields map[string]apijson.Field
+}
+
+func (r *CertificatePackNewResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
+	return apijson.UnmarshalRoot(data, r)
+}
+
+func (r certificatePackNewResponseEnvelopeJSON) RawJSON() string {
+	return r.raw
+}
+
+// Whether the API call was successful
+type CertificatePackNewResponseEnvelopeSuccess bool
+
+const (
+	CertificatePackNewResponseEnvelopeSuccessTrue CertificatePackNewResponseEnvelopeSuccess = true
+)
+
+func (r CertificatePackNewResponseEnvelopeSuccess) IsKnown() bool {
+	switch r {
+	case CertificatePackNewResponseEnvelopeSuccessTrue:
+		return true
+	}
+	return false
+}
+
 type CertificatePackListParams struct {
 	// Identifier
 	ZoneID param.Field[string] `path:"zone_id,required"`
diff --git a/ssl/certificatepackorder.go b/ssl/certificatepackorder.go
deleted file mode 100644
index 79ff7560f..000000000
--- a/ssl/certificatepackorder.go
+++ /dev/null
@@ -1,305 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package ssl
-
-import (
-	"context"
-	"errors"
-	"fmt"
-	"net/http"
-
-	"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
-	"github.com/cloudflare/cloudflare-go/v3/internal/param"
-	"github.com/cloudflare/cloudflare-go/v3/internal/requestconfig"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/shared"
-)
-
-// CertificatePackOrderService contains methods and other services that help with
-// interacting with the cloudflare API.
-//
-// Note, unlike clients, this service does not read variables from the environment
-// automatically. You should not instantiate this service directly, and instead use
-// the [NewCertificatePackOrderService] method instead.
-type CertificatePackOrderService struct {
-	Options []option.RequestOption
-}
-
-// NewCertificatePackOrderService generates a new service that applies the given
-// options to each request. These options are applied after the parent client's
-// options (if there is one), and before any request-specific options.
-func NewCertificatePackOrderService(opts ...option.RequestOption) (r *CertificatePackOrderService) {
-	r = &CertificatePackOrderService{}
-	r.Options = opts
-	return
-}
-
-// For a given zone, order an advanced certificate pack.
-func (r *CertificatePackOrderService) New(ctx context.Context, params CertificatePackOrderNewParams, opts ...option.RequestOption) (res *CertificatePackOrderNewResponse, err error) {
-	var env CertificatePackOrderNewResponseEnvelope
-	opts = append(r.Options[:], opts...)
-	if params.ZoneID.Value == "" {
-		err = errors.New("missing required zone_id parameter")
-		return
-	}
-	path := fmt.Sprintf("zones/%s/ssl/certificate_packs/order", params.ZoneID)
-	err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &env, opts...)
-	if err != nil {
-		return
-	}
-	res = &env.Result
-	return
-}
-
-type CertificatePackOrderNewResponse struct {
-	// Identifier
-	ID string `json:"id"`
-	// Certificate Authority selected for the order. For information on any certificate
-	// authority specific details or restrictions
-	// [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities)
-	CertificateAuthority CertificatePackOrderNewResponseCertificateAuthority `json:"certificate_authority"`
-	// Whether or not to add Cloudflare Branding for the order. This will add
-	// sni.cloudflaressl.com as the Common Name if set true.
-	CloudflareBranding bool `json:"cloudflare_branding"`
-	// Comma separated list of valid host names for the certificate packs. Must contain
-	// the zone apex, may not contain more than 50 hosts, and may not be empty.
-	Hosts []Host `json:"hosts"`
-	// Status of certificate pack.
-	Status Status `json:"status"`
-	// Type of certificate pack.
-	Type CertificatePackOrderNewResponseType `json:"type"`
-	// Validation Method selected for the order.
-	ValidationMethod CertificatePackOrderNewResponseValidationMethod `json:"validation_method"`
-	// Validity Days selected for the order.
-	ValidityDays CertificatePackOrderNewResponseValidityDays `json:"validity_days"`
-	JSON         certificatePackOrderNewResponseJSON         `json:"-"`
-}
-
-// certificatePackOrderNewResponseJSON contains the JSON metadata for the struct
-// [CertificatePackOrderNewResponse]
-type certificatePackOrderNewResponseJSON struct {
-	ID                   apijson.Field
-	CertificateAuthority apijson.Field
-	CloudflareBranding   apijson.Field
-	Hosts                apijson.Field
-	Status               apijson.Field
-	Type                 apijson.Field
-	ValidationMethod     apijson.Field
-	ValidityDays         apijson.Field
-	raw                  string
-	ExtraFields          map[string]apijson.Field
-}
-
-func (r *CertificatePackOrderNewResponse) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r certificatePackOrderNewResponseJSON) RawJSON() string {
-	return r.raw
-}
-
-// Certificate Authority selected for the order. For information on any certificate
-// authority specific details or restrictions
-// [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities)
-type CertificatePackOrderNewResponseCertificateAuthority string
-
-const (
-	CertificatePackOrderNewResponseCertificateAuthorityGoogle      CertificatePackOrderNewResponseCertificateAuthority = "google"
-	CertificatePackOrderNewResponseCertificateAuthorityLetsEncrypt CertificatePackOrderNewResponseCertificateAuthority = "lets_encrypt"
-	CertificatePackOrderNewResponseCertificateAuthoritySSLCom      CertificatePackOrderNewResponseCertificateAuthority = "ssl_com"
-)
-
-func (r CertificatePackOrderNewResponseCertificateAuthority) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewResponseCertificateAuthorityGoogle, CertificatePackOrderNewResponseCertificateAuthorityLetsEncrypt, CertificatePackOrderNewResponseCertificateAuthoritySSLCom:
-		return true
-	}
-	return false
-}
-
-// Type of certificate pack.
-type CertificatePackOrderNewResponseType string
-
-const (
-	CertificatePackOrderNewResponseTypeAdvanced CertificatePackOrderNewResponseType = "advanced"
-)
-
-func (r CertificatePackOrderNewResponseType) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewResponseTypeAdvanced:
-		return true
-	}
-	return false
-}
-
-// Validation Method selected for the order.
-type CertificatePackOrderNewResponseValidationMethod string
-
-const (
-	CertificatePackOrderNewResponseValidationMethodTXT   CertificatePackOrderNewResponseValidationMethod = "txt"
-	CertificatePackOrderNewResponseValidationMethodHTTP  CertificatePackOrderNewResponseValidationMethod = "http"
-	CertificatePackOrderNewResponseValidationMethodEmail CertificatePackOrderNewResponseValidationMethod = "email"
-)
-
-func (r CertificatePackOrderNewResponseValidationMethod) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewResponseValidationMethodTXT, CertificatePackOrderNewResponseValidationMethodHTTP, CertificatePackOrderNewResponseValidationMethodEmail:
-		return true
-	}
-	return false
-}
-
-// Validity Days selected for the order.
-type CertificatePackOrderNewResponseValidityDays int64
-
-const (
-	CertificatePackOrderNewResponseValidityDays14  CertificatePackOrderNewResponseValidityDays = 14
-	CertificatePackOrderNewResponseValidityDays30  CertificatePackOrderNewResponseValidityDays = 30
-	CertificatePackOrderNewResponseValidityDays90  CertificatePackOrderNewResponseValidityDays = 90
-	CertificatePackOrderNewResponseValidityDays365 CertificatePackOrderNewResponseValidityDays = 365
-)
-
-func (r CertificatePackOrderNewResponseValidityDays) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewResponseValidityDays14, CertificatePackOrderNewResponseValidityDays30, CertificatePackOrderNewResponseValidityDays90, CertificatePackOrderNewResponseValidityDays365:
-		return true
-	}
-	return false
-}
-
-type CertificatePackOrderNewParams struct {
-	// Identifier
-	ZoneID param.Field[string] `path:"zone_id,required"`
-	// Certificate Authority selected for the order. For information on any certificate
-	// authority specific details or restrictions
-	// [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities)
-	CertificateAuthority param.Field[CertificatePackOrderNewParamsCertificateAuthority] `json:"certificate_authority,required"`
-	// Comma separated list of valid host names for the certificate packs. Must contain
-	// the zone apex, may not contain more than 50 hosts, and may not be empty.
-	Hosts param.Field[[]HostParam] `json:"hosts,required"`
-	// Type of certificate pack.
-	Type param.Field[CertificatePackOrderNewParamsType] `json:"type,required"`
-	// Validation Method selected for the order.
-	ValidationMethod param.Field[CertificatePackOrderNewParamsValidationMethod] `json:"validation_method,required"`
-	// Validity Days selected for the order.
-	ValidityDays param.Field[CertificatePackOrderNewParamsValidityDays] `json:"validity_days,required"`
-	// Whether or not to add Cloudflare Branding for the order. This will add
-	// sni.cloudflaressl.com as the Common Name if set true.
-	CloudflareBranding param.Field[bool] `json:"cloudflare_branding"`
-}
-
-func (r CertificatePackOrderNewParams) MarshalJSON() (data []byte, err error) {
-	return apijson.MarshalRoot(r)
-}
-
-// Certificate Authority selected for the order. For information on any certificate
-// authority specific details or restrictions
-// [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities)
-type CertificatePackOrderNewParamsCertificateAuthority string
-
-const (
-	CertificatePackOrderNewParamsCertificateAuthorityGoogle      CertificatePackOrderNewParamsCertificateAuthority = "google"
-	CertificatePackOrderNewParamsCertificateAuthorityLetsEncrypt CertificatePackOrderNewParamsCertificateAuthority = "lets_encrypt"
-	CertificatePackOrderNewParamsCertificateAuthoritySSLCom      CertificatePackOrderNewParamsCertificateAuthority = "ssl_com"
-)
-
-func (r CertificatePackOrderNewParamsCertificateAuthority) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewParamsCertificateAuthorityGoogle, CertificatePackOrderNewParamsCertificateAuthorityLetsEncrypt, CertificatePackOrderNewParamsCertificateAuthoritySSLCom:
-		return true
-	}
-	return false
-}
-
-// Type of certificate pack.
-type CertificatePackOrderNewParamsType string
-
-const (
-	CertificatePackOrderNewParamsTypeAdvanced CertificatePackOrderNewParamsType = "advanced"
-)
-
-func (r CertificatePackOrderNewParamsType) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewParamsTypeAdvanced:
-		return true
-	}
-	return false
-}
-
-// Validation Method selected for the order.
-type CertificatePackOrderNewParamsValidationMethod string
-
-const (
-	CertificatePackOrderNewParamsValidationMethodTXT   CertificatePackOrderNewParamsValidationMethod = "txt"
-	CertificatePackOrderNewParamsValidationMethodHTTP  CertificatePackOrderNewParamsValidationMethod = "http"
-	CertificatePackOrderNewParamsValidationMethodEmail CertificatePackOrderNewParamsValidationMethod = "email"
-)
-
-func (r CertificatePackOrderNewParamsValidationMethod) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewParamsValidationMethodTXT, CertificatePackOrderNewParamsValidationMethodHTTP, CertificatePackOrderNewParamsValidationMethodEmail:
-		return true
-	}
-	return false
-}
-
-// Validity Days selected for the order.
-type CertificatePackOrderNewParamsValidityDays int64
-
-const (
-	CertificatePackOrderNewParamsValidityDays14  CertificatePackOrderNewParamsValidityDays = 14
-	CertificatePackOrderNewParamsValidityDays30  CertificatePackOrderNewParamsValidityDays = 30
-	CertificatePackOrderNewParamsValidityDays90  CertificatePackOrderNewParamsValidityDays = 90
-	CertificatePackOrderNewParamsValidityDays365 CertificatePackOrderNewParamsValidityDays = 365
-)
-
-func (r CertificatePackOrderNewParamsValidityDays) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewParamsValidityDays14, CertificatePackOrderNewParamsValidityDays30, CertificatePackOrderNewParamsValidityDays90, CertificatePackOrderNewParamsValidityDays365:
-		return true
-	}
-	return false
-}
-
-type CertificatePackOrderNewResponseEnvelope struct {
-	Errors   []shared.ResponseInfo `json:"errors,required"`
-	Messages []shared.ResponseInfo `json:"messages,required"`
-	// Whether the API call was successful
-	Success CertificatePackOrderNewResponseEnvelopeSuccess `json:"success,required"`
-	Result  CertificatePackOrderNewResponse                `json:"result"`
-	JSON    certificatePackOrderNewResponseEnvelopeJSON    `json:"-"`
-}
-
-// certificatePackOrderNewResponseEnvelopeJSON contains the JSON metadata for the
-// struct [CertificatePackOrderNewResponseEnvelope]
-type certificatePackOrderNewResponseEnvelopeJSON struct {
-	Errors      apijson.Field
-	Messages    apijson.Field
-	Success     apijson.Field
-	Result      apijson.Field
-	raw         string
-	ExtraFields map[string]apijson.Field
-}
-
-func (r *CertificatePackOrderNewResponseEnvelope) UnmarshalJSON(data []byte) (err error) {
-	return apijson.UnmarshalRoot(data, r)
-}
-
-func (r certificatePackOrderNewResponseEnvelopeJSON) RawJSON() string {
-	return r.raw
-}
-
-// Whether the API call was successful
-type CertificatePackOrderNewResponseEnvelopeSuccess bool
-
-const (
-	CertificatePackOrderNewResponseEnvelopeSuccessTrue CertificatePackOrderNewResponseEnvelopeSuccess = true
-)
-
-func (r CertificatePackOrderNewResponseEnvelopeSuccess) IsKnown() bool {
-	switch r {
-	case CertificatePackOrderNewResponseEnvelopeSuccessTrue:
-		return true
-	}
-	return false
-}


Test patch:
diff --git a/r2/domaincustom_test.go b/r2/domaincustom_test.go
deleted file mode 100644
index 4f2ea3b79..000000000
--- a/r2/domaincustom_test.go
+++ /dev/null
@@ -1,174 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2_test
-
-import (
-	"context"
-	"errors"
-	"os"
-	"testing"
-
-	"github.com/cloudflare/cloudflare-go/v3"
-	"github.com/cloudflare/cloudflare-go/v3/internal/testutil"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/r2"
-)
-
-func TestDomainCustomNewWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Domains.Custom.New(
-		context.TODO(),
-		"example-bucket",
-		r2.DomainCustomNewParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			Domain:           cloudflare.F("prefix.example-domain.com"),
-			ZoneID:           cloudflare.F("36ca64a6d92827b8a6b90be344bb1bfd"),
-			Enabled:          cloudflare.F(true),
-			MinTLS:           cloudflare.F(r2.DomainCustomNewParamsMinTLS1_0),
-			CfR2Jurisdiction: cloudflare.F(r2.DomainCustomNewParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
-
-func TestDomainCustomUpdateWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Domains.Custom.Update(
-		context.TODO(),
-		"example-bucket",
-		"example-domain/custom-domain.com",
-		r2.DomainCustomUpdateParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			Enabled:          cloudflare.F(true),
-			MinTLS:           cloudflare.F(r2.DomainCustomUpdateParamsMinTLS1_0),
-			CfR2Jurisdiction: cloudflare.F(r2.DomainCustomUpdateParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
-
-func TestDomainCustomListWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Domains.Custom.List(
-		context.TODO(),
-		"example-bucket",
-		r2.DomainCustomListParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			CfR2Jurisdiction: cloudflare.F(r2.DomainCustomListParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
-
-func TestDomainCustomDeleteWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Domains.Custom.Delete(
-		context.TODO(),
-		"example-bucket",
-		"example-domain/custom-domain.com",
-		r2.DomainCustomDeleteParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			CfR2Jurisdiction: cloudflare.F(r2.DomainCustomDeleteParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
-
-func TestDomainCustomGetWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Domains.Custom.Get(
-		context.TODO(),
-		"example-bucket",
-		"example-domain/custom-domain.com",
-		r2.DomainCustomGetParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			CfR2Jurisdiction: cloudflare.F(r2.DomainCustomGetParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
diff --git a/r2/domainmanaged_test.go b/r2/domainmanaged_test.go
deleted file mode 100644
index 907fb4cbf..000000000
--- a/r2/domainmanaged_test.go
+++ /dev/null
@@ -1,76 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2_test
-
-import (
-	"context"
-	"errors"
-	"os"
-	"testing"
-
-	"github.com/cloudflare/cloudflare-go/v3"
-	"github.com/cloudflare/cloudflare-go/v3/internal/testutil"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/r2"
-)
-
-func TestDomainManagedUpdateWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Domains.Managed.Update(
-		context.TODO(),
-		"example-bucket",
-		r2.DomainManagedUpdateParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			Enabled:          cloudflare.F(true),
-			CfR2Jurisdiction: cloudflare.F(r2.DomainManagedUpdateParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
-
-func TestDomainManagedListWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Domains.Managed.List(
-		context.TODO(),
-		"example-bucket",
-		r2.DomainManagedListParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			CfR2Jurisdiction: cloudflare.F(r2.DomainManagedListParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
diff --git a/r2/eventnotificationconfiguration_test.go b/r2/eventnotificationconfiguration_test.go
deleted file mode 100644
index 69eefb535..000000000
--- a/r2/eventnotificationconfiguration_test.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2_test
-
-import (
-	"context"
-	"errors"
-	"os"
-	"testing"
-
-	"github.com/cloudflare/cloudflare-go/v3"
-	"github.com/cloudflare/cloudflare-go/v3/internal/testutil"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/r2"
-)
-
-func TestEventNotificationConfigurationGetWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.EventNotifications.Configuration.Get(
-		context.TODO(),
-		"example-bucket",
-		r2.EventNotificationConfigurationGetParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			CfR2Jurisdiction: cloudflare.F(r2.EventNotificationConfigurationGetParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
diff --git a/r2/eventnotificationconfigurationqueue_test.go b/r2/eventnotificationconfigurationqueue_test.go
deleted file mode 100644
index 8a6358a1d..000000000
--- a/r2/eventnotificationconfigurationqueue_test.go
+++ /dev/null
@@ -1,93 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2_test
-
-import (
-	"context"
-	"errors"
-	"os"
-	"testing"
-
-	"github.com/cloudflare/cloudflare-go/v3"
-	"github.com/cloudflare/cloudflare-go/v3/internal/testutil"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/r2"
-)
-
-func TestEventNotificationConfigurationQueueUpdateWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.EventNotifications.Configuration.Queues.Update(
-		context.TODO(),
-		"example-bucket",
-		"queue_id",
-		r2.EventNotificationConfigurationQueueUpdateParams{
-			AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			Rules: cloudflare.F([]r2.EventNotificationConfigurationQueueUpdateParamsRule{{
-				Actions:     cloudflare.F([]r2.EventNotificationConfigurationQueueUpdateParamsRulesAction{r2.EventNotificationConfigurationQueueUpdateParamsRulesActionPutObject, r2.EventNotificationConfigurationQueueUpdateParamsRulesActionCopyObject}),
-				Description: cloudflare.F("Notifications from source bucket to queue"),
-				Prefix:      cloudflare.F("img/"),
-				Suffix:      cloudflare.F(".jpeg"),
-			}, {
-				Actions:     cloudflare.F([]r2.EventNotificationConfigurationQueueUpdateParamsRulesAction{r2.EventNotificationConfigurationQueueUpdateParamsRulesActionPutObject, r2.EventNotificationConfigurationQueueUpdateParamsRulesActionCopyObject}),
-				Description: cloudflare.F("Notifications from source bucket to queue"),
-				Prefix:      cloudflare.F("img/"),
-				Suffix:      cloudflare.F(".jpeg"),
-			}, {
-				Actions:     cloudflare.F([]r2.EventNotificationConfigurationQueueUpdateParamsRulesAction{r2.EventNotificationConfigurationQueueUpdateParamsRulesActionPutObject, r2.EventNotificationConfigurationQueueUpdateParamsRulesActionCopyObject}),
-				Description: cloudflare.F("Notifications from source bucket to queue"),
-				Prefix:      cloudflare.F("img/"),
-				Suffix:      cloudflare.F(".jpeg"),
-			}}),
-			CfR2Jurisdiction: cloudflare.F(r2.EventNotificationConfigurationQueueUpdateParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
-
-func TestEventNotificationConfigurationQueueDeleteWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.EventNotifications.Configuration.Queues.Delete(
-		context.TODO(),
-		"example-bucket",
-		"queue_id",
-		r2.EventNotificationConfigurationQueueDeleteParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			CfR2Jurisdiction: cloudflare.F(r2.EventNotificationConfigurationQueueDeleteParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
diff --git a/r2/sippy_test.go b/r2/sippy_test.go
deleted file mode 100644
index 3d920a79b..000000000
--- a/r2/sippy_test.go
+++ /dev/null
@@ -1,119 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package r2_test
-
-import (
-	"context"
-	"errors"
-	"os"
-	"testing"
-
-	"github.com/cloudflare/cloudflare-go/v3"
-	"github.com/cloudflare/cloudflare-go/v3/internal/testutil"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/r2"
-)
-
-func TestSippyUpdateWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Sippy.Update(
-		context.TODO(),
-		"example-bucket",
-		r2.SippyUpdateParams{
-			AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			Body: r2.SippyUpdateParamsBodyR2EnableSippyAws{
-				Destination: cloudflare.F(r2.SippyUpdateParamsBodyR2EnableSippyAwsDestination{
-					AccessKeyID:     cloudflare.F("accessKeyId"),
-					Provider:        cloudflare.F(r2.ProviderR2),
-					SecretAccessKey: cloudflare.F("secretAccessKey"),
-				}),
-				Source: cloudflare.F(r2.SippyUpdateParamsBodyR2EnableSippyAwsSource{
-					AccessKeyID:     cloudflare.F("accessKeyId"),
-					Bucket:          cloudflare.F("bucket"),
-					Provider:        cloudflare.F(r2.SippyUpdateParamsBodyR2EnableSippyAwsSourceProviderAws),
-					Region:          cloudflare.F("region"),
-					SecretAccessKey: cloudflare.F("secretAccessKey"),
-				}),
-			},
-			CfR2Jurisdiction: cloudflare.F(r2.SippyUpdateParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
-
-func TestSippyDeleteWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Sippy.Delete(
-		context.TODO(),
-		"example-bucket",
-		r2.SippyDeleteParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			CfR2Jurisdiction: cloudflare.F(r2.SippyDeleteParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
-
-func TestSippyGetWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.R2.Sippy.Get(
-		context.TODO(),
-		"example-bucket",
-		r2.SippyGetParams{
-			AccountID:        cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-			CfR2Jurisdiction: cloudflare.F(r2.SippyGetParamsCfR2JurisdictionDefault),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
diff --git a/rulesets/versionbytag_test.go b/rulesets/versionbytag_test.go
deleted file mode 100644
index 478829e71..000000000
--- a/rulesets/versionbytag_test.go
+++ /dev/null
@@ -1,46 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package rulesets_test
-
-import (
-	"context"
-	"errors"
-	"os"
-	"testing"
-
-	"github.com/cloudflare/cloudflare-go/v3"
-	"github.com/cloudflare/cloudflare-go/v3/internal/testutil"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/rulesets"
-)
-
-func TestVersionByTagGet(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.Rulesets.Versions.ByTag.Get(
-		context.TODO(),
-		"2f2feab2026849078ba485f918791bdc",
-		"1",
-		"directory-traversal",
-		rulesets.VersionByTagGetParams{
-			AccountID: cloudflare.F("abf9b32d38c5f572afde3336ec0ce302"),
-		},
-	)
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}
diff --git a/ssl/certificatepack_test.go b/ssl/certificatepack_test.go
index 6852d8f17..9cd7fedbc 100644
--- a/ssl/certificatepack_test.go
+++ b/ssl/certificatepack_test.go
@@ -14,6 +14,37 @@ import (
 	"github.com/cloudflare/cloudflare-go/v3/ssl"
 )
 
+func TestCertificatePackNewWithOptionalParams(t *testing.T) {
+	baseURL := "http://localhost:4010"
+	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
+		baseURL = envURL
+	}
+	if !testutil.CheckTestServer(t, baseURL) {
+		return
+	}
+	client := cloudflare.NewClient(
+		option.WithBaseURL(baseURL),
+		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
+		option.WithAPIEmail("user@example.com"),
+	)
+	_, err := client.SSL.CertificatePacks.New(context.TODO(), ssl.CertificatePackNewParams{
+		ZoneID:               cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
+		CertificateAuthority: cloudflare.F(ssl.CertificatePackNewParamsCertificateAuthorityGoogle),
+		Hosts:                cloudflare.F([]ssl.HostParam{"example.com", "*.example.com", "www.example.com"}),
+		Type:                 cloudflare.F(ssl.CertificatePackNewParamsTypeAdvanced),
+		ValidationMethod:     cloudflare.F(ssl.CertificatePackNewParamsValidationMethodTXT),
+		ValidityDays:         cloudflare.F(ssl.CertificatePackNewParamsValidityDays14),
+		CloudflareBranding:   cloudflare.F(false),
+	})
+	if err != nil {
+		var apierr *cloudflare.Error
+		if errors.As(err, &apierr) {
+			t.Log(string(apierr.DumpRequest(true)))
+		}
+		t.Fatalf("err should be nil: %s", err.Error())
+	}
+}
+
 func TestCertificatePackListWithOptionalParams(t *testing.T) {
 	baseURL := "http://localhost:4010"
 	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
diff --git a/ssl/certificatepackorder_test.go b/ssl/certificatepackorder_test.go
deleted file mode 100644
index a402f2f3a..000000000
--- a/ssl/certificatepackorder_test.go
+++ /dev/null
@@ -1,46 +0,0 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-package ssl_test
-
-import (
-	"context"
-	"errors"
-	"os"
-	"testing"
-
-	"github.com/cloudflare/cloudflare-go/v3"
-	"github.com/cloudflare/cloudflare-go/v3/internal/testutil"
-	"github.com/cloudflare/cloudflare-go/v3/option"
-	"github.com/cloudflare/cloudflare-go/v3/ssl"
-)
-
-func TestCertificatePackOrderNewWithOptionalParams(t *testing.T) {
-	baseURL := "http://localhost:4010"
-	if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
-		baseURL = envURL
-	}
-	if !testutil.CheckTestServer(t, baseURL) {
-		return
-	}
-	client := cloudflare.NewClient(
-		option.WithBaseURL(baseURL),
-		option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
-		option.WithAPIEmail("user@example.com"),
-	)
-	_, err := client.SSL.CertificatePacks.Order.New(context.TODO(), ssl.CertificatePackOrderNewParams{
-		ZoneID:               cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
-		CertificateAuthority: cloudflare.F(ssl.CertificatePackOrderNewParamsCertificateAuthorityGoogle),
-		Hosts:                cloudflare.F([]ssl.HostParam{"example.com", "*.example.com", "www.example.com"}),
-		Type:                 cloudflare.F(ssl.CertificatePackOrderNewParamsTypeAdvanced),
-		ValidationMethod:     cloudflare.F(ssl.CertificatePackOrderNewParamsValidationMethodTXT),
-		ValidityDays:         cloudflare.F(ssl.CertificatePackOrderNewParamsValidityDays14),
-		CloudflareBranding:   cloudflare.F(false),
-	})
-	if err != nil {
-		var apierr *cloudflare.Error
-		if errors.As(err, &apierr) {
-			t.Log(string(apierr.DumpRequest(true)))
-		}
-		t.Fatalf("err should be nil: %s", err.Error())
-	}
-}